rse 98/03/08 04:58:21
Modified: src Configure
Log:
Fix Configure script:
1. move generation of ap_config.h to a later point in the script
because else it doesn't pick up HIDE or STATUS correctly.
2. change the generation of shared objects from explicit rules to
implicit rules: First the $< is only portable for implict
rules (e.g. FreeBSD's make fails) and second we already build
.o's implicitly, so we should do with .so's the same way.
Revision Changes Path
1.195 +26 -23 apache-1.3/src/Configure
Index: Configure
===================================================================
RCS file: /export/home/cvs/apache-1.3/src/Configure,v
retrieving revision 1.194
retrieving revision 1.195
diff -u -r1.194 -r1.195
--- Configure 1998/03/05 18:58:31 1.194
+++ Configure 1998/03/08 12:58:19 1.195
@@ -841,24 +841,6 @@
}'`
#
-# At this point we can pick out all -D's from CFLAGS and create ap_config.h
-# to be used by external modules needing to include Apache header files.
-#
-
-for cflag in $CFLAGS; do
- echo $cflag >>$tmpconfig ;
-done
-awk > include/ap_config.h < $tmpconfig '
- BEGIN {
- printf "/* Automatically generated file - do not edit */\n\n"
- }
- /^-D.*/ {
- split(substr($1,3,length($1)),parts,"=")
- printf ("#define %s %s\n",parts[1],parts[2])
- }
-'
-
-#
# Now autoconfigure each of the modules specified by AddModule.
# Use tmpfile2 for the module definition file, and tmpfile3 for the
# shell commands to be executed for this module.
@@ -1078,6 +1060,25 @@
echo "#### End of Configure created section ####">> Makefile.config
####################################################################
+# Continue building include/ap_config.h
+#
+# We pick out all -D's from CFLAGS and create ap_config.h which
+# can be used by external modules needing to include Apache
+# header files.
+for cflag in $CFLAGS; do
+ echo $cflag >>$tmpconfig ;
+done
+awk > include/ap_config.h < $tmpconfig '
+ BEGIN {
+ printf "/* Automatically generated file - do not edit */\n\n"
+ }
+ /^-D.*/ {
+ split(substr($1,3,length($1)),parts,"=")
+ printf ("#define %s %s\n",parts[1],parts[2])
+ }
+'
+
+####################################################################
# Use TestCompile to see if $(CC) is ANSI and as a "final" sanity
# check
#
@@ -1167,15 +1168,11 @@
split(pp[3], parts, ".")
base=parts[1]
shlibsobj=shlibsobj " " base "-so.o"
- comp=comp base ".so: " base "-so.o\n"
- comp=comp " $(LD) $(LDFLAGS) $(LDFLAGS_SHLIB) -o " base
".so $<\n"
- comp=comp base "-so.o: " base ".c\n"
- comp=comp " $(CC) $(CFLAGS) $(INCLUDES) $(CFLAGS_SHLIB) -c
-o " base "-so.o $<\n"
}
END {
printf "SHLIBS=%s\n", shlibs;
printf "SHLIBS_OBJ=%s\n", shlibsobj;
- print "\n" comp "\n" }'
+ }'
$CAT << 'EOF' >> $moddir/Makefile
@@ -1188,8 +1185,14 @@
ar cr $@ $(OBJS)
$(RANLIB) $@
+.SUFFIXES: .o .so
+
.c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $(SPACER) $<
+
+.c.so:
+ $(CC) -c $(INCLUDES) $(CFLAGS) $(CFLAGS_SHLIB) $(SPACER) -o $*-so.o $<
+ $(LD) $(LDFLAGS) $(LDFLAGS_SHLIB) -o $@ $*-so.o
clean:
rm -f $(OBJS) $(SHLIBS) $(SHLIBS_OBJ) $(LIB) $(SHLIB)