rse 98/05/12 05:13:55
Modified: . INSTALL configure src CHANGES Configuration.tmpl Configure Makefile.tmpl src/modules/proxy Makefile.tmpl src/support Makefile.tmpl apxs.pl Log: Ok, although no one said something about my showstopper-patch "$(LD) used but never defined" and I again had to touch more than one or two files for this (Hmmm...) I twice reviewed the patch myself now and it's correct. So, I'll commit it to remove one more release showstopper (IMHO). The problem it addresses: The Makefiles assumed that DSO files are build via $(LD). This is broken for two reasons: First we never defined at least LD=ld somewhere to make sure this works (it was silently assumed that most Make provide a built-in LD definition - ARGL!) and second using the generic LD variable is not the truth. Instead a special variable named LD_SHLIB is reasonable because although "ld" is usually the default, the command for building DSO files can be "libtool" or even "cc" on some systems. Revision Changes Path 1.28 +7 -6 apache-1.3/INSTALL Index: INSTALL =================================================================== RCS file: /export/home/cvs/apache-1.3/INSTALL,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- INSTALL 1998/05/12 11:27:04 1.27 +++ INSTALL 1998/05/12 12:13:48 1.28 @@ -132,9 +132,9 @@ Reference: $ [CC=...] [CFLAGS_SHLIB=...] - [OPTIM=...] [LDFLAGS_SHLIB=...] - [CFLAGS=...] [LDFLAGS_SHLIB_EXPORT=...] - [INCLUDES=...] + [OPTIM=...] [LD_SHLIB=...] + [CFLAGS=...] [LDFLAGS_SHLIB=...] + [INCLUDES=...] [LDFLAGS_SHLIB_EXPORT=...] [LDFLAGS=...] [RANLIB=...] [LIBS=...] ./configure [--quiet] [--prefix=DIR] [--enable-rule=NAME] @@ -157,9 +157,10 @@ [--without-support] Use the CC, OPTIM, CFLAGS, INCLUDES, LDFLAGS, LIBS, CFLAGS_SHLIB, - LDFLAGS_SHLIB, LDFLAGS_SHLIB_EXPORT and RANLIB environment variables to - override the corresponding default entries in the src/Configuration.tmpl - file (see there for more information about their usage). + LD_SHLIB, LDFLAGS_SHLIB, LDFLAGS_SHLIB_EXPORT and RANLIB environment + variables to override the corresponding default entries in the + src/Configuration.tmpl file (see there for more information about their + usage). Note: The syntax ``KEY=VALUE ./configure ...'' (one single line!) is the GNU Autoconf compatible way of specifying defines and can 1.25 +1 -1 apache-1.3/configure Index: configure =================================================================== RCS file: /export/home/cvs/apache-1.3/configure,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- configure 1998/05/08 07:50:21 1.24 +++ configure 1998/05/12 12:13:48 1.25 @@ -857,7 +857,7 @@ # generate settings from imported environment variables OIFS="$IFS" IFS="$DIFS" -for var in CC OPTIM CFLAGS CFLAGS_SHLIB LDFLAGS LDFLAGS_SHLIB \ +for var in CC OPTIM CFLAGS CFLAGS_SHLIB LDFLAGS LD_SHLIB LDFLAGS_SHLIB \ LDFLAGS_SHLIB_EXPORT LIBS INCLUDES RANLIB; do eval "val=\"\$$var\""; if [ ".$val" != . ]; then 1.847 +9 -0 apache-1.3/src/CHANGES Index: CHANGES =================================================================== RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v retrieving revision 1.846 retrieving revision 1.847 diff -u -r1.846 -r1.847 --- CHANGES 1998/05/11 20:08:05 1.846 +++ CHANGES 1998/05/12 12:13:50 1.847 @@ -1,5 +1,14 @@ Changes with Apache 1.3b7 + *) The Makefiles assumed that DSO files are build via $(LD). This + is broken for two reasons: First we never defined at least LD=ld + somewhere to make sure this works (it was silently assumed that most Make + provide a built-in LD definition - ARGL!) and second using the generic LD + variable is not the truth. Instead a special variable named LD_SHLIB is + reasonable because although "ld" is usually the default, the command for + building DSO files can be "libtool" or even "cc" on some systems. + [Ralf S. Engelschall] + *) Replace the AddVersionPlatform directive with ServerTokens which provides for more control over the format of the Server: header line. SERVER_SUBVERSION is no longer supported; 1.104 +1 -0 apache-1.3/src/Configuration.tmpl Index: Configuration.tmpl =================================================================== RCS file: /export/home/cvs/apache-1.3/src/Configuration.tmpl,v retrieving revision 1.103 retrieving revision 1.104 diff -u -r1.103 -r1.104 --- Configuration.tmpl 1998/05/12 04:03:39 1.103 +++ Configuration.tmpl 1998/05/12 12:13:50 1.104 @@ -87,6 +87,7 @@ # change the filename extension from `.o' to `.so'. #CFLAGS_SHLIB= +#LD_SHLIB= #LDFLAGS_SHLIB= #LDFLAGS_SHLIB_EXPORT= 1.261 +6 -1 apache-1.3/src/Configure Index: Configure =================================================================== RCS file: /export/home/cvs/apache-1.3/src/Configure,v retrieving revision 1.260 retrieving revision 1.261 diff -u -r1.260 -r1.261 --- Configure 1998/05/11 19:58:57 1.260 +++ Configure 1998/05/12 12:13:50 1.261 @@ -779,6 +779,7 @@ #################################################################### ## Check for user provided flags for shared object support ## +TLD_SHLIB=`egrep '^LD_SHLIB=' Makefile.config | tail -1 | awk -F= '{print $2}'` TLDFLAGS_SHLIB=`egrep '^LDFLAGS_SHLIB=' Makefile.config | tail -1 | awk -F= '{print $2}'` TLDFLAGS_SHLIB_EXPORT=`egrep '^LDFLAGS_SHLIB_EXPORT=' Makefile.config | tail -1 | awk -F= '{print $2}'` TCFLAGS_SHLIB=`egrep '^CFLAGS_SHLIB=' Makefile.config | tail -1 | awk -F= '{print $2}'` @@ -788,6 +789,7 @@ ## required. For more platforms just add the required lines below. ## if [ "x$using_shlib" = "x1" ] ; then + LD_SHLIB="ld" DEF_SHARED_CORE=no SHLIB_SUFFIX_DEPTH=all SHLIB_EXPORT_FILES=no @@ -1032,6 +1034,9 @@ if [ "x$TCFLAGS_SHLIB" = "x" ]; then echo "CFLAGS_SHLIB=$CFLAGS_SHLIB -DSHARED_MODULE" >> Makefile.config fi + if [ "x$TLD_SHLIB" = "x" ]; then + echo "LD_SHLIB=$LD_SHLIB" >> Makefile.config + fi if [ "x$TLDFLAGS_SHLIB" = "x" ]; then echo "LDFLAGS_SHLIB=$LDFLAGS_SHLIB" >> Makefile.config fi @@ -1732,7 +1737,7 @@ .c.so: $(CC) -c $(INCLUDES) $(CFLAGS) $(CFLAGS_SHLIB) $< && mv $*.o $*.lo - $(LD) $(LDFLAGS_SHLIB) -o $@ $*.lo + $(LD_SHLIB) $(LDFLAGS_SHLIB) -o $@ $*.lo clean: rm -f $(LIB) $(OBJS) $(SHLIBS) $(OBJS_PIC) 1.95 +1 -1 apache-1.3/src/Makefile.tmpl Index: Makefile.tmpl =================================================================== RCS file: /export/home/cvs/apache-1.3/src/Makefile.tmpl,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- Makefile.tmpl 1998/05/10 13:04:26 1.94 +++ Makefile.tmpl 1998/05/12 12:13:51 1.95 @@ -41,7 +41,7 @@ libhttpd.so: subdirs modules.o $(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c - $(LD) $(LDFLAGS_SHLIB) -o libhttpd.so buildmark.o $(OBJS) $(REGLIB) + $(LD_SHLIB) $(LDFLAGS_SHLIB) -o libhttpd.so buildmark.o $(OBJS) $(REGLIB) @if [ ".$(SHLIB_SUFFIX_LIST)" != . ]; then \ rm -f libhttpd.so.*; \ for suffix in $(SHLIB_SUFFIX_LIST) ""; do \ 1.17 +1 -1 apache-1.3/src/modules/proxy/Makefile.tmpl Index: Makefile.tmpl =================================================================== RCS file: /export/home/cvs/apache-1.3/src/modules/proxy/Makefile.tmpl,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Makefile.tmpl 1998/05/10 13:04:34 1.16 +++ Makefile.tmpl 1998/05/12 12:13:53 1.17 @@ -19,7 +19,7 @@ libproxy.so: $(OBJS_PIC) rm -f $@ - $(LD) $(LDFLAGS_SHLIB) -o $@ $(OBJS_PIC) + $(LD_SHLIB) $(LDFLAGS_SHLIB) -o $@ $(OBJS_PIC) .SUFFIXES: .o .lo 1.20 +1 -1 apache-1.3/src/support/Makefile.tmpl Index: Makefile.tmpl =================================================================== RCS file: /export/home/cvs/apache-1.3/src/support/Makefile.tmpl,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- Makefile.tmpl 1998/05/09 18:28:40 1.19 +++ Makefile.tmpl 1998/05/12 12:13:54 1.20 @@ -31,7 +31,7 @@ apxs: apxs.pl sed <apxs.pl >apxs \ -e '[EMAIL PROTECTED]@%$(CC)%g' \ - -e '[EMAIL PROTECTED]@%$(LD)%g' \ + -e '[EMAIL PROTECTED]@%$(LD_SHLIB)%g' \ -e '[EMAIL PROTECTED]@%$(CFLAGS)%g' \ -e '[EMAIL PROTECTED]@%$(CFLAGS_SHLIB)%g' \ -e '[EMAIL PROTECTED]@%$(LDFLAGS_SHLIB)%g' && chmod a+x apxs 1.7 +3 -3 apache-1.3/src/support/apxs.pl Index: apxs.pl =================================================================== RCS file: /export/home/cvs/apache-1.3/src/support/apxs.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- apxs.pl 1998/05/06 15:18:03 1.6 +++ apxs.pl 1998/05/12 12:13:54 1.7 @@ -69,9 +69,9 @@ ## my $CFG_CC = '@CC@'; # substituted via Makefile.tmpl -my $CFG_LD = '@LD@'; # substituted via Makefile.tmpl my $CFG_CFLAGS = '@CFLAGS@'; # substituted via Makefile.tmpl my $CFG_CFLAGS_SHLIB = '@CFLAGS_SHLIB@'; # substituted via Makefile.tmpl +my $CFG_LD_SHLIB = '@LD_SHLIB@'; # substituted via Makefile.tmpl my $CFG_LDFLAGS_SHLIB = '@LDFLAGS_SHLIB@'; # substituted via Makefile.tmpl my $CFG_PREFIX = '@prefix@'; # substituted via APACI install my $CFG_SBINDIR = '@sbindir@'; # substituted via APACI install @@ -262,7 +262,7 @@ my $ok = 0; my $name; foreach $name (qw( - CC LD CFLAGS CFLAGS_SHLIB LDFLAGS_SHLIB + CC LD_SHLIB CFLAGS CFLAGS_SHLIB LDFLAGS_SHLIB PREFIX SBINDIR INCLUDEDIR LIBEXECDIR SYSCONFDIR )) { if ($arg eq $name or $arg eq lc($name)) { @@ -338,7 +338,7 @@ } # create link command - my $cmd = "$CFG_LD $CFG_LDFLAGS_SHLIB -o $dso_file"; + my $cmd = "$CFG_LD_SHLIB $CFG_LDFLAGS_SHLIB -o $dso_file"; my $o; foreach $o (@objs) { $cmd .= " $o";