diff options
Diffstat (limited to 'Src/makepro.awk')
-rw-r--r-- | Src/makepro.awk | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Src/makepro.awk b/Src/makepro.awk index 98167fcad..350b2f9c8 100644 --- a/Src/makepro.awk +++ b/Src/makepro.awk @@ -77,13 +77,14 @@ BEGIN { break } sub(/^ */, "", line) - match(line, /^((const|enum|static|struct|union) +)*([_0-9A-Za-z]+ +|((char|double|float|int|long|short|unsigned|void) +)+)((const|static) +)*/) + match(line, /^((const|enum|mod_export|static|struct|union) +)*([_0-9A-Za-z]+ +|((char|double|float|int|long|short|unsigned|void) +)+)((const|static) +)*/) dtype = substr(line, 1, RLENGTH) sub(/ *$/, "", dtype) if(" " dtype " " ~ / static /) locality = "L" else locality = "E" + exported = " " dtype " " ~ / mod_export / line = substr(line, RLENGTH+1) "," # Handle each declarator. while(match(line, /^[^,]*,/)) { @@ -117,6 +118,10 @@ BEGIN { printf "%s# endif\n", locality } + # If this is exported, add it to the exported symbol list. + if(exported) + printf "X%s\n", dnam + # Format the declaration for output dcl = dtype " " dcltor ";" if(locality ~ /E/) |