summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/print_include.awk6
-rw-r--r--configure.in2
-rw-r--r--genif.sh15
3 files changed, 14 insertions, 9 deletions
diff --git a/build/print_include.awk b/build/print_include.awk
new file mode 100644
index 0000000000..508ed4c6ad
--- /dev/null
+++ b/build/print_include.awk
@@ -0,0 +1,6 @@
+/phpext_/ {
+ if (old_filename != FILENAME) {
+ printf "#include \"" FILENAME "\"\\\\n"
+ old_filename = FILENAME
+ }
+}
diff --git a/configure.in b/configure.in
index ab578bc3b2..aefa87c7f9 100644
--- a/configure.in
+++ b/configure.in
@@ -865,7 +865,7 @@ if test -n "\$REDO_ALL"; then
echo "creating main/internal_functions.c"
extensions=\`grep '^s.@EXT_STATIC@' \$0|sed -e 's/^.*@% *//' -e 's/%.*$//'\`
dnl mv -f main/internal_functions.c main/internal_functions.c.old 2>/dev/null
- sh $srcdir/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" \$extensions > main/internal_functions.c
+ sh $srcdir/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$extensions > main/internal_functions.c
dnl if cmp main/internal_functions.c.old main/internal_functions.c > /dev/null 2>&1; then
dnl echo "main/internal_functions.c is unchanged"
dnl mv main/internal_functions.c.old main/internal_functions.c
diff --git a/genif.sh b/genif.sh
index 968250f439..9f9dcd6ada 100644
--- a/genif.sh
+++ b/genif.sh
@@ -1,6 +1,6 @@
#! /bin/sh
-# $Id: genif.sh,v 1.9 2000-06-27 16:22:26 sas Exp $
+# $Id: genif.sh,v 1.10 2000-12-20 16:29:07 sas Exp $
# replacement for genif.pl
infile="$1"
@@ -9,6 +9,8 @@ srcdir="$1"
shift
extra_module_ptrs="$1"
shift
+awk="$1"
+shift
if test "$infile" = "" -o "$srcdir" = ""; then
echo "please supply infile and srcdir"
@@ -16,20 +18,17 @@ if test "$infile" = "" -o "$srcdir" = ""; then
fi
module_ptrs="$extra_module_ptrs"
-includes=""
-
+header_list=""
olddir=`pwd`
cd $srcdir
for ext in ${1+"$@"} ; do
module_ptrs=" phpext_${ext}_ptr,\\\n$module_ptrs"
- for header in ext/$ext/*.h ; do
- if grep phpext_ $header >/dev/null 2>&1 ; then
- includes="#include \"$header\"\\\n$includes"
- fi
- done
+ header_list="$header_list ext/$ext/*.h"
done
+includes=`$awk -f $srcdir/build/print_include.awk $header_list`
+
cd $olddir
cat $infile | \