jim 97/08/10 13:18:50
Modified: src Configure
Log:
Adjust some code layout to have TestCompile work a bit better. Also,
[ -e ... ] isn't generic, so use [ -f ... ] instead.
Revision Changes Path
1.128 +31 -46 apachen/src/Configure
Index: Configure
===================================================================
RCS file: /export/home/cvs/apachen/src/Configure,v
retrieving revision 1.127
retrieving revision 1.128
diff -u -r1.127 -r1.128
--- Configure 1997/08/10 13:29:06 1.127
+++ Configure 1997/08/10 20:18:49 1.128
@@ -1,5 +1,5 @@
#!/bin/sh
-trap 'rm -f $tmpfile; exit' 0 1 2 3 15
+trap 'rm -f $tmpfile $tmpfile.2 $tmpfile.3; exit' 0 1 2 3 15
# Apache configuration script, first cut --- rst.
# Dont like it? Inspired to do something better? Go for it.
@@ -25,6 +25,7 @@
tmpfile2=$tmpfile.2
tmpfile3=$tmpfile.3
makefile_tmpl=Makefile.tmpl
+SRCDIR=`pwd`
####################################################################
## Now handle any arguments, which, for now, are -file and -make
@@ -70,6 +71,8 @@
sed 's/[ ]*$//' | \
sed 's/[ ]*=[ ]*/=/' | \
sed 's/^Rule[ ]*/##Rule:/' | \
+ sed 's/^[ ]*AddModule/AddModule/' | \
+ sed 's/^[ ]*%AddModule/%AddModule/' | \
sed 's/^[ ]*Module/Module/' | \
sed 's/^[ ]*%Module/%Module/' > $tmpfile
@@ -85,8 +88,9 @@
echo "Syntax error --- The configuration file is used only to"
echo "define the list of included modules or to set Makefile"
echo "options or Configure rules, and I don't see that at all:"
- egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' $tmpfile |
\
- grep -v =
+ egrep -v '^%?Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' $tmpfile \
+ | egrep -v '^%?AddModule[ ]+[^ ]+$' \
+ | grep -v =
exit 1
fi
@@ -500,7 +504,6 @@
####################################################################
# Show user what OS we came up with
#
-SRCDIR=`pwd`
echo " + configured for $OS platform"
####################################################################
@@ -567,7 +570,6 @@
# are going to use. This is easy, since this can be gleamed from
# Makefile.config
#
-TCC=`egrep '^CC=' Makefile.config | tail -1 | awk -F= '{print $2}'`
case "$OS" in
'ULTRIX')
if [ "$TCC" = "cc" ]; then
@@ -606,31 +608,9 @@
# Now we do some general checks and some intelligent Configuration
# control.
-####################################################################
-# Continue building Makefile.config. We can add all flags with
-# the exception of LIBS at this point
#
-####################################################################
-# Use TestCompile to see if $(CC) is ANSI and as a "final" sanity
-# check
-#
-echo " + doing sanity check on compiler and options"
-if ./helpers/TestCompile ansi; then
- :
-else
- echo "** A test compilation with your Makefile configuration"
- echo "** failed. This is most likely because your C compiler"
- echo "** is not ANSI. Apache requires an ANSI C Compiler, such"
- echo "** as gcc. The above error message from your compiler"
- echo "** will also provide a clue."
- echo " Aborting!"
- exit 1
-fi
-
-####################################################################
# Use TestCompile to look for various LIBS
#
-
case "$PLAT" in
*-linux*)
# newer systems using glibc 2.x need -lcrypt
@@ -689,8 +669,8 @@
LIBS="$LIBS -lresolv"
fi
fi
-
-#
+
+####################################################################
# Find out what modules we want and try and configure things for them
# Module lines can look like this:
#
@@ -777,7 +757,7 @@
if [ -r $modbase.module ] ; then
cat $modbase.module > $tmpfile2
- elif [ -e $modbase.c ] ; then
+ elif [ -f $modbase.c ] ; then
# Guess module structure name in case there is not
# module definition in this file
modname=`grep '^module .*;' $modbase.c | head -1 |\
@@ -795,7 +775,7 @@
modname=`fgrep "Name:" $tmpfile2 | sed 's/^.*Name:[ ]*//'`
cat $tmpfile2 | sed '1,/ConfigStart/d;/ConfigEnd/,$d' > \
$tmpfile3
- . $tmpfile3
+ . ./$tmpfile3
rm -f $tmpfile2 $tmpfile3
ext=o
fi
@@ -803,7 +783,7 @@
modname=`echo $modbase | sed 's/^.*\///' | \
sed 's/^mod_//' | sed 's/^lib//' | sed 's/$/_module/'`
fi
- echo "Adding Module $modname $modbase.$ext"
+# echo "Adding Module $modname $modbase.$ext"
echo "Module $modname $modbase.$ext" >>$tmpfile
done
@@ -854,16 +834,9 @@
}'
####################################################################
-# Continue building Makefile.config. We can add all flags with
-# the exception of LIBS at this point
+# Continue building Makefile.config.
#
echo >> Makefile
-if [ "x$CC" != "x" ]; then
- echo "CC=$CC" >> Makefile.config
-fi
-if [ "x$OPTIM" != "x" ]; then
- echo "OPTIM=$OPTIM" >> Makefile.config
-fi
echo "CFLAGS1=$CFLAGS">> Makefile.config
echo "INCLUDES1=$INCLUDES -I${SRCDIR}/core">> Makefile.config
echo "LIBS1=$LIBS">> Makefile.config
@@ -874,17 +847,29 @@
echo "SHELL=$SHELL">> Makefile.config
echo "OSOBJ=${SRCDIR}/$OSDIR/os.o">> Makefile.config
echo "OSDIR=${SRCDIR}/$OSDIR">> Makefile.config
-
-####################################################################
-# NOW we finish Makefile.config
-#
-echo "LIBS1=$LIBS">> Makefile.config
echo >> Makefile.config
echo "#### End of Configure created section ####">> Makefile.config
cp $OSDIR/os.h core/os.h
####################################################################
+# Use TestCompile to see if $(CC) is ANSI and as a "final" sanity
+# check
+#
+echo " + doing sanity check on compiler and options"
+if ./helpers/TestCompile ansi; then
+ :
+else
+ echo "** A test compilation with your Makefile configuration"
+ echo "** failed. This is most likely because your C compiler"
+ echo "** is not ANSI. Apache requires an ANSI C Compiler, such"
+ echo "** as gcc. The above error message from your compiler"
+ echo "** will also provide a clue."
+ echo " Aborting!"
+ exit 1
+fi
+
+####################################################################
# Now (finish) creating the makefiles
#
# ./Makefile
@@ -951,7 +936,7 @@
) >> modules/Makefile
for moddir in $MODDIRS ; do
- if [ ! -e modules/$moddir/Makefile.tmpl ] ; then
+ if [ ! -f modules/$moddir/Makefile.tmpl ] ; then
continue
fi
echo "Creating Makefile in modules/$moddir"