You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ga...@apache.org on 2007/08/21 10:15:41 UTC

svn commit: r568009 - /xerces/c/branches/xerces-2.7/src/xercesc/Makefile.incl

Author: gareth
Date: Tue Aug 21 01:15:41 2007
New Revision: 568009

URL: http://svn.apache.org/viewvc?rev=568009&view=rev
Log:
Auto-detect HP aCC3 vs aCC6 compiler versions. Verbose mode (add VERBOSE=1 to the gmake command line).  Support for g++ on AIX and HP-UX.  Change optimization level on GNU/Linux from -O to -O2. Thanks to Boris Kolpackov

Modified:
    xerces/c/branches/xerces-2.7/src/xercesc/Makefile.incl

Modified: xerces/c/branches/xerces-2.7/src/xercesc/Makefile.incl
URL: http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/Makefile.incl?rev=568009&r1=568008&r2=568009&view=diff
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/Makefile.incl (original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/Makefile.incl Tue Aug 21 01:15:41 2007
@@ -92,6 +92,10 @@
                   -licuuc -licudata -lXercesMessages -lm -lgen
     endif
 
+    ## Compiler switch to embed a library name
+    LD_SONAME = -Wl,-h,${SO_NAME}
+    LD_SODEPDOM = -Wl,-h,${SO_DEPDOM}
+
   else
     PLATFORM_COMPILE_OPTIONS = -KPIC -mt -xs -ptr$(XML_OBJ_DIR) \
                                -features=rtti -D${PLATFORM} -D_REENTRANT
@@ -107,12 +111,13 @@
         ALLLIBS = -mt ${LIBS} -licuuc -licudata -lXercesMessages
     endif
 
-  endif
-  SHLIBSUFFIX=.so
-  ICUSHLIBSUFFIX=.so
   ## Compiler switch to embed a library name
   LD_SONAME = -h ${SO_NAME}
   LD_SODEPDOM = -h ${SO_DEPDOM}  
+  endif
+
+  SHLIBSUFFIX=.so
+  ICUSHLIBSUFFIX=.so
 endif
 
 #=============== UNIXWARE SPECIFIC OPTIONS =========================
@@ -128,6 +133,12 @@
         ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib \
                   -lm -lw -lgen
     endif
+
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib \
+                  -licuuc -licudata -lXercesMessages -lm -lw -lgen
+    endif
+
   else
     PLATFORM_COMPILE_OPTIONS = -KPIC -mt -xs \
                                -D${PLATFORM} -D_REENTRANT
@@ -140,6 +151,12 @@
         ALLLIBS = ${LIBS} -L/usr/local/lib -L/usr/ccs/lib \
                   -lm -lw -lC -lc -lgen
     endif
+
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/local/lib -L/usr/ccs/lib \
+                  -licuuc -licudata -lXercesMessages -lm -lw -lC -lc -lgen
+    endif
+
   endif
   SHLIBSUFFIX=.so
   ICUSHLIBSUFFIX=.so
@@ -195,47 +212,56 @@
 
 #================= AIX SPECIFIC OPTIONS ===========================
 ifeq (${PLATFORM}, AIX)
+  ifeq (${GXX}, yes)
+    MAKE_SHARED = ${CXX} -D${PLATFORM} -shared ${LDFLAGS}
+    MAKE_SHARED_C = ${CC} -D${PLATFORM} -shared ${LDFLAGS}
+    PLATFORM_COMPILE_OPTIONS = -fPIC -D${PLATFORM} -D_REENTRANT
 
-#PLATFORM_CPP_COMPILER = xlC_r
-#PLATFORM_C_COMPILER = xlc_r
-#ifdef ICUROOT
-#  ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -L${ICUROOT}/lib -licuuc -licudata -lbsd
-#else
-#  ALLLIBS = -L/usr/lpp/xlC/lib -lbsd
-#endif
+    ifeq (${TRANSCODER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib \
+                  -licuuc -licudata
+    else
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib
+    endif
 
-ifeq (${TRANSCODER}, ICU)
-    ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -licuuc32 -licudata32
-else
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib \
+                  -licuuc -licudata -lXercesMessages
+    endif
+  else
+    ifeq (${TRANSCODER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -licuuc -licudata
+    else
     ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib
-endif
+    endif
 
-ifeq (${MESSAGELOADER}, ICU)
-    ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -licuuc32 -licudata32 -lXercesMessages26
-endif
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lpp/xlC/lib -licuuc -licudata -lXercesMessages
+    endif
 
-ifeq (${CXXVER}, v5compat)
+    ifeq (${CXXVER}, v5compat)
    PLATFORM_COMPILE_OPTIONS = -qnotempinc -D_THREAD_SAFE -qnamemangling=v5
-else
+    else
    PLATFORM_COMPILE_OPTIONS = -qnotempinc -D_THREAD_SAFE -qnamemangling=ansi
-endif
+    endif
     
-ifeq (${BITSTOBUILD}, 64)
+    ifeq (${BITSTOBUILD}, 64)
     MAKE_SHARED = makeC++SharedLib_r -p 5000 ${LDFLAGS} -X64
     MAKE_SHARED_C = makeC++SharedLib_r -p 5000 ${LDFLAGS} -X64
-else
+    else
     MAKE_SHARED = makeC++SharedLib_r -p 5000 ${LDFLAGS}
     MAKE_SHARED_C = makeC++SharedLib_r -p 5000 ${LDFLAGS}
-endif
-
-EXTRA_LINK_OPTIONS = -bmap:$(XML_OBJ)/${LIBNAME}${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}.map
-DEPDOM_LINK_OPTIONS = -bmap:$(XML_OBJ)/${LIBDEPDOM}${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}.map
+    endif
 
-SHLIBSUFFIX=.a
-ICUSHLIBSUFFIX=.a
-## Compiler switch to embed a library name
-LD_SONAME =
+    EXTRA_LINK_OPTIONS = -bmap:$(XML_OBJ)/${LIBNAME}${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}.map
+    DEPDOM_LINK_OPTIONS = -bmap:$(XML_OBJ)/${LIBDEPDOM}${SO_TARGET_VERSION}.${SO_TARGET_VERSION_MAJOR}.map
+  endif
 
+  SHLIBSUFFIX=.a
+  ICUSHLIBSUFFIX=.a
+  ## Compiler switch to embed a library name
+  LD_SONAME =
+  LD_SODEPDOM =
 endif
 
 #================= OS400 SPECIFIC OPTIONS ==========================
@@ -322,7 +348,7 @@
 #=============== LINUX SPECIFIC OPTIONS =========================
 ifeq (${PLATFORM}, LINUX)
 
-    ifeq (${CXX}, xlC_r)
+    ifneq ($(filter xlC%,${CXX}),)
 
         PLATFORM_COMPILE_OPTIONS = -qpic -qnotempinc -D${PLATFORM}
         MAKE_SHARED = ${CXX} -D${PLATFORM} -qpic -qmkshrobj -G ${LDFLAGS}
@@ -337,7 +363,8 @@
         endif
 
         ## Compiler switch to embed a library name
-        LD_SONAME =
+        LD_SONAME = -Wl,-soname,${SO_NAME}
+        LD_SODEPDOM = -Wl,-soname,${SO_DEPDOM}
         
     else  
     #non xlC_r
@@ -484,6 +511,23 @@
     OSVERDEFINE=HPUX10
   endif
 
+  ifeq (${GXX}, yes)
+    MAKE_SHARED = ${CXX} -D${PLATFORM} -fPIC -shared ${LDFLAGS}
+    MAKE_SHARED_C = ${CC} -D${PLATFORM} -fPIC -shared ${LDFLAGS}
+    PLATFORM_COMPILE_OPTIONS = -fPIC -D${PLATFORM} -D_REENTRANT
+
+    ifeq (${TRANSCODER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib \
+                  -licuuc -licudata
+    else
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib
+    endif
+
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib \
+                  -licuuc -licudata -lXercesMessages
+    endif
+  else
   ifeq (${CXX}, aCC)
     ifeq (${CXXVER}, aCC05)
        PLATFORM_COMPILE_OPTIONS = -D_HP_UX -DHPaCC -D${OSVERDEFINE} -mt +Z
@@ -511,8 +555,6 @@
        DEPDOM_LINK_OPTIONS = -b -Wl,+s -Wl,+b,.
     endif
     
-    SHLIBSUFFIX=.sl
-    ICUSHLIBSUFFIX=.sl
   else
     TEMPLATESREPOSITORY = ${XML_OBJ_DIR}/ptrepository
     COMMON_COMPILE_OPTIONS = -D_HP_UX -DXERCES_TMPLSINC \
@@ -536,9 +578,11 @@
 
     EXTRA_LINK_OPTIONS = -b -Wl,+s -Wl,+b,. -Wl,-a,shared
     DEPDOM_LINK_OPTIONS = -b -Wl,+s -Wl,+b,. -Wl,-a,shared    
+    endif
+  endif # GXX
+
     SHLIBSUFFIX=.sl
     ICUSHLIBSUFFIX=.sl
-  endif
   ## Compiler switch to embed a library name
   LD_SONAME = -Wl,+h,${SO_NAME}
   LD_SODEPDOM = -Wl,+h,${SO_DEPDOM}  
@@ -597,6 +641,11 @@
     else
       ALLLIBS = ${LIBS} -lc -lrt
     endif
+
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -licuuc -licudata -lXercesMessages -lc -lrt
+    endif
+
   else
     MAKE_SHARED = ${CXX} -D${PLATFORM} -shared -ptr ${XERCESCROOT}/.cxx_repository ${LDFLAGS}
     PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -ptr ${XERCESCROOT}/.cxx_repository
@@ -605,6 +654,12 @@
     else
     ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib -lc -lrt
     endif
+
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib \
+                  -licuuc -licudata -lXercesMessages -lc -lrt
+    endif
+
   endif
 endif
 
@@ -623,6 +678,12 @@
     else
         ALLLIBS = ${LIBS} -L/usr/lib
     endif
+
+    ifeq (${MESSAGELOADER}, ICU)
+        ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib \
+                  -licuuc -licudata -lXercesMessages -lc
+    endif
+
     SHLIBSUFFIX=.dylib
     ICUSHLIBSUFFIX=.dylib
     LD_SONAME = -install_name ${PREFIX}/lib/${SO_NAME}
@@ -642,6 +703,12 @@
       else
               ALLLIBS = ${LIBS} -L/usr/lib
       endif
+
+      ifeq (${MESSAGELOADER}, ICU)
+          ALLLIBS = ${LIBS} -L/usr/lib -L/usr/local/lib -L/usr/ccs/lib \
+                    -licuuc -licudata -lXercesMessages -lc
+      endif
+
       EXTRA_LINK_OPTIONS = \
               -Xlinker --warn-once \
               -Xlinker -Map \
@@ -850,7 +917,11 @@
 vpath %.$(TO) $(XML_OBJ_DIR)
 
 .cpp.$(TO):
+ifndef VERBOSE
 	$Qecho "  (C++) $@"
+else
+	$Qecho "$(CC1) -c $(XML_INCL) $(XML_BUILD_OPTIONS) $(XML_DEF) $(EXTRA_COMPILE_OPTIONS) -o $(XML_OBJ_DIR)/$(@) $(<)"
+endif
 	$Q$(CC1) -c $(XML_INCL) $(XML_BUILD_OPTIONS) $(XML_DEF) $(EXTRA_COMPILE_OPTIONS) -o $(XML_OBJ_DIR)/$(@) $(<)
 
 .c.$(TO):



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org