From 5eb2bcb3b15a07253d1b5d0612a61268a71f7bae Mon Sep 17 00:00:00 2001
From: PeiYong Zhang <peiyongz@apache.org>
Date: Mon, 22 Mar 2004 22:07:26 +0000
Subject: [PATCH] DEPDOM_LINK_OPTIONS

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175839 13f79535-47bb-0310-9956-ffa450edef68
---
 obj/Makefile.in           |  6 +++---
 src/xercesc/Makefile.incl | 24 ++++++++++++++++++++++++
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/obj/Makefile.in b/obj/Makefile.in
index 087204f4b..59bf582d9 100644
--- a/obj/Makefile.in
+++ b/obj/Makefile.in
@@ -172,7 +172,7 @@ ${FQ_SO_NAME}:	$(ALL_OBJECTS)
 ## DepDOM ##
 ${FQ_SO_DEPDOM}: $(DEPDOM_OBJECTS)
 	@echo Building ${FQ_SO_DEPDOM}
-	${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME}
+	${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME}
 	@echo symlink ${FQ_REAL_DEPDOM}.a
 	rm -rf ${FQ_REAL_DEPDOM}.a   && ln -s ${XML_LIB_DIR}/${LIBDEPDOM}${SO_TARGET_VERSION}${SHLIBSUFFIX}.a ${FQ_REAL_DEPDOM}.a
 	@echo symlink ${FQ_LINK_DEPDOM}.a
@@ -192,7 +192,7 @@ ${FQ_REAL_NAME}: $(ALL_OBJECTS)
 ## DepDOM ##
 ${FQ_REAL_DEPDOM}: $(DEPDOM_OBJECTS)
 	@echo Building ${FQ_REAL_DEPDOM}
-	${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME}
+	${MAKE_SHARED} ${LD_SODEPDOM} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME}
     ifneq (${FQ_SO_DEPDOM},${FQ_REAL_DEPDOM})
 	@echo symlink ${FQ_SO_DEPDOM} 
 	rm -rf ${FQ_SO_DEPDOM}   && ln -s ${FQ_REAL_DEPDOM} ${FQ_SO_DEPDOM}
@@ -209,7 +209,7 @@ ${BATCH_TARGET}:        $(ALL_OBJECTS)
 	${MAKE_SHARED} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS)
 ${DEPDOM_TARGET}:        $(DEPDOM_OBJECTS)
 	@echo Building ${DEPDOM_TARGET}
-	${MAKE_SHARED} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(EXTRA_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME}
+	${MAKE_SHARED} -o ${@} ${^} $(TEMPLATESOBJS) $(PLATFORM_LIBRARIES) $(DEPDOM_LINK_OPTIONS) $(ALLLIBS) -L${LIB} -l${LINK_LIBNAME}
 else
 	$(CP) ${LIBNAME}${VER}${OS390SIDEDECK} ${LIB}
 endif
diff --git a/src/xercesc/Makefile.incl b/src/xercesc/Makefile.incl
index 8f13988a7..900fe70fe 100644
--- a/src/xercesc/Makefile.incl
+++ b/src/xercesc/Makefile.incl
@@ -196,6 +196,7 @@ ifeq (${PLATFORM}, OPENSERVER)
     MAKE_SHARED = ${CXX} -D${PLATFORM} -G ${LDFLAGS}
     MAKE_SHARED_C = ${CC} -D${PLATFORM} -G ${LDFLAGS}
     EXTRA_LINK_OPTIONS = -Wl,-h,${LIBNAME}${VER}${SHLIBSUFFIX}
+    DEPDOM_LINK_OPTIONS = -Wl,-h,${LIBDEPDOM}${VER}${SHLIBSUFFIX}    
   else
     PLATFORM_COMPILE_OPTIONS = -D${PLATFORM} -belf -KPIC
     MAKE_SHARED = ${CXX} -D${PLATFORM} -belf -G ${LDFLAGS}
@@ -226,6 +227,7 @@ OBJ_OUT=${ALL_OBJECTS_DIR}/
 MAKE_SHARED = ${PLATFORM_CPP_COMPILER} -D${PLATFORM} -G ${LDFLAGS}
 MAKE_SHARED_C = ${PLATFORM_C_COMPILER} -D${PLATFORM} -G ${LDFLAGS}
 EXTRA_LINK_OPTIONS = -lm -lgen
+DEPDOM_LINK_OPTIONS = -lm -lgen
 SHLIBSUFFIX=.so
 ICUSHLIBSUFFIX=.so
 endif
@@ -262,6 +264,8 @@ else
 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
+
 SHLIBSUFFIX=.a
 ICUSHLIBSUFFIX=.so
 ## Compiler switch to embed a library name
@@ -298,12 +302,15 @@ endif
 ifeq (${TRANSCODER}, ICU)
 ifeq (${SYSOVR},OS400)
 EXTRA_LINK_OPTIONS = -licuuc -licudata -lbsd
+DEPDOM_LINK_OPTIONS = -licuuc -licudata -lbsd
 else
 EXTRA_LINK_OPTIONS = -lQZUUC
+DEPDOM_LINK_OPTIONS = -lQZUUC
 endif
 endif
 EXTRA_COMPILE_OPTIONS = -I. -g
 EXTRA_LINK_OPTIONS = -q OPTION='*DUPVAR *DUPPROC'
+DEPDOM_LINK_OPTIONS = -q OPTION='*DUPVAR *DUPPROC'
 
 RM2 = -del
 MV  = mv
@@ -321,6 +328,7 @@ else
     ALLLIBS = ${LIBS} -L/boot/develop/lib/x86 -L/boot/home/config/lib -lbe
 endif
 EXTRA_LINK_OPTIONS = -Xlinker -Map -Xlinker $(XML_OBJ)/${SO_NAME}.map
+DEPDOM_LINK_OPTIONS = -Xlinker -Map -Xlinker $(XML_OBJ)/${SO_DEPDOM}.map
 SHLIBSUFFIX=.so
 ICUSHLIBSUFFIX=.so
 ## Compiler switch to embed a library name
@@ -375,6 +383,7 @@ endif
 endif
 
 EXTRA_LINK_OPTIONS = -Xlinker -Map -Xlinker $(XML_OBJ)/${SO_NAME}.map
+DEPDOM_LINK_OPTIONS = -Xlinker -Map -Xlinker $(XML_OBJ)/${SO_DEPDOM}.map
 SHLIBSUFFIX=.so
 ICUSHLIBSUFFIX=.so
 ## Compiler switch to embed a library name
@@ -398,6 +407,7 @@ ifeq (${MESSAGELOADER}, ICU)
 endif
 
 EXTRA_LINK_OPTIONS =
+DEPDOM_LINK_OPTIONS =
 SHLIBSUFFIX=.so
 ICUSHLIBSUFFIX=.so
 ## Compiler switch to embed a library name
@@ -467,6 +477,7 @@ PLATFORM_COMPILE_OPTIONS = /C+ /Gd- /Ge- /Gm+ /Gs- /Re /J+  /Ms /Sm /Sn /Ss+
 MAKE_SHARED = ilink /nofree ${LDFLAGS}
 MAKE_SHARED_C = ilink /nofree ${LDFLAGS}
 EXTRA_LINK_OPTIONS = /map /nod /noe /noi /packcode /packdata /exepack /align:4
+DEPDOM_LINK_OPTIONS = /map /nod /noe /noi /packcode /packdata /exepack /align:4
 SHLIBSUFFIX= .dll
 ICUSHLIBSUFFIX= .dll
 ifneq (${DEBUG}, 1)
@@ -499,6 +510,7 @@ ifeq (${PLATFORM}, HPUX)
     endif
 
     EXTRA_LINK_OPTIONS = -b -Wl,+s -Wl,+b,.
+    DEPDOM_LINK_OPTIONS = -b -Wl,+s -Wl,+b,.    
     SHLIBSUFFIX=.sl
     ICUSHLIBSUFFIX=.sl
   else
@@ -523,6 +535,7 @@ ifeq (${PLATFORM}, HPUX)
     endif
 
     EXTRA_LINK_OPTIONS = -b -Wl,+s -Wl,+b,. -Wl,-a,shared
+    DEPDOM_LINK_OPTIONS = -b -Wl,+s -Wl,+b,. -Wl,-a,shared    
     SHLIBSUFFIX=.sl
     ICUSHLIBSUFFIX=.sl
   endif
@@ -565,6 +578,7 @@ else
 endif
 endif
 EXTRA_LINK_OPTIONS =
+DEPDOM_LINK_OPTIONS =
 SHLIBSUFFIX=.dll
 ICUSHLIBSUFFIX=.dll
 OS390SIDEDECK=.x
@@ -636,6 +650,16 @@ ifeq (${PLATFORM}, CYGWIN)
                   -Xlinker $(XML_LIB_DIR)/${LIBNAME}${SO_TARGET_VERSION}.def \
               -Xlinker --out-implib \
                   -Xlinker $(XML_LIB_DIR)/${LIBNAME}${SO_TARGET_VERSION}.dll.a
+                  
+      DEPDOM_LINK_OPTIONS = \
+              -Xlinker --warn-once \
+              -Xlinker -Map \
+                  -Xlinker $(XML_LIB_DIR)/${LIBDEPDOM}${SO_TARGET_VERSION}.map \
+              -Xlinker --output-def \
+                  -Xlinker $(XML_LIB_DIR)/${LIBDEPDOM}${SO_TARGET_VERSION}.def \
+              -Xlinker --out-implib \
+                  -Xlinker $(XML_LIB_DIR)/${LIBDEPDOM}${SO_TARGET_VERSION}.dll.a
+                                    
         SHLIBSUFFIX=.dll
         ICUSHLIBSUFFIX=.dll
 endif
-- 
GitLab