about summary refs log tree commit diff
path: root/Src/makepro.awk
diff options
context:
space:
mode:
Diffstat (limited to 'Src/makepro.awk')
-rw-r--r--Src/makepro.awk7
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/)