Bladeren bron

Fix generate_defs.sh to respect sections such as #ifdef USE_SCRIPT_TCL.

This fixes showing warnings about missing symbols when the
feature is not even enabled.
Bryan Drewery 11 jaren geleden
bovenliggende
commit
14a4972832
2 gewijzigde bestanden met toevoegingen van 7 en 2 verwijderingen
  1. 4 0
      src/dl.h
  2. 3 2
      src/generate_defs.sh

+ 4 - 0
src/dl.h

@@ -32,4 +32,8 @@
 
 extern bd::HashTable<bd::String, FunctionPtr> dl_symbol_table;
 
+#ifdef GENERATE_DEFS
+#undef DLSYM_GLOBAL
+#endif
+
 #endif /* !_DL_H_ */

+ 3 - 2
src/generate_defs.sh

@@ -13,6 +13,7 @@ INCLUDES="${TCL_INCLUDES} ${SSL_INCLUDES}"
 mkdir -p src/.defs > /dev/null 2>&1
 TMPFILE=$(mktemp "/tmp/pre.XXXXXX")
 files=$(grep -l DLSYM_GLOBAL src/*.cc|grep -v "src/_")
+
 for file in ${files}; do
   suffix=${file##*.}
   basename=${file%%.*}
@@ -44,14 +45,14 @@ for file in ${files}; do
   echo "extern \"C\" {" > $defsFile_post
 
   cd src >/dev/null 2>&1
-  $CXX -E -I. -I.. -I../lib ${INCLUDES} -DHAVE_CONFIG_H ../${file} > $TMPFILE
+  $CXX -E -I. -I.. -I../lib ${INCLUDES} -DHAVE_CONFIG_H -DGENERATE_DEFS ../${file} > $TMPFILE
   # Fix wrapped prototypes
   $SED -e :a -e N -e '$!ba' -e 's/,\n/,/g' $TMPFILE > $TMPFILE.sed
   mv $TMPFILE.sed $TMPFILE
 
   cd .. >/dev/null 2>&1
 
-  for symbol in $($SED -n -e 's/.*DLSYM_GLOBAL(.*, \([^)]*\).*/\1/p' $file|sort -u); do
+  for symbol in $($SED -n -e 's/.*DLSYM_GLOBAL(.*, \([^)]*\).*/\1/p' $TMPFILE|sort -u); do
     # Check if the typedef is already defined ...
     typedef=$(grep "^typedef .*(\*${symbol}_t)" ${dirname}/${basename}.h)
     # ... if not, generate it