From 8e01d0dfe8600831b769a756269fec22f4c1f252 Mon Sep 17 00:00:00 2001 From: "Janet B. Anderson" Date: Tue, 10 Mar 2009 18:46:38 +0000 Subject: [PATCH] Modified STATIC build. Make all *_SYS_LIBS dynamic. Test non SYS_LIBS for dynamic or archive. --- configure/CONFIG_COMMON | 2 +- configure/os/CONFIG.Common.UnixCommon | 22 +++++++++++++++------- configure/os/CONFIG.win32-x86.win32-x86 | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/configure/CONFIG_COMMON b/configure/CONFIG_COMMON index 62112bf42..cafec0e60 100644 --- a/configure/CONFIG_COMMON +++ b/configure/CONFIG_COMMON @@ -274,7 +274,7 @@ LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(POSIX_LDFLAGS) \ $(ARCH_DEP_LDFLAGS) $(DEBUG_LDFLAGS) $(OP_SYS_LDFLAGS) $($(BUILD_CLASS)_LDFLAGS)\ $(RUNTIME_LDFLAGS) $(CODE_LDFLAGS) -LDLIBS = $(STATIC_LDLIBS)\ +LDLIBS = \ $(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(DEBUG_LDLIBS) $(OP_SYS_LDLIBS) $(GNU_LDLIBS_$(GNU)) CPPFLAGS += $($(BUILD_CLASS)_CPPFLAGS) $(POSIX_CPPFLAGS)\ diff --git a/configure/os/CONFIG.Common.UnixCommon b/configure/os/CONFIG.Common.UnixCommon index 3f4a3fd4a..58650ad3d 100644 --- a/configure/os/CONFIG.Common.UnixCommon +++ b/configure/os/CONFIG.Common.UnixCommon @@ -32,7 +32,7 @@ SHRLIBNAME_YES = $(BUILD_LIBRARY:%=$(LIB_PREFIX)%$(SHRLIB_SUFFIX)) LOADABLE_SHRLIBNAME = $(LOADABLE_BUILD_LIBRARY:%=$(LOADABLE_SHRLIB_PREFIX)%$(LOADABLE_SHRLIB_SUFFIX)) #------------------------------------------------------- -# shrlib: DEPLIBS, LDFLAGS, and LDLIBS definitions +# shrlib: SHRLIB_DEPLIBS, SHRLIB_LDLIBS and SHRLIBDIR_LDFLAGS definitions # SHRLIB_LIBS deprecated LIB_LIBS += $(SHRLIB_LIBS) @@ -43,16 +43,18 @@ SHRLIB_DEPLIBS=$(foreach lib, $(LIB_LIBS) $(USR_LIBS), \ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \ $(firstword $($(lib)_DIR) $(INSTALL_LIB))))) -SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS) \ - $($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) $(LDLIBS) +SHRLIB_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(LIB_LIBS) $(USR_LIBS))\ + $(STATIC_LDLIBS) \ + $(addprefix -l, $($*_SYS_LIBS) $(LIB_SYS_LIBS) $(USR_SYS_LIBS)) \ + $(LDLIBS) SHRLIB_DEPLIB_DIRS = $(foreach word,$(sort $(dir $($*_DEPLIBS) $(SHRLIB_DEPLIBS))), \ - $(shell $(PERL) $(TOOLS)/fullPathName.pl $(word))) + $(shell $(PERL) $(TOOLS)/fullPathName.pl $(word))) SHRLIBDIR_LDFLAGS += $(SHRLIB_DEPLIB_DIRS:%=-L%) #------------------------------------------------------- -# Prod: DEPLIBS, LDFLAGS, and LDLIBS definitions +# Prod: PROD_DEPLIBS, PROD_LDLIBS and PRODDIR_LDFLAGS definitions PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \ $(firstword $(wildcard $(addsuffix /$(LIB_PREFIX)$(lib).*, \ @@ -60,8 +62,14 @@ PROD_DEPLIBS=$(foreach lib,$(PROD_LIBS) $(USR_LIBS), \ $(addsuffix /$(LIB_PREFIX)$(lib)$(LIB_SUFFIX), \ $(firstword $($(lib)_DIR) $(INSTALL_LIB))))) -PROD_LDLIBS = $(addprefix -l, $($*_LDLIBS) $(PROD_LIBS) $(USR_LIBS)\ - $($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS)) +PROD_LIBS_ARCHIVE=$(patsubst $(LIB_PREFIX)%$(LIB_SUFFIX),%,\ + $(filter %$(LIB_SUFFIX),$(notdir $($*_DEPLIBS) $(PROD_DEPLIBS)))) +PROD_LIBS_SHARED=$(patsubst $(LIB_PREFIX)%$(SHRLIB_SUFFIX),%,\ + $(filter %$(SHRLIB_SUFFIX),$(notdir $($*_DEPLIBS) $(PROD_DEPLIBS)))) + +PROD_LDLIBS = $(addprefix -l, $(PROD_LIBS_ARCHIVE))\ + $(STATIC_LDLIBS) \ + $(addprefix -l, $(PROD_LIBS_SHARED) $($*_SYS_LIBS) $(PROD_SYS_LIBS) $(USR_SYS_LIBS)) LDLIBS_STATIC_YES = LDLIBS LDLIBS_SHARED_NO = LDLIBS diff --git a/configure/os/CONFIG.win32-x86.win32-x86 b/configure/os/CONFIG.win32-x86.win32-x86 index 1c042a89a..24f0c5cda 100644 --- a/configure/os/CONFIG.win32-x86.win32-x86 +++ b/configure/os/CONFIG.win32-x86.win32-x86 @@ -247,7 +247,7 @@ PROD_LDLIBS += $(addsuffix .lib, \ LDLIBS_STATIC_YES = LDLIBS LDLIBS_SHARED_NO = LDLIBS -PROD_LDLIBS += $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \ +PROD_LDLIBS += $(STATIC_LDLIBS) $($(firstword $(LDLIBS_STATIC_$(STATIC_BUILD)) \ $(LDLIBS_SHARED_$(SHARED_LIBRARIES)))) #--------------------------------------------------