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";