The attached patch will allow non hardcoded names for the shared
library, which is currently harcoded to
lib$(TARGET).$${SHLIB_SUFFIX_NAME} by adding a SHLIB_PREFIX_NAME and
resulting in a new
$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME} value in the
Makefile templates.
This is mainly used for the Cygwin platform, which uses conventions to
use cygfoobar.dll names of shared system libraries instead of
libfoobar.dll, but other platforms may benefit from it too and it does
not break or change anything in the other platforms.
The changes against cvs tree of 2002-05-28 are:
* Makfile.tmpl: substituting lib$(TARGET).$${SHLIB_SUFFIX_NAME} to
$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME} and adding
another substitution regexp for Cygwin's .dll extensions of shared
libs.
* src/Configure: added default SHLIB_PREFIX_NAME="lib" before
processing platform specific blocks. Changes Cygwin's define block to
use "cyg" prefix instead of "lib".
* src/Makefile.tmpl: same substitutions as in upper directory.
Please review and apply to cvs head. Thanks.
Stipe
[EMAIL PROTECTED]
-------------------------------------------------------------------
Wapme Systems AG
M�nsterstr. 248
40470 D�sseldorf
Tel: +49-211-74845-0
Fax: +49-211-74845-299
E-Mail: [EMAIL PROTECTED]
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are
diff -ur apache-1.3/Makefile.tmpl apache-1.3-cygwin/Makefile.tmpl
--- apache-1.3/Makefile.tmpl Wed Mar 13 20:05:27 2002
+++ apache-1.3-cygwin/Makefile.tmpl Tue May 28 11:15:10 2002
@@ -304,19 +304,20 @@
$(INSTALL_PROGRAM) $(TOP)/$(SRC)/$(TARGET)
$(root)$(sbindir)/$(TARGET); \
fi
-@if [ ".`grep 'SUBTARGET=target_shared' $(TOP)/$(SRC)/Makefile`" != . ]; then
\
+ SHLIB_PREFIX_NAME="`grep '^SHLIB_PREFIX_NAME=' $(TOP)/$(SRC)/Makefile
+| sed -e 's:^.*=::'`"; \
SHLIB_SUFFIX_NAME="`grep '^SHLIB_SUFFIX_NAME=' $(TOP)/$(SRC)/Makefile
| sed -e 's:^.*=::'`"; \
SHLIB_SUFFIX_LIST="`grep '^SHLIB_SUFFIX_LIST=' $(TOP)/$(SRC)/Makefile
| sed -e 's:^.*=::'`"; \
- echo "$(INSTALL_CORE) $(TOP)/$(SRC)/lib$(TARGET).ep
$(root)$(libexecdir)/lib$(TARGET).ep"; \
- $(INSTALL_CORE) $(TOP)/$(SRC)/lib$(TARGET).ep
$(root)$(libexecdir)/lib$(TARGET).ep; \
- echo "$(INSTALL_DSO) $(TOP)/$(SRC)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}
$(root)$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}"; \
- $(INSTALL_DSO) $(TOP)/$(SRC)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}
$(root)$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}; \
+ echo "$(INSTALL_CORE) $(TOP)/$(SRC)/$${SHLIB_PREFIX_NAME}$(TARGET).ep
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).ep"; \
+ $(INSTALL_CORE) $(TOP)/$(SRC)/$${SHLIB_PREFIX_NAME}$(TARGET).ep
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).ep; \
+ echo "$(INSTALL_DSO)
+$(TOP)/$(SRC)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}"; \
+ $(INSTALL_DSO)
+$(TOP)/$(SRC)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}; \
if [ ".$${SHLIB_SUFFIX_LIST}" != . ]; then \
- echo "$(RM)
$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}.*"; \
- $(RM) $(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}.*; \
+ echo "$(RM)
+$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}.*"; \
+ $(RM)
+$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}.*; \
for suffix in $${SHLIB_SUFFIX_LIST} ""; do \
[ ".$${suffix}" = . ] && continue; \
- echo "$(LN)
$(root)$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}
$(root)$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}.$${suffix}"; \
- $(LN)
$(root)$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}
$(root)$(libexecdir)/lib$(TARGET).$${SHLIB_SUFFIX_NAME}.$${suffix}; \
+ echo "$(LN)
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}.$${suffix}";
+ \
+ $(LN)
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}
+$(root)$(libexecdir)/$${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}.$${suffix};
+\
done; \
fi; \
fi
@@ -341,7 +342,7 @@
sed -e 's:SharedModule:AddModule:' \
-e 's:modules/[^/]*/::' \
-e 's:[ ]lib: mod_:' \
- -e 's:\.[soam].*$$:.c:' >>$(SRC)/.apaci.install.conf; \
+ -e 's:\.[soamd].*$$:.c:' >>$(SRC)/.apaci.install.conf; \
fi
@echo "<=== [programs]"
diff -ur apache-1.3/src/Configure apache-1.3-cygwin/src/Configure
--- apache-1.3/src/Configure Mon May 13 08:13:06 2002
+++ apache-1.3-cygwin/src/Configure Tue May 28 11:15:10 2002
@@ -254,6 +254,7 @@
DB_LIB="-ldb"
SHELL="/bin/sh"
SUBTARGET="target_static"
+SHLIB_PREFIX_NAME="lib"
SHLIB_SUFFIX_NAME=""
SHLIB_SUFFIX_LIST=""
CAT="cat"
@@ -1416,6 +1417,7 @@
DEF_SHARED_CORE=yes
LDFLAGS_SHLIB="--export-all"
LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
+ SHLIB_PREFIX_NAME=cyg
SHLIB_SUFFIX_NAME=dll
SHMOD_SUFFIX_NAME=dll
SHLIB_SUFFIX_DEPTH=0
@@ -1423,8 +1425,8 @@
LD_SHCORE_DEF=''
LD_SHCORE_LIBS="$LIBS"
LIBS_SHLIB='$(EXTRA_LIBS)'
- SHARED_CORE_EP='lib$(TARGET).ep'
- SHCORE_IMPLIB='lib$(TARGET).dll'
+ SHARED_CORE_EP='$(SHLIB_PREFIX_NAME)$(TARGET).ep'
+ SHCORE_IMPLIB='$(SHLIB_PREFIX_NAME)$(TARGET).dll'
OS_MODULE_INCLUDE='$(SRCDIR)/modules/standard/Makefile.Cygwin'
;;
*)
@@ -1984,6 +1986,7 @@
echo "LD_SHCORE_DEF=$LD_SHCORE_DEF" >> Makefile.config
echo "LD_SHCORE_LIBS=$LD_SHCORE_LIBS" >> Makefile.config
echo "SHARED_CORE_EP=$SHARED_CORE_EP" >> Makefile.config
+ echo "SHLIB_PREFIX_NAME=$SHLIB_PREFIX_NAME" >> Makefile.config
echo "SHCORE_IMPLIB=$SHCORE_IMPLIB" >> Makefile.config
fi
diff -ur apache-1.3/src/Makefile.tmpl apache-1.3-cygwin/src/Makefile.tmpl
--- apache-1.3/src/Makefile.tmpl Mon May 13 08:13:06 2002
+++ apache-1.3-cygwin/src/Makefile.tmpl Tue May 28 11:15:10 2002
@@ -38,25 +38,25 @@
target_compile_only: subdirs modules.o
$(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
-target_shared: $(SHCORE_IMPLIB) $(SHARED_CORE_EP) lib$(TARGET).$(SHLIB_SUFFIX_NAME)
+target_shared: $(SHCORE_IMPLIB) $(SHARED_CORE_EP)
+$(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME)
$(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
-o $(TARGET) -DSHARED_CORE_BOOTSTRAP main/http_main.c \
ap/libap.a $(LIBS) $(SHCORE_IMPLIB)
-lib$(TARGET).ep: lib$(TARGET).$(SHLIB_SUFFIX_NAME)
+$(SHLIB_PREFIX_NAME)$(TARGET).ep: $(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME)
$(CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_SHLIB_EXPORT) \
- -o lib$(TARGET).ep -DSHARED_CORE_TIESTATIC main/http_main.c \
+ -o $(SHLIB_PREFIX_NAME)$(TARGET).ep -DSHARED_CORE_TIESTATIC
+main/http_main.c \
-L. -l$(TARGET) $(LIBS)
-lib$(TARGET).$(SHLIB_SUFFIX_NAME): subdirs modules.o
+$(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME): subdirs modules.o
$(CC) -c $(INCLUDES) $(CFLAGS) buildmark.c
- $(LD_SHLIB) $(LDFLAGS_SHLIB) -o lib$(TARGET).$(SHLIB_SUFFIX_NAME) buildmark.o
$(OBJS) $(REGLIB) $(EXPATLIB) $(LD_SHCORE_DEF) $(LD_SHCORE_LIBS)
+ $(LD_SHLIB) $(LDFLAGS_SHLIB) -o
+$(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME) buildmark.o $(OBJS) $(REGLIB)
+$(EXPATLIB) $(LD_SHCORE_DEF) $(LD_SHCORE_LIBS)
@if [ ".$(SHLIB_SUFFIX_LIST)" != . ]; then \
- rm -f lib$(TARGET).$(SHLIB_SUFFIX_NAME).*; \
+ rm -f $(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME).*; \
for suffix in $(SHLIB_SUFFIX_LIST) ""; do \
[ ".$$suffix" = . ] && continue; \
- echo "ln lib$(TARGET).$(SHLIB_SUFFIX_NAME)
lib$(TARGET).$(SHLIB_SUFFIX_NAME).$$suffix"; \
- ln lib$(TARGET).$(SHLIB_SUFFIX_NAME)
lib$(TARGET).$(SHLIB_SUFFIX_NAME).$$suffix; \
+ echo "ln $(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME)
+$(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME).$$suffix"; \
+ ln $(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME)
+$(SHLIB_PREFIX_NAME)$(TARGET).$(SHLIB_SUFFIX_NAME).$$suffix; \
done; \
fi
@@ -78,7 +78,7 @@
echo "<=== $(SDP)support"
clean:
- -rm -f $(TARGET) lib$(TARGET).* *.o
+ -rm -f $(TARGET) $(SHLIB_PREFIX_NAME)$(TARGET).* *.o
@for i in $(SUBDIRS); do \
echo "===> $(SDP)$$i"; \
( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' OPTIM='$(OPTIM)' $@
) || exit 1; \
@@ -86,7 +86,7 @@
done
distclean:
- -rm -f $(TARGET) lib$(TARGET).* *.o
+ -rm -f $(TARGET) $(SHLIB_PREFIX_NAME)$(TARGET).* *.o
@for i in $(SUBDIRS); do \
echo "===> $(SDP)$$i"; \
( cd $$i && $(MAKE) $(MFLAGS_STATIC) SDP='$(SDP)' $@ ) || exit 1; \