This is a proposal in extending the 1.3 cvs tree to use SHLIB_PREFIX_NAME as a macro for the shared library prefix name. Currently this is hardcoded in any relevant file to "lib".
The attached file makes the use of SHLIB_PREFIX_NAME more flexible and hence allows to set different prefix names for specific platforms. Basicly the need for that was raised, while the Cygwin Group was preparing the 1.3.22 package to be included in the official net distribution. There we require to have a cyghttpd.dll instead of libhttpd.dll. Here are the changes: * Makefile.tmpl: added definition of SHLIB_PREFIX_NAME, similar to SHLIB_SUFFIX_NAME. Changed the hardcoded references from lib$(TARGET).$${SHLIB_SUFFIX_NAME} to $${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}. * src/Configure: added default value SHLIB_PREFIX_NAME="lib". This makes the previously hardcoded prefix the default if not overriden by platform specific calls. Added line to export the macro value to Makefile.config, so it gets included everywhere. Changed the Cygwin platform specific block to use "cyg" as prefix. * src/Makefile.tmpl: once again changed hardcoded references from lib$(TARGET).$${SHLIB_SUFFIX_NAME} to $${SHLIB_PREFIX_NAME}$(TARGET).$${SHLIB_SUFFIX_NAME}. 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
--- apache-1.3/Makefile.tmpl Wed Jan 2 00:12:01 2002 +++ apache-1.3-new/Makefile.tmpl Sat Jan 12 20:16:04 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 --- apache-1.3/src/Configure Wed Jan 2 00:12:02 2002 +++ apache-1.3-new/src/Configure Sat Jan 12 20:49:30 2002 @@ -253,6 +254,7 @@ DB_LIB="-ldb" SHELL="/bin/sh" SUBTARGET="target_static" +SHLIB_PREFIX_NAME="lib" SHLIB_SUFFIX_NAME="" SHLIB_SUFFIX_LIST="" CAT="cat" @@ -1410,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 @@ -1417,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='Makefile.Cygwin' ;; *) @@ -1978,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 --- apache-1.3/src/Makefile.tmpl Thu Sep 27 18:12:04 2001 +++ apache-1.3-new/src/Makefile.tmpl Sat Jan 12 20:22:46 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)' $@ ) || 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; \