Procházet zdrojové kódy

* Fix portability for symbol generating

Bryan Drewery před 14 roky
rodič
revize
9c0392c401
2 změnil soubory, kde provedl 10 přidání a 6 odebrání
  1. 3 3
      src/generate_defs.sh
  2. 7 3
      src/generate_symbol.sh

+ 3 - 3
src/generate_defs.sh

@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
 
 if [ -z "$SED" -o -z "$CXX" ]; then
   echo "This must be ran by configure" >&2
@@ -26,11 +26,11 @@ for file in $(grep -l DLSYM_GLOBAL src/*.c|grep -v "src/_"); do
   echo "extern \"C\" {" > $defsFile_wrappers
   echo "extern \"C\" {" > $defsFile_post
   touch $defsFile_pre
-  pushd src >/dev/null 2>&1
+  cd src >/dev/null 2>&1
   $CXX -E -I. -I.. -I../lib ${INCLUDES} -DHAVE_CONFIG_H ../${file} > $TMPFILE
   # Fix wrapped prototypes
   $SED -i -e ':a;N;$!ba;s/,\n/,/g' $TMPFILE
-  popd >/dev/null 2>&1
+  cd .. >/dev/null 2>&1
 
   for symbol in $($SED -n -e 's/.*DLSYM_GLOBAL(.*, \([^)]*\).*/\1/p' $file|sort -u); do
     echo "#define ${symbol} ORIGINAL_SYMBOL_${symbol}" >> $defsFile_pre

+ 7 - 3
src/generate_symbol.sh

@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
 
 # X="typedef int (*Tcl_Eval_t)(Tcl_Interp*, const char*);"
 
@@ -12,10 +12,13 @@ while read line; do
   params_full=""
   param_names=""
 
+  # Set params to $1,$2, etc
   set $params
   paramCount=$#
+  lastParam=$(expr $paramCount - 1)
+  i=0
 
-  for (( i=0; i < $paramCount; i++)); do
+  while [ $i -lt $paramCount ]; do
     x="x${i}"
     if [ $1 = "void" ]; then
       params_full="void"
@@ -23,12 +26,13 @@ while read line; do
     else
       params_full="${params_full}${1} ${x}"
       param_names="${param_names}${x}"
-      if ! [[ $i = $(expr $paramCount - 1) ]]; then
+      if [ $i -ne $lastParam ]; then
         params_full="${params_full},"
         param_names="${param_names}, "
       fi
     fi
     shift
+    i=$((i + 1))
   done
 
   cat << EOF