jim 97/07/17 10:12:42
Modified: src Configure
src/helpers TestLib
Log:
Configure: Clean up comments and let them stand out, almost module-like
TestLib: Instead of creating a.out, use dummy
Revision Changes Path
1.112 +59 -43 apache/src/Configure
Index: Configure
===================================================================
RCS file: /export/home/cvs/apache/src/Configure,v
retrieving revision 1.111
retrieving revision 1.112
diff -C3 -r1.111 -r1.112
*** Configure 1997/07/17 03:03:20 1.111
--- Configure 1997/07/17 17:12:40 1.112
***************
*** 10,29 ****
# modules and "rules". These rules are used to allow Configure to
# be totally configured from Configuration
#
! # Uses 3 supplemental scripts located in ./helpers: CutRule,
! # GuessOS and PrintPath
! #
! #
! # Setup some defaults
! #
file=Configuration
tmpfile=htconf.$$
makefile_tmpl=Makefile.tmpl
! #
! # Now handle any arguments, which, for now, are -file and -make
! # to select alternate Configuration and Makefile.tmpl files
! #
while [ "x$1" != "x" ]; do
if [ "x$1" = "x-file" ] ; then
shift 1; file=$1; shift 1
--- 10,32 ----
# modules and "rules". These rules are used to allow Configure to
# be totally configured from Configuration
#
! # Uses 4 supplemental scripts located in ./helpers:
! # CutRule: Determines the value for a specified Rule
! # GuessOS: Uses uname to determine OS/platform
! # PrintPath: generic "type" or "whence" replacement
! # TestLib: See if a specified library is available
! #
! ####################################################################
! ## Setup some defaults
! ##
file=Configuration
tmpfile=htconf.$$
makefile_tmpl=Makefile.tmpl
! ####################################################################
! ## Now handle any arguments, which, for now, are -file and -make
! ## to select alternate Configuration and Makefile.tmpl files
! ##
while [ "x$1" != "x" ]; do
if [ "x$1" = "x-file" ] ; then
shift 1; file=$1; shift 1
***************
*** 50,57 ****
exit 1
fi
#
! # First, strip comments and blank lines, remove whitespace around
# "=" assignments, change Rules to comments and then remove whitespace
# before Module declarations
#
--- 53,64 ----
exit 1
fi
+ ####################################################################
+ ## From the Configuration file, create a "cleaned-up" version
+ ## that's easy to scan
+ ##
#
! # Strip comments and blank lines, remove whitespace around
# "=" assignments, change Rules to comments and then remove whitespace
# before Module declarations
#
***************
*** 64,80 ****
sed 's/^[ ]*%Module/%Module/' > $tmpfile
#
! # Check for syntax errors...
#
if egrep -v '^%?Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' $tmpfile \
! | grep -v = > /dev/null
then
! 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 =
! exit 1
fi
#
--- 71,89 ----
sed 's/^[ ]*%Module/%Module/' > $tmpfile
#
! # Only "assignment" ("=") statements and Module lines
! # should be left at this point. If there is other stuff
! # we bail out
#
if egrep -v '^%?Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' $tmpfile \
! | grep -v = > /dev/null
then
! 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 =
! exit 1
fi
#
***************
*** 83,92 ****
if [ -f Makefile ] ; then mv Makefile Makefile.bak; fi
if [ -f modules.c ] ; then mv modules.c modules.c.bak; fi
! #
# Start building the modules.c file from what was included
# in Configuration
! #
sed -e 's/_module//' $tmpfile | awk >modules.c '\
BEGIN { modules[n++] = "core" ; pmodules[pn++] = "core"} \
/^Module/ { modules[n++] = $2 ; pmodules[pn++] = $2 } \
--- 92,101 ----
if [ -f Makefile ] ; then mv Makefile Makefile.bak; fi
if [ -f modules.c ] ; then mv modules.c modules.c.bak; fi
! ####################################################################
# Start building the modules.c file from what was included
# in Configuration
! ####
sed -e 's/_module//' $tmpfile | awk >modules.c '\
BEGIN { modules[n++] = "core" ; pmodules[pn++] = "core"} \
/^Module/ { modules[n++] = $2 ; pmodules[pn++] = $2 } \
***************
*** 116,124 ****
print "};"; \
}'
! #
# Start creating the Makefile. We add some comments and
! # then fold in the modules
#
echo "#" > Makefile
echo "# Makefile automatically generated from $makefile_tmpl" >> Makefile
--- 125,133 ----
print "};"; \
}'
! ####################################################################
# Start creating the Makefile. We add some comments and
! # then fold in the modules that were included in Configuration
#
echo "#" > Makefile
echo "# Makefile automatically generated from $makefile_tmpl" >> Makefile
***************
*** 137,143 ****
} \
print "" \
}'
! #
# Now we create a stub file, called Makefile.config, which
# just includes those assignments (eg: CC=gcc) in Configuration
#
--- 146,153 ----
} \
print "" \
}'
!
! ####################################################################
# Now we create a stub file, called Makefile.config, which
# just includes those assignments (eg: CC=gcc) in Configuration
#
***************
*** 148,154 ****
/\=/ { print } \
END { print "###############"; }'
! #
# Extract the rules.
#
RULE_WANTHSREGEX=`./helpers/CutRule WANTHSREGEX $file`
--- 158,164 ----
/\=/ { print } \
END { print "###############"; }'
! ####################################################################
# Extract the rules.
#
RULE_WANTHSREGEX=`./helpers/CutRule WANTHSREGEX $file`
***************
*** 156,162 ****
RULE_SOCKS4=`./helpers/CutRule SOCKS4 $file`
RULE_IRIXNIS=`./helpers/CutRule IRIXNIS $file`
! #
# Preset some "constants"; can be overridden on a per-platform basis below.
#
DBM_LIB="-ldbm"
--- 166,172 ----
RULE_SOCKS4=`./helpers/CutRule SOCKS4 $file`
RULE_IRIXNIS=`./helpers/CutRule IRIXNIS $file`
! ####################################################################
# Preset some "constants"; can be overridden on a per-platform basis below.
#
DBM_LIB="-ldbm"
***************
*** 168,175 ****
RANLIB="true"
fi
! #
! #
# Now we determine the OS/Platform automagically, thanks to
# GuessOS, a home-brewed OS-determiner ala config.guess
#
--- 178,184 ----
RANLIB="true"
fi
! ####################################################################
# Now we determine the OS/Platform automagically, thanks to
# GuessOS, a home-brewed OS-determiner ala config.guess
#
***************
*** 492,498 ****
esac
#
! # See if we need to override WANTHSREGEX
#
if [ "$RULE_WANTHSREGEX" = "default" ]; then
if [ "x$DEF_WANTHSREGEX" = "x" ]; then
--- 501,507 ----
esac
#
! # And adjust/override WANTHSREGEX as needed
#
if [ "$RULE_WANTHSREGEX" = "default" ]; then
if [ "x$DEF_WANTHSREGEX" = "x" ]; then
***************
*** 502,514 ****
fi
fi
! #
! # Now that _that's_ done, get on with it
#
echo " + configured for $OS platform"
! #
! # Show the final values of the rules
#
echo "###############" >> Makefile.config
echo "# Platform: $OS" >> Makefile.config
--- 511,523 ----
fi
fi
! ####################################################################
! # Show user what OS we came up with
#
echo " + configured for $OS platform"
! ####################################################################
! # And update Makefile.config with what we came up with
#
echo "###############" >> Makefile.config
echo "# Platform: $OS" >> Makefile.config
***************
*** 516,522 ****
echo "# Rule WANTHSREGEX=$RULE_WANTHSREGEX" >> Makefile.config
echo "###############" >> Makefile.config
! #
# Now we determine the C-compiler and optimization level
# to use. Settings of CC and OPTIM in Configuration have
# the highest precedence; next comes any settings from
--- 525,531 ----
echo "# Rule WANTHSREGEX=$RULE_WANTHSREGEX" >> Makefile.config
echo "###############" >> Makefile.config
! ####################################################################
# Now we determine the C-compiler and optimization level
# to use. Settings of CC and OPTIM in Configuration have
# the highest precedence; next comes any settings from
***************
*** 564,577 ****
echo " + setting C compiler optimization-level to $OPTIM"
fi
! #
# Set the value of CC if need be; don't worry about OPTIM yet
#
if [ "x$TCC" = "x" ]; then
echo "CC=$CC" >> Makefile.config
fi
! #
# Now we do some OS specific adjustments... for some OSs, we need
# to adjust CFLAGS and/or OPTIM depending on which compiler we
# are going to use. This is easy, since this can be gleamed from
--- 573,586 ----
echo " + setting C compiler optimization-level to $OPTIM"
fi
! ####################################################################
# Set the value of CC if need be; don't worry about OPTIM yet
#
if [ "x$TCC" = "x" ]; then
echo "CC=$CC" >> Makefile.config
fi
! ####################################################################
# Now we do some OS specific adjustments... for some OSs, we need
# to adjust CFLAGS and/or OPTIM depending on which compiler we
# are going to use. This is easy, since this can be gleamed from
***************
*** 605,618 ****
;;
esac
! #
# OK, now we can write OPTIM
#
if [ "x$TOPTIM" = "x" ]; then
echo "OPTIM=$OPTIM" >> Makefile.config
fi
! #
# Now we do some general checks and some intelligent Configuration
# control.
#
--- 614,627 ----
;;
esac
! ####################################################################
# OK, now we can write OPTIM
#
if [ "x$TOPTIM" = "x" ]; then
echo "OPTIM=$OPTIM" >> Makefile.config
fi
! ####################################################################
# Now we do some general checks and some intelligent Configuration
# control.
#
***************
*** 658,665 ****
fi
fi
! #
! # FINALLY, finish (with the exception of LIBS) building Makefile.config
#
echo "CFLAGS1=$CFLAGS">> Makefile.config
echo "INCLUDES1=$INCLUDES">> Makefile.config
--- 667,675 ----
fi
fi
! ####################################################################
! # Continue building Makefile.config. We can add all flags with
! # the exception of LIBS at this point
#
echo "CFLAGS1=$CFLAGS">> Makefile.config
echo "INCLUDES1=$INCLUDES">> Makefile.config
***************
*** 669,675 ****
echo "RANLIB=$RANLIB">> Makefile.config
echo "SHELL=$SHELL">> Makefile.config
! #
# This would be the area to do any ./helpers/TestLib tests,
# before we actually write LIBS to Makefile.config.
# Punt for now...
--- 679,685 ----
echo "RANLIB=$RANLIB">> Makefile.config
echo "SHELL=$SHELL">> Makefile.config
! ####################################################################
# This would be the area to do any ./helpers/TestLib tests,
# before we actually write LIBS to Makefile.config.
# Punt for now...
***************
*** 684,704 ****
LIBS="$LIBS $DB_LIB"
fi
! #
# NOW we finish Makefile.config
#
echo "LIBS1=$LIBS">> Makefile.config
echo >> Makefile.config
echo "#### End of Configure created section ####">> Makefile.config
!
# Now (finish) creating the makefiles
cat Makefile.config >> Makefile
sed -e "s#@@Configuration@@#$file#" "$makefile_tmpl" >>Makefile
awk >>Makefile <$tmpfile \
'($1 == "Module" && $3 ~ /modules\//) { printf "%s: modules/last-built ;
@cat /dev/null\n\n", $3, $3}'
cat Makefile.config ../support/Makefile.tmpl > ../support/Makefile
cat << EOF > modules/Makefile
#
# Simple Makefile for modules in src/modules.
--- 694,720 ----
LIBS="$LIBS $DB_LIB"
fi
! ####################################################################
# NOW we finish Makefile.config
#
echo "LIBS1=$LIBS">> Makefile.config
echo >> Makefile.config
echo "#### End of Configure created section ####">> Makefile.config
! ####################################################################
# Now (finish) creating the makefiles
+ #
+ # ./Makefile
+ #
cat Makefile.config >> Makefile
sed -e "s#@@Configuration@@#$file#" "$makefile_tmpl" >>Makefile
awk >>Makefile <$tmpfile \
'($1 == "Module" && $3 ~ /modules\//) { printf "%s: modules/last-built ;
@cat /dev/null\n\n", $3, $3}'
cat Makefile.config ../support/Makefile.tmpl > ../support/Makefile
+ #
+ # ./modules/Makefile
+ #
cat << EOF > modules/Makefile
#
# Simple Makefile for modules in src/modules.
1.4 +13 -8 apache/src/helpers/TestLib
Index: TestLib
===================================================================
RCS file: /export/home/cvs/apache/src/helpers/TestLib,v
retrieving revision 1.3
retrieving revision 1.4
diff -C3 -r1.3 -r1.4
*** TestLib 1997/07/17 03:22:45 1.3
--- TestLib 1997/07/17 17:12:42 1.4
***************
*** 1,5 ****
#!/bin/sh
! trap 'rm -rf Makefile a.out; exit' 0 1 2 3 15
#
# Yet another Apache Configure helper script.
# This one exists simply to test for the existance of
--- 1,5 ----
#!/bin/sh
! trap 'rm -rf Makefile dummy; exit' 0 1 2 3 15
#
# Yet another Apache Configure helper script.
# This one exists simply to test for the existance of
***************
*** 17,45 ****
#
#
# Get makefile settings and build a basic Makefile
#
cd ./helpers
! rm -rf a.out
cat ../Makefile.config > Makefile
cat <<EOF >> Makefile
- TLIB=-l$1
CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
LIBS=$(EXTRA_LIBS) $(LIBS1)
INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
all:
EOF
- cat <<\EOFF >> Makefile
- $(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS) dummy.c $(TLIB)
- EOFF
# Now run that Makefile
`make > /dev/null 2<&1`
! # And see if a.out exists
! if [ -f a.out ]; then
echo "yes"
else
echo "no"
--- 17,50 ----
#
#
+ # Make sure we have an argument
+ #
+ if [ "x$1" = "x" ]; then
+ exit 1
+ fi
+
+ #
# Get makefile settings and build a basic Makefile
#
cd ./helpers
! rm -rf dummy
cat ../Makefile.config > Makefile
cat <<EOF >> Makefile
CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
LIBS=$(EXTRA_LIBS) $(LIBS1)
INCLUDES=$(INCLUDES1) $(EXTRA_INCLUDES)
LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
all:
+ \$(CC) \$(CFLAGS) \$(INCLUDES) \$(LDFLAGS) dummy.c -o dummy -l$1
+
EOF
# Now run that Makefile
`make > /dev/null 2<&1`
! # And see if dummy exists
! if [ -f dummy ]; then
echo "yes"
else
echo "no"