~thopiekar/emgd/xserver-xorg-github_community

« back to all changes in this revision

Viewing changes to hw/xfree86/loader/sdksyms.sh

  • Committer: Thomas-Karl Pietrowski
  • Date: 2015-10-12 11:31:48 UTC
  • Revision ID: git-v1:92adf04ca14d1b6585ceda914f51563794446107
Making additional fixes for sdksyms.sh
* Applying the GCC5 fix was not enough. Had to sync some lines from upstream to make it work completely.

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
 
45
45
 
46
46
/* Xext/Makefile.am -- half is module, half is builtin */
47
 
/*
 
47
#ifdef XV
48
48
#include "xvdix.h"
49
49
#include "xvmcext.h"
50
 
 */
 
50
#endif
51
51
#include "geext.h"
52
52
#include "geint.h"
53
53
#include "shmint.h"
90
90
 
91
91
 
92
92
/* hw/xfree86/dri2/Makefile.am -- module */
93
 
/*
 
93
/* Does not exist here
94
94
#if DRI2
95
95
# include "dri2.h"
96
96
#endif
241
241
 
242
242
/* dbe/Makefile.am -- module */
243
243
/*
 
244
#ifdef DBE
244
245
#include "dbestruct.h"
 
246
#endif
245
247
 */
246
248
 
247
249
 
345
347
    if (sdk && $3 ~ /\.h"$/) {
346
348
        # remove quotes
347
349
        gsub(/"/, "", $3);
 
350
        line = $2;
 
351
        header = $3;
348
352
        if (! headers[$3]) {
349
353
            printf(" \\\n  %s", $3) >> "sdksyms.dep";
350
354
            headers[$3] = 1;
351
355
        }
352
356
    }
 
357
    next;
353
358
}
354
359
 
355
360
/^extern[       ]/  {
356
361
    if (sdk) {
357
362
        n = 3;
358
 
        # skip line numbers GCC 5 adds before __attribute__
359
 
        while ($n == "" || $0 ~ /^# [0-9]+ "/) {
360
 
            getline;
361
 
            n = 1;
362
 
        }
 
363
 
 
364
        # skip line numbers GCC 5 adds before __attribute__
 
365
        while ($n == "" || $0 ~ /^# [0-9]+ "/) {
 
366
           getline;
 
367
           n = 1;
 
368
        }
363
369
 
364
370
        # skip attribute, if any
365
371
        while ($n ~ /^(__attribute__|__global)/ ||
366
372
            # skip modifiers, if any
367
373
            $n ~ /^\*?(unsigned|const|volatile|struct)$/ ||
368
374
            # skip pointer
369
 
            $n ~ /\*$/) {
 
375
            $n ~ /^[a-zA-Z0-9_]*\*$/) {
370
376
            n++;
371
 
            # skip line numbers GCC 5 adds after __attribute__
 
377
            # skip line numbers GCC 5 adds after __attribute__
372
378
            while ($n == "" || $0 ~ /^# [0-9]+ "/) {
373
379
               getline;
374
380
               n = 1;
375
381
            }
376
 
        }
 
382
        }
377
383
 
378
384
        # type specifier may not be set, as in
379
385
        #   extern _X_EXPORT unsigned name(...)
380
386
        if ($n !~ /[^a-zA-Z0-9_]/)
381
387
            n++;
382
388
 
 
389
        # go back if we are at the parameter list already
 
390
        if ($n ~ /^[(]([^*].*)?$/)
 
391
            n--;
 
392
 
383
393
        # match
384
394
        #    extern _X_EXPORT type (* name[])(...)
385
395
        if ($n ~ /^[^a-zA-Z0-9_]+$/)
397
407
        if ($n == "" || $n ~ /^\*+$/) {
398
408
            getline;
399
409
            n = 1;
 
410
            # indent may have inserted a blank link
 
411
            if ($0 == "")
 
412
                getline;
400
413
        }
401
414
 
402
415
        # dont modify $0 or $n
409
422
        sub(/[^a-zA-Z0-9_].*/, "", symbol);
410
423
 
411
424
        #print;
412
 
        printf("    (void *) &%s,\n", symbol);
 
425
        printf("    (void *) &%-50s /* %s:%s */\n", symbol ",", header, line);
413
426
    }
414
427
}
415
428
 
 
429
{
 
430
    line++;
 
431
}
 
432
 
416
433
END {
417
434
    print("};");
418
435