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

Reply via email to