From 376de6fb8cc3ee705b307ff01f99c93010b940b0 Mon Sep 17 00:00:00 2001 From: kitty Date: Wed, 12 Jun 2002 23:34:18 +0000 Subject: ChangeLogTag: Wed Jun 12 18:29:11 2002 Krishnakumar B --- ChangeLog | 80 ++++++++++++++++++++-- ChangeLogs/ChangeLog-02a | 80 ++++++++++++++++++++-- ChangeLogs/ChangeLog-03a | 80 ++++++++++++++++++++-- TAO/rules.tao.GNU | 21 ++++++ include/makeinclude/platform_aix4_cset++.GNU | 9 ++- include/makeinclude/platform_aix4_g++.GNU | 3 +- include/makeinclude/platform_aix_g++.GNU | 2 + include/makeinclude/platform_aix_ibm.GNU | 8 ++- include/makeinclude/platform_dgux4_epc.GNU | 4 +- include/makeinclude/platform_freebsd.GNU | 2 +- include/makeinclude/platform_g++_common.GNU | 7 ++ include/makeinclude/platform_gnuwin32_common.GNU | 2 +- include/makeinclude/platform_hpux.GNU | 4 +- include/makeinclude/platform_hpux_aCC.GNU | 4 +- include/makeinclude/platform_hpux_gcc.GNU | 4 +- include/makeinclude/platform_hpux_kcc.GNU | 3 +- include/makeinclude/platform_irix5.3_g++.GNU | 2 +- include/makeinclude/platform_irix5.3_sgic++.GNU | 8 +-- include/makeinclude/platform_irix6.x_g++.GNU | 2 +- include/makeinclude/platform_irix6.x_kcc.GNU | 2 +- include/makeinclude/platform_irix6.x_sgic++.GNU | 4 +- include/makeinclude/platform_linux.GNU | 2 +- include/makeinclude/platform_linux_cxx.GNU | 2 +- include/makeinclude/platform_linux_icc.GNU | 2 +- include/makeinclude/platform_linux_kcc.GNU | 2 +- include/makeinclude/platform_m88k.GNU | 12 ++-- include/makeinclude/platform_macosx.GNU | 2 +- include/makeinclude/platform_mvs.GNU | 14 ++-- include/makeinclude/platform_netbsd.GNU | 8 +-- include/makeinclude/platform_osf1_3.2_cxx.GNU | 2 +- include/makeinclude/platform_osf1_4.x_cxx.GNU | 4 +- include/makeinclude/platform_osf1_4.x_g++.GNU | 2 +- include/makeinclude/platform_osf1_4.x_kcc.GNU | 2 +- include/makeinclude/platform_osf1_4.x_rcc.GNU | 2 +- include/makeinclude/platform_psosim_g++.GNU | 2 +- include/makeinclude/platform_qnx_neutrino.GNU | 2 +- include/makeinclude/platform_qnx_rtp_gcc.GNU | 2 +- include/makeinclude/platform_sco-nothread.GNU | 2 +- .../platform_sco5.0.0-CC-fsu-pthread.GNU | 4 +- .../makeinclude/platform_sco5.0.0-mit-pthread.GNU | 2 +- include/makeinclude/platform_sco5.0.0-nothread.GNU | 2 +- include/makeinclude/platform_sunos4_g++.GNU | 2 +- include/makeinclude/platform_sunos4_lucid.GNU | 4 +- include/makeinclude/platform_sunos4_sunc++3.x.GNU | 4 +- include/makeinclude/platform_sunos4_sunc++4.x.GNU | 2 +- include/makeinclude/platform_sunos5_centerline.GNU | 2 +- include/makeinclude/platform_sunos5_g++.GNU | 2 +- include/makeinclude/platform_sunos5_ghs.GNU | 2 +- include/makeinclude/platform_sunos5_kcc.GNU | 2 +- include/makeinclude/platform_sunos5_sunc++.GNU | 2 +- include/makeinclude/platform_tandem.GNU | 25 ++++--- include/makeinclude/platform_unixware_g++.GNU | 2 +- include/makeinclude/platform_unixware_udk.GNU | 6 +- include/makeinclude/rules.lib.GNU | 12 ++-- include/makeinclude/rules.local.GNU | 7 +- include/makeinclude/wrapper_macros.GNU | 25 +++++-- 56 files changed, 382 insertions(+), 120 deletions(-) diff --git a/ChangeLog b/ChangeLog index 384c0124bea..ed90d1c7287 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,75 @@ +Wed Jun 12 18:29:11 2002 Krishnakumar B + + * include/makeinclude/rules.lib.GNU: + * include/makeinclude/rules.local.GNU: + * include/makeinclude/wrapper_macros.GNU: + * TAO/rules.tao.GNU: + * include/makeinclude/platform_g++_common.GNU: + + Added support for shared library versioning. Libraries built + with GNU ld with be versioned by default. + + * include/makeinclude/platform_aix4_cset++.GNU: + * include/makeinclude/platform_aix4_g++.GNU: + * include/makeinclude/platform_aix_g++.GNU: + * include/makeinclude/platform_aix_ibm.GNU: + * include/makeinclude/platform_hpux.GNU: + * include/makeinclude/platform_hpux_aCC.GNU: + * include/makeinclude/platform_hpux_gcc.GNU: + * include/makeinclude/platform_hpux_kcc.GNU: + + Added null SONAME and SOVERSION for disabling shared library + versioning. + + * include/makeinclude/platform_dgux4_epc.GNU: + * include/makeinclude/platform_freebsd.GNU: + * include/makeinclude/platform_gnuwin32_common.GNU: + * include/makeinclude/platform_irix5.3_g++.GNU: + * include/makeinclude/platform_irix5.3_sgic++.GNU: + * include/makeinclude/platform_irix6.x_g++.GNU: + * include/makeinclude/platform_irix6.x_kcc.GNU: + * include/makeinclude/platform_irix6.x_sgic++.GNU: + * include/makeinclude/platform_linux.GNU: + * include/makeinclude/platform_linux_cxx.GNU: + * include/makeinclude/platform_linux_icc.GNU: + * include/makeinclude/platform_linux_kcc.GNU: + * include/makeinclude/platform_m88k.GNU: + * include/makeinclude/platform_macosx.GNU: + * include/makeinclude/platform_mvs.GNU: + * include/makeinclude/platform_netbsd.GNU: + * include/makeinclude/platform_osf1_3.2_cxx.GNU: + * include/makeinclude/platform_osf1_4.x_cxx.GNU: + * include/makeinclude/platform_osf1_4.x_g++.GNU: + * include/makeinclude/platform_osf1_4.x_kcc.GNU: + * include/makeinclude/platform_osf1_4.x_rcc.GNU: + * include/makeinclude/platform_psosim_g++.GNU: + * include/makeinclude/platform_qnx_neutrino.GNU: + * include/makeinclude/platform_qnx_rtp_gcc.GNU: + * include/makeinclude/platform_sco-nothread.GNU: + * include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU: + * include/makeinclude/platform_sco5.0.0-mit-pthread.GNU: + * include/makeinclude/platform_sco5.0.0-nothread.GNU: + * include/makeinclude/platform_sunos4_g++.GNU: + * include/makeinclude/platform_sunos4_lucid.GNU: + * include/makeinclude/platform_sunos4_sunc++3.x.GNU: + * include/makeinclude/platform_sunos4_sunc++4.x.GNU: + * include/makeinclude/platform_sunos5_centerline.GNU: + * include/makeinclude/platform_sunos5_g++.GNU: + * include/makeinclude/platform_sunos5_ghs.GNU: + * include/makeinclude/platform_sunos5_kcc.GNU: + * include/makeinclude/platform_sunos5_sunc++.GNU: + * include/makeinclude/platform_tandem.GNU: + * include/makeinclude/platform_unixware_g++.GNU: + * include/makeinclude/platform_unixware_udk.GNU: + + Changed SOFLAGS = to SOFLAGS += to avoid dealing with order of + includes of various Makefile rules. + + Wed Jun 12 11:25:22 2002 Douglas C. Schmidt * tests/Config_Test.cpp (test): Removed what appeared to be - an unnecessary and unused called to + an unnecessary and unused called to const ACE_Configuration_Section_Key &root = config->root_section (); * ace/Configuration.cpp (open_section): Fixed a warning in the @@ -27,13 +95,13 @@ Tue Jun 11 10:23:03 2002 Stephen Torri Tue Jun 11 19:05:39 2002 Douglas C. Schmidt - * ace/SOCK_Dgram_Mcast.h: Added a default constructor for + * ace/SOCK_Dgram_Mcast.h: Added a default constructor for ACE_SOCK_Dgram_Mcast. * tests/Config_Test.cpp (test): Added tests for the following capability. Thanks to Eugene Alterman for contributing these tests. - + * ace/Configuration.{h,cpp}: Added support for a new open_simple_section() method that does not allow path key separators. Thanks to Eugene Alterman for contributing this @@ -47,11 +115,11 @@ Tue Jun 11 20:02:39 2002 Steve Huston Tue Jun 11 13:17:29 2002 Douglas C. Schmidt - * ace/Cache_Map_Manager_T.h: - * ace/Caching_Utility_T.h: + * ace/Cache_Map_Manager_T.h: + * ace/Caching_Utility_T.h: * ace/Env_Value_T.h: Added #include "ace/Global_Macros.h". Thanks to Ty Tenait for reporting this. - + * ace/Dirent_Selector.h: Added #include "ace/ACE_export.h". Thanks to Ty Tenait for reporting this. diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index 384c0124bea..ed90d1c7287 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,7 +1,75 @@ +Wed Jun 12 18:29:11 2002 Krishnakumar B + + * include/makeinclude/rules.lib.GNU: + * include/makeinclude/rules.local.GNU: + * include/makeinclude/wrapper_macros.GNU: + * TAO/rules.tao.GNU: + * include/makeinclude/platform_g++_common.GNU: + + Added support for shared library versioning. Libraries built + with GNU ld with be versioned by default. + + * include/makeinclude/platform_aix4_cset++.GNU: + * include/makeinclude/platform_aix4_g++.GNU: + * include/makeinclude/platform_aix_g++.GNU: + * include/makeinclude/platform_aix_ibm.GNU: + * include/makeinclude/platform_hpux.GNU: + * include/makeinclude/platform_hpux_aCC.GNU: + * include/makeinclude/platform_hpux_gcc.GNU: + * include/makeinclude/platform_hpux_kcc.GNU: + + Added null SONAME and SOVERSION for disabling shared library + versioning. + + * include/makeinclude/platform_dgux4_epc.GNU: + * include/makeinclude/platform_freebsd.GNU: + * include/makeinclude/platform_gnuwin32_common.GNU: + * include/makeinclude/platform_irix5.3_g++.GNU: + * include/makeinclude/platform_irix5.3_sgic++.GNU: + * include/makeinclude/platform_irix6.x_g++.GNU: + * include/makeinclude/platform_irix6.x_kcc.GNU: + * include/makeinclude/platform_irix6.x_sgic++.GNU: + * include/makeinclude/platform_linux.GNU: + * include/makeinclude/platform_linux_cxx.GNU: + * include/makeinclude/platform_linux_icc.GNU: + * include/makeinclude/platform_linux_kcc.GNU: + * include/makeinclude/platform_m88k.GNU: + * include/makeinclude/platform_macosx.GNU: + * include/makeinclude/platform_mvs.GNU: + * include/makeinclude/platform_netbsd.GNU: + * include/makeinclude/platform_osf1_3.2_cxx.GNU: + * include/makeinclude/platform_osf1_4.x_cxx.GNU: + * include/makeinclude/platform_osf1_4.x_g++.GNU: + * include/makeinclude/platform_osf1_4.x_kcc.GNU: + * include/makeinclude/platform_osf1_4.x_rcc.GNU: + * include/makeinclude/platform_psosim_g++.GNU: + * include/makeinclude/platform_qnx_neutrino.GNU: + * include/makeinclude/platform_qnx_rtp_gcc.GNU: + * include/makeinclude/platform_sco-nothread.GNU: + * include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU: + * include/makeinclude/platform_sco5.0.0-mit-pthread.GNU: + * include/makeinclude/platform_sco5.0.0-nothread.GNU: + * include/makeinclude/platform_sunos4_g++.GNU: + * include/makeinclude/platform_sunos4_lucid.GNU: + * include/makeinclude/platform_sunos4_sunc++3.x.GNU: + * include/makeinclude/platform_sunos4_sunc++4.x.GNU: + * include/makeinclude/platform_sunos5_centerline.GNU: + * include/makeinclude/platform_sunos5_g++.GNU: + * include/makeinclude/platform_sunos5_ghs.GNU: + * include/makeinclude/platform_sunos5_kcc.GNU: + * include/makeinclude/platform_sunos5_sunc++.GNU: + * include/makeinclude/platform_tandem.GNU: + * include/makeinclude/platform_unixware_g++.GNU: + * include/makeinclude/platform_unixware_udk.GNU: + + Changed SOFLAGS = to SOFLAGS += to avoid dealing with order of + includes of various Makefile rules. + + Wed Jun 12 11:25:22 2002 Douglas C. Schmidt * tests/Config_Test.cpp (test): Removed what appeared to be - an unnecessary and unused called to + an unnecessary and unused called to const ACE_Configuration_Section_Key &root = config->root_section (); * ace/Configuration.cpp (open_section): Fixed a warning in the @@ -27,13 +95,13 @@ Tue Jun 11 10:23:03 2002 Stephen Torri Tue Jun 11 19:05:39 2002 Douglas C. Schmidt - * ace/SOCK_Dgram_Mcast.h: Added a default constructor for + * ace/SOCK_Dgram_Mcast.h: Added a default constructor for ACE_SOCK_Dgram_Mcast. * tests/Config_Test.cpp (test): Added tests for the following capability. Thanks to Eugene Alterman for contributing these tests. - + * ace/Configuration.{h,cpp}: Added support for a new open_simple_section() method that does not allow path key separators. Thanks to Eugene Alterman for contributing this @@ -47,11 +115,11 @@ Tue Jun 11 20:02:39 2002 Steve Huston Tue Jun 11 13:17:29 2002 Douglas C. Schmidt - * ace/Cache_Map_Manager_T.h: - * ace/Caching_Utility_T.h: + * ace/Cache_Map_Manager_T.h: + * ace/Caching_Utility_T.h: * ace/Env_Value_T.h: Added #include "ace/Global_Macros.h". Thanks to Ty Tenait for reporting this. - + * ace/Dirent_Selector.h: Added #include "ace/ACE_export.h". Thanks to Ty Tenait for reporting this. diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 384c0124bea..ed90d1c7287 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,7 +1,75 @@ +Wed Jun 12 18:29:11 2002 Krishnakumar B + + * include/makeinclude/rules.lib.GNU: + * include/makeinclude/rules.local.GNU: + * include/makeinclude/wrapper_macros.GNU: + * TAO/rules.tao.GNU: + * include/makeinclude/platform_g++_common.GNU: + + Added support for shared library versioning. Libraries built + with GNU ld with be versioned by default. + + * include/makeinclude/platform_aix4_cset++.GNU: + * include/makeinclude/platform_aix4_g++.GNU: + * include/makeinclude/platform_aix_g++.GNU: + * include/makeinclude/platform_aix_ibm.GNU: + * include/makeinclude/platform_hpux.GNU: + * include/makeinclude/platform_hpux_aCC.GNU: + * include/makeinclude/platform_hpux_gcc.GNU: + * include/makeinclude/platform_hpux_kcc.GNU: + + Added null SONAME and SOVERSION for disabling shared library + versioning. + + * include/makeinclude/platform_dgux4_epc.GNU: + * include/makeinclude/platform_freebsd.GNU: + * include/makeinclude/platform_gnuwin32_common.GNU: + * include/makeinclude/platform_irix5.3_g++.GNU: + * include/makeinclude/platform_irix5.3_sgic++.GNU: + * include/makeinclude/platform_irix6.x_g++.GNU: + * include/makeinclude/platform_irix6.x_kcc.GNU: + * include/makeinclude/platform_irix6.x_sgic++.GNU: + * include/makeinclude/platform_linux.GNU: + * include/makeinclude/platform_linux_cxx.GNU: + * include/makeinclude/platform_linux_icc.GNU: + * include/makeinclude/platform_linux_kcc.GNU: + * include/makeinclude/platform_m88k.GNU: + * include/makeinclude/platform_macosx.GNU: + * include/makeinclude/platform_mvs.GNU: + * include/makeinclude/platform_netbsd.GNU: + * include/makeinclude/platform_osf1_3.2_cxx.GNU: + * include/makeinclude/platform_osf1_4.x_cxx.GNU: + * include/makeinclude/platform_osf1_4.x_g++.GNU: + * include/makeinclude/platform_osf1_4.x_kcc.GNU: + * include/makeinclude/platform_osf1_4.x_rcc.GNU: + * include/makeinclude/platform_psosim_g++.GNU: + * include/makeinclude/platform_qnx_neutrino.GNU: + * include/makeinclude/platform_qnx_rtp_gcc.GNU: + * include/makeinclude/platform_sco-nothread.GNU: + * include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU: + * include/makeinclude/platform_sco5.0.0-mit-pthread.GNU: + * include/makeinclude/platform_sco5.0.0-nothread.GNU: + * include/makeinclude/platform_sunos4_g++.GNU: + * include/makeinclude/platform_sunos4_lucid.GNU: + * include/makeinclude/platform_sunos4_sunc++3.x.GNU: + * include/makeinclude/platform_sunos4_sunc++4.x.GNU: + * include/makeinclude/platform_sunos5_centerline.GNU: + * include/makeinclude/platform_sunos5_g++.GNU: + * include/makeinclude/platform_sunos5_ghs.GNU: + * include/makeinclude/platform_sunos5_kcc.GNU: + * include/makeinclude/platform_sunos5_sunc++.GNU: + * include/makeinclude/platform_tandem.GNU: + * include/makeinclude/platform_unixware_g++.GNU: + * include/makeinclude/platform_unixware_udk.GNU: + + Changed SOFLAGS = to SOFLAGS += to avoid dealing with order of + includes of various Makefile rules. + + Wed Jun 12 11:25:22 2002 Douglas C. Schmidt * tests/Config_Test.cpp (test): Removed what appeared to be - an unnecessary and unused called to + an unnecessary and unused called to const ACE_Configuration_Section_Key &root = config->root_section (); * ace/Configuration.cpp (open_section): Fixed a warning in the @@ -27,13 +95,13 @@ Tue Jun 11 10:23:03 2002 Stephen Torri Tue Jun 11 19:05:39 2002 Douglas C. Schmidt - * ace/SOCK_Dgram_Mcast.h: Added a default constructor for + * ace/SOCK_Dgram_Mcast.h: Added a default constructor for ACE_SOCK_Dgram_Mcast. * tests/Config_Test.cpp (test): Added tests for the following capability. Thanks to Eugene Alterman for contributing these tests. - + * ace/Configuration.{h,cpp}: Added support for a new open_simple_section() method that does not allow path key separators. Thanks to Eugene Alterman for contributing this @@ -47,11 +115,11 @@ Tue Jun 11 20:02:39 2002 Steve Huston Tue Jun 11 13:17:29 2002 Douglas C. Schmidt - * ace/Cache_Map_Manager_T.h: - * ace/Caching_Utility_T.h: + * ace/Cache_Map_Manager_T.h: + * ace/Caching_Utility_T.h: * ace/Env_Value_T.h: Added #include "ace/Global_Macros.h". Thanks to Ty Tenait for reporting this. - + * ace/Dirent_Selector.h: Added #include "ace/ACE_export.h". Thanks to Ty Tenait for reporting this. diff --git a/TAO/rules.tao.GNU b/TAO/rules.tao.GNU index 5f3716eede8..ed98c21c9ec 100644 --- a/TAO/rules.tao.GNU +++ b/TAO/rules.tao.GNU @@ -242,3 +242,24 @@ $(foreach ext, $(IDL_EXT) $(IDL_EXT2), %$(ext)): %.idl endif # tao_dont_use_idl_make_rule endif # use_flick = 1 + +# Turn on symbol versioning. The scheme that we follow is to allow +# applications dependent on libraries, with same version numbers (major, +# minor and beta) to run, but applications with dependencies on libraries +# with different minor or major or beta versions to fail. +# +TAO_MAJOR_VERSION := $(shell echo `perl -ne 'if (/TAO version/) { s/[^0-9]+(\d+)+\.(\d+)+\.(\d+)+.+/\1/ ; print }' ${TAO_ROOT}/VERSION`) +TAO_MINOR_VERSION := $(shell echo `perl -ne 'if (/TAO version/) { s/[^0-9]+(\d+)+\.(\d+)+\.(\d+)+.+/\2/ ; print }' ${TAO_ROOT}/VERSION`) +TAO_BETA_VERSION := $(shell echo `perl -ne 'if (/TAO version/) { s/[^0-9]+(\d+)+\.(\d+)+\.(\d+)+.+/\3/ ; print }' ${TAO_ROOT}/VERSION`) + +# Version number of the libraries +# +ifneq ($(SOVERSION),) + SOVERSION = .$(TAO_MAJOR_VERSION).$(TAO_MINOR_VERSION).$(TAO_BETA_VERSION) +endif + +# Name that will be written into the dynamic library +# +ifneq ($(SONAME),) +SONAME = $(SHLIB).$(TAO_MAJOR_VERSION).$(TAO_MINOR_VERSION).$(TAO_BETA_VERSION) +endif diff --git a/include/makeinclude/platform_aix4_cset++.GNU b/include/makeinclude/platform_aix4_cset++.GNU index 28bd5dfe732..23077191842 100644 --- a/include/makeinclude/platform_aix4_cset++.GNU +++ b/include/makeinclude/platform_aix4_cset++.GNU @@ -79,7 +79,7 @@ CCFLAGS += $(CFLAGS) -qtempinc -qinfo # It relies on the preprocessor defining __xlC__ to the proper version # number of the compiler. XLCVERSION := $(shell echo "__xlC__" > ./testAIXCompilerVersion.cpp) -XLCVERSION := $(shell $(CXX) -E ./testAIXCompilerVersion.cpp | tail -1') +XLCVERSION := $(shell $(CXX) -E ./testAIXCompilerVersion.cpp | tail -1) ACE_AIX_CLEAN := $(shell $(RM) ./testAIXCompilerVersion.cpp) ifeq ($(XLCVERSION),0x0306) CCFLAGS += -qflag=e:e @@ -104,14 +104,17 @@ endif ARFLAGS = ruv AR = ar -LDFLAGS += -bI:/lib/pse.exp +LDFLAGS += -bI:/lib/pse.exp # Default OCCFLAGS builds common code for all RS/6000 architectures but # this can be set to optimize for your particular computer. The commented # out example optimizes for RS/6000 43P. # OCCFLAGS is not used by default. To used it, set optimize=1 # either in this file or on the command line. #OCCFLAGS += -qarch=ppc -qtune=604 -OCCFLAGS += -O2 -qarch=com +OCCFLAGS += -O2 -qarch=com RANLIB = ranlib SOFLAGS = -p 0 TEMPINCDIR = tempinc + +SOVERSION = +SONAME = diff --git a/include/makeinclude/platform_aix4_g++.GNU b/include/makeinclude/platform_aix4_g++.GNU index 0654bf3af0a..85266414627 100644 --- a/include/makeinclude/platform_aix4_g++.GNU +++ b/include/makeinclude/platform_aix4_g++.GNU @@ -64,7 +64,8 @@ SOFLAGS += -shared -Wl,-bexpall # -Wl,-bloadmap:lib.map LIBS += -ltli_r -ldl ARFLAGS = cruv RANLIB = ranlib - +SONAME = +SOVERSION = # On AIX, shared libraries are not generally left in .so form to link against. # To do so requires the run-time linker and that is an unnecessary evil. # So build the .so as usual, but then put in an archive library to link diff --git a/include/makeinclude/platform_aix_g++.GNU b/include/makeinclude/platform_aix_g++.GNU index d8bf6f8aade..29469a49743 100644 --- a/include/makeinclude/platform_aix_g++.GNU +++ b/include/makeinclude/platform_aix_g++.GNU @@ -35,3 +35,5 @@ LIBS += /lib/crt0_r.o -L/usr/lib/threads -lsvld -lC_r -lpthreads PIC = -fPIC ARFLAGS = cruv RANLIB = ranlib +SONAME = +SOVERSION = diff --git a/include/makeinclude/platform_aix_ibm.GNU b/include/makeinclude/platform_aix_ibm.GNU index c47e5eb35df..9f490f54e66 100644 --- a/include/makeinclude/platform_aix_ibm.GNU +++ b/include/makeinclude/platform_aix_ibm.GNU @@ -91,7 +91,7 @@ DCFLAGS += -g -qcheck=nobounds:div:null # Now sort out the compiler differences here... ifeq ($(XLCVERSION),0x0306) CCFLAGS += -qlanglvl=ansi -qflag=e:e - SOFLAGS = -p 0 + SOFLAGS += -p 0 # ibmcxx_build turns on the extra step for instantiating and compiling # template instances in rules.lib.GNU. ibmcxx_build = 1 @@ -100,7 +100,7 @@ else ifeq ($(XLCVERSION),0x0500) CCFLAGS += -qflag=w:w -qstaticinline DLD = $(CXX) -qmkshrobj - SOFLAGS = $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS) + SOFLAGS += $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS) ifeq ($(buildbits),64) DLD += -q64 CCFLAGS += -q64 @@ -133,6 +133,8 @@ endif LIBS += $(ACELIB) -ltli_r -ldl +SONAME = +SOVERSION = # Default OCCFLAGS builds common code for all RS/6000 architectures but # this can be set to optimize for your particular computer. The commented # out example optimizes for RS/6000 43P. @@ -143,4 +145,4 @@ LIBS += $(ACELIB) -ltli_r -ldl # -O2 is too much for Visual Age C++ 5.0. It ends up calling # the wrong methods in some cases (orbsvcs/tests/EC_Throughput). # Chad Elliott 7/24/2001 -OCCFLAGS += -qlibansi -O -qarch=com +OCCFLAGS += -qlibansi -O -qarch=com diff --git a/include/makeinclude/platform_dgux4_epc.GNU b/include/makeinclude/platform_dgux4_epc.GNU index 9f48af9e06f..96080eca81a 100644 --- a/include/makeinclude/platform_dgux4_epc.GNU +++ b/include/makeinclude/platform_dgux4_epc.GNU @@ -10,13 +10,13 @@ CXX = ec++ ## CCFLAGS += -relax -tproff CCFLAGS += $(CFLAGS) -relax -v -eh DCFLAGS += -g -DLD = $(CXX) +DLD = $(CXX) LIBS += -lgen -lsocket -ldl -lnsl -lc PIC = -KPIC AR = ar ARFLAGS = -ruv RANLIB = echo -SOFLAGS = -G $(CPPFLAGS) +SOFLAGS += -G $(CPPFLAGS) #SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ # $(SOLINK.cc) -o $@ -h $@ $(LDFLAGS) $(VSHDIR)$*.o SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ diff --git a/include/makeinclude/platform_freebsd.GNU b/include/makeinclude/platform_freebsd.GNU index 9128d93029a..a7eb55eeac4 100644 --- a/include/makeinclude/platform_freebsd.GNU +++ b/include/makeinclude/platform_freebsd.GNU @@ -42,6 +42,6 @@ AR = ar ARFLAGS = ruv RANLIB = ranlib -SOFLAGS = $(CPPFLAGS) -shared +SOFLAGS += $(CPPFLAGS) -shared SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @echo diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU index 0d667cedbc8..7b164d88d83 100644 --- a/include/makeinclude/platform_g++_common.GNU +++ b/include/makeinclude/platform_g++_common.GNU @@ -35,3 +35,10 @@ ifeq ($(templates),explicit) endif CPPFLAGS += -DACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION endif + +# The correct flags to pass to the linker for ELF dynamic shared library +# versioning +# +ifneq ($(SONAME),) + SOFLAGS += -Wl,-soname -Wl,$(SONAME) +endif diff --git a/include/makeinclude/platform_gnuwin32_common.GNU b/include/makeinclude/platform_gnuwin32_common.GNU index 65d808dda0b..0afd2023992 100644 --- a/include/makeinclude/platform_gnuwin32_common.GNU +++ b/include/makeinclude/platform_gnuwin32_common.GNU @@ -89,7 +89,7 @@ AR = ar ARFLAGS = rsuv RANLIB = ranlib SOEXT = dll -SOFLAGS = $(MODEL_FLAGS) $(CPPFLAGS) +SOFLAGS += $(MODEL_FLAGS) $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< # The sed below is to strip comments on the .def file, diff --git a/include/makeinclude/platform_hpux.GNU b/include/makeinclude/platform_hpux.GNU index 2388aaf5be9..15d7b469fad 100644 --- a/include/makeinclude/platform_hpux.GNU +++ b/include/makeinclude/platform_hpux.GNU @@ -19,10 +19,12 @@ ARFLAGS = ruv RANLIB = echo LDFLAGS = -L$(ACE_ROOT)/ace -Wl,+s LIBS += -lxti -SOFLAGS = -b +SOFLAGS += -b SOEXT = sl SOBUILD = @echo ""; \ echo "$(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<"; \ $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ echo "$(SOLINK.cc) -o $@ $(VSHDIR)$*.o"; \ $(SOLINK.cc) -o $@ $(VSHDIR)$*.o +SONAME = +SOVERSION = diff --git a/include/makeinclude/platform_hpux_aCC.GNU b/include/makeinclude/platform_hpux_aCC.GNU index 7048896e0e9..af092aa5aab 100644 --- a/include/makeinclude/platform_hpux_aCC.GNU +++ b/include/makeinclude/platform_hpux_aCC.GNU @@ -110,7 +110,7 @@ AR = $(COMPILE.cc) +inst_close $^; /bin/ar ARFLAGS = ruv RANLIB = echo LDFLAGS = -Wl,+s -z -SOFLAGS = -b +SOFLAGS += -b ifeq ($(distrib),1) @@ -128,6 +128,8 @@ endif endif SOEXT = sl +SONAME = +SOVERSION = ifeq ($(buildbits),32) CCFLAGS += +DA1.1 +DS1.1 diff --git a/include/makeinclude/platform_hpux_gcc.GNU b/include/makeinclude/platform_hpux_gcc.GNU index 921d0e9d29a..1226acd9c6b 100644 --- a/include/makeinclude/platform_hpux_gcc.GNU +++ b/include/makeinclude/platform_hpux_gcc.GNU @@ -43,8 +43,10 @@ PIC = -fPIC ARFLAGS = ruv RANLIB = echo LDFLAGS = -L. -L$(ACE_ROOT)/ace -Wl,+s -SOFLAGS = $(CPPFLAGS) -shared -nostdlib $(PIC) +SOFLAGS += $(CPPFLAGS) -shared -nostdlib $(PIC) SOEXT = sl +SOVERSION = +SONAME = SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.$(SOEXT) $< SHLIBBUILD = $(SOLINK.cc) -o $@ $(VSHOBJS1) PRELIB = @true diff --git a/include/makeinclude/platform_hpux_kcc.GNU b/include/makeinclude/platform_hpux_kcc.GNU index 1184b0f9495..b9f75c2865a 100644 --- a/include/makeinclude/platform_hpux_kcc.GNU +++ b/include/makeinclude/platform_hpux_kcc.GNU @@ -119,4 +119,5 @@ else endif endif - +SONAME = +SOVERSION = diff --git a/include/makeinclude/platform_irix5.3_g++.GNU b/include/makeinclude/platform_irix5.3_g++.GNU index 5db2d6aa826..1d322ef6fc4 100644 --- a/include/makeinclude/platform_irix5.3_g++.GNU +++ b/include/makeinclude/platform_irix5.3_g++.GNU @@ -20,6 +20,6 @@ LDFLAGS += -L$(ACE_ROOT)/ace OCFLAGS += -O2 PIC = -fpic RANLIB = echo -SOFLAGS = -shared $(CPPFLAGS) +SOFLAGS += -shared $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o diff --git a/include/makeinclude/platform_irix5.3_sgic++.GNU b/include/makeinclude/platform_irix5.3_sgic++.GNU index 4616cfb40c3..00cd1f6c2e9 100644 --- a/include/makeinclude/platform_irix5.3_sgic++.GNU +++ b/include/makeinclude/platform_irix5.3_sgic++.GNU @@ -2,7 +2,7 @@ # Irix 5.3 with SGI C++ -# This suppresses common compiler warnings which appear in the +# This suppresses common compiler warnings which appear in the # ACE code but should not matter. The warnings can be turned on # again by removing the -woff clause in the CPPFLAGS definition. @@ -13,13 +13,13 @@ CXX = CC CCFLAGS += $(CFLAGS) DCFLAGS += -g DLD = $(CXX) -LD = $(CXX) +LD = $(CXX) CPPFLAGS += -ptused -prelink +pp -woff 3203,3209,3161,3262,3665 -LIBS = +LIBS = PIC = -KPIC AR = ar ARFLAGS = r RANLIB = echo -SOFLAGS = -shared $(CPPFLAGS) -all +SOFLAGS += -shared $(CPPFLAGS) -all SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o diff --git a/include/makeinclude/platform_irix6.x_g++.GNU b/include/makeinclude/platform_irix6.x_g++.GNU index e5c0202dcdf..4c169739820 100644 --- a/include/makeinclude/platform_irix6.x_g++.GNU +++ b/include/makeinclude/platform_irix6.x_g++.GNU @@ -30,6 +30,6 @@ PIC = -fpic # AR = ar ARFLAGS = rv RANLIB = @true -SOFLAGS = -shared $(CPPFLAGS) +SOFLAGS += -shared $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) $(LDFLAGS) -o $@ $(VSHDIR)$*.o diff --git a/include/makeinclude/platform_irix6.x_kcc.GNU b/include/makeinclude/platform_irix6.x_kcc.GNU index 1662186caa9..5fd22fd32a5 100644 --- a/include/makeinclude/platform_irix6.x_kcc.GNU +++ b/include/makeinclude/platform_irix6.x_kcc.GNU @@ -36,6 +36,6 @@ PIC = AR = $(CC) ARFLAGS = $(KCCOPTS) -o RANLIB = @true -SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) +SOFLAGS += $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_irix6.x_sgic++.GNU b/include/makeinclude/platform_irix6.x_sgic++.GNU index 930d06de3f5..c12a25571fe 100644 --- a/include/makeinclude/platform_irix6.x_sgic++.GNU +++ b/include/makeinclude/platform_irix6.x_sgic++.GNU @@ -21,7 +21,7 @@ include $(ACE_ROOT)/include/makeinclude/platform_irix6.x_common.GNU CC = cc CXX = CC DLD = $(CXX) -LD = $(CXX) +LD = $(CXX) # Basic flags @@ -77,7 +77,7 @@ PIC = -KPIC AR = ar ARFLAGS = r RANLIB = echo -SOFLAGS = -shared $(CCFLAGS) $(CPPFLAGS) -all -multigot +SOFLAGS += -shared $(CCFLAGS) $(CPPFLAGS) -all -multigot SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \ /bin/ln $(VSHDIR)$*.o $@ diff --git a/include/makeinclude/platform_linux.GNU b/include/makeinclude/platform_linux.GNU index 83525e517eb..bffb29c4e46 100644 --- a/include/makeinclude/platform_linux.GNU +++ b/include/makeinclude/platform_linux.GNU @@ -91,7 +91,7 @@ PIC = -fPIC AR = ar ARFLAGS = rsuv RANLIB = @true -SOFLAGS = $(CPPFLAGS) -shared +SOFLAGS += $(CPPFLAGS) -shared SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o PRELIB = @true diff --git a/include/makeinclude/platform_linux_cxx.GNU b/include/makeinclude/platform_linux_cxx.GNU index 52997f3348b..146030e7e84 100644 --- a/include/makeinclude/platform_linux_cxx.GNU +++ b/include/makeinclude/platform_linux_cxx.GNU @@ -33,7 +33,7 @@ OCFLAGS += -O4 PIC = ARFLAGS = rsuv RANLIB = @true -SOFLAGS = -shared $(ACELIB) +SOFLAGS += -shared $(ACELIB) SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \ ln $(VSHDIR)$*.o $@ diff --git a/include/makeinclude/platform_linux_icc.GNU b/include/makeinclude/platform_linux_icc.GNU index 13fadaa338f..309e87575de 100644 --- a/include/makeinclude/platform_linux_icc.GNU +++ b/include/makeinclude/platform_linux_icc.GNU @@ -91,7 +91,7 @@ PIC = -KPIC AR = ar ARFLAGS = rsuv RANLIB = @true -SOFLAGS = $(CPPFLAGS) -shared +SOFLAGS += $(CPPFLAGS) -shared SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o PRELIB = @true diff --git a/include/makeinclude/platform_linux_kcc.GNU b/include/makeinclude/platform_linux_kcc.GNU index 33355ac9385..1b1d7c03d49 100644 --- a/include/makeinclude/platform_linux_kcc.GNU +++ b/include/makeinclude/platform_linux_kcc.GNU @@ -67,7 +67,7 @@ PIC = -fPIC AR = $(CC) ARFLAGS = $(CCFLAGS) $(CPPFLAGS) -Bstatic -o RANLIB = @true -SOFLAGS = $(PIC) $(CCFLAGS) $(CPPFLAGS) +SOFLAGS += $(PIC) $(CCFLAGS) $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(SOFLAGS) -o $(VSHDIR)$*.o $< PRELIB = @true PRELIB_USES_OBJ_ONLY = 1 diff --git a/include/makeinclude/platform_m88k.GNU b/include/makeinclude/platform_m88k.GNU index 84831a34064..29b91dcdecb 100644 --- a/include/makeinclude/platform_m88k.GNU +++ b/include/makeinclude/platform_m88k.GNU @@ -10,8 +10,8 @@ CXX = g++ CFLAGS += -w CCFLAGS += $(CFLAGS) -D__m88k__ -fno-implicit-templates -fno-strict-prototypes DCFLAGS += -g -DLD = $(CXX) -LD = $(CXX) +DLD = $(CXX) +LD = $(CXX) INCLDIRS += -I$(ACE_ROOT) -I. INCLDIRS += -I/devel/rmm/v1.0/local/src/threads/include LDFLAGS += -L $(ACE_ROOT)/ace -L ./ @@ -20,10 +20,10 @@ LIBS += -lsocket -ldl -lnsl -lgen -lstdc++ -lg++ LIBS += -lgthreads -lgmalloc OCFLAGS += -O2 PIC = -fpic -AR = ar -ARFLAGS = ruv -RANLIB = /bin/true -SOFLAGS = -G $(CPPFLAGS) +AR = ar +ARFLAGS = ruv +RANLIB = /bin/true +SOFLAGS += -G $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) -o $@ -h $@ $(LDFLAGS) $(VSHDIR)$*.o PRELIB = @true diff --git a/include/makeinclude/platform_macosx.GNU b/include/makeinclude/platform_macosx.GNU index d281a08d6e9..5c8d052b002 100644 --- a/include/makeinclude/platform_macosx.GNU +++ b/include/makeinclude/platform_macosx.GNU @@ -19,5 +19,5 @@ LIBS += -lcc_dynamic -lstdc++ -lSystem $(ACELIB) OCFLAGS += -O3 RANLIB = ranlib SOEXT = dylib -SOFLAGS = -dynamic +SOFLAGS += -dynamic SOBUILD = -o $(VSHDIR)$*.dylib $< diff --git a/include/makeinclude/platform_mvs.GNU b/include/makeinclude/platform_mvs.GNU index 69215470627..683d53e8d40 100644 --- a/include/makeinclude/platform_mvs.GNU +++ b/include/makeinclude/platform_mvs.GNU @@ -3,7 +3,7 @@ # For MVS OpenEdition platform debug = 0 - + CXX = cxx DCFLAGS += -g DCCFLAGS += -g @@ -16,19 +16,19 @@ AR = ar ARFLAGS = ruv RANLIB = echo #LDFLAGS = -W l,p,map - + # MVCMD needed because cxx does not use the -o option to place objects MVCMD = @test ! -s $(@F) || mv $(@F) $(@D)/$(@F) - + # Used to build static executables ACELIB_STATIC = -lACE - + # Used to build shared executables (much smaller in size) ACELIB_DLL = $(ACE_ROOT)/ace/libACE.x - + # set accordingly to build either static or shared executables ACELIB = $(ACELIB_DLL) - -SOFLAGS = -W l,dll + +SOFLAGS += -W l,dll PIC = -W c,exportall static_libs = 1 diff --git a/include/makeinclude/platform_netbsd.GNU b/include/makeinclude/platform_netbsd.GNU index 9616ce54193..907490cd65e 100644 --- a/include/makeinclude/platform_netbsd.GNU +++ b/include/makeinclude/platform_netbsd.GNU @@ -13,7 +13,7 @@ CC = gcc CXX = g++ CXX_VERSION := $(shell $(CXX) -dumpversion) - + # If no option has been specified, try to enable implicit_templates based # on the version of the compiler. # @@ -29,7 +29,7 @@ ifeq ($(implicit_templates),) endif endif endif - + # User didn't specify and we couldn't guess if this version of the compiler # works fine with implicit template instantiation. Turn if off. This could # as well go into the previous check but GNU Make conditionals are lame. @@ -37,7 +37,7 @@ endif ifeq ($(implicit_templates),) implicit_templates = 0 endif - + ifeq ($(implicit_templates),0) ifeq ($(IMPLICIT_TEMPLATES_FLAG),) # Turn on flags if none is speficied. IMPLICIT_TEMPLATES_FLAG=-fno-implicit-templates @@ -56,6 +56,6 @@ AR = ar ARFLAGS = ruv RANLIB = ranlib -SOFLAGS = -Bshareable -x /usr/lib/c++rt0.o +SOFLAGS += -Bshareable -x /usr/lib/c++rt0.o SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @echo diff --git a/include/makeinclude/platform_osf1_3.2_cxx.GNU b/include/makeinclude/platform_osf1_3.2_cxx.GNU index ef52f05bf58..8ba420eec32 100644 --- a/include/makeinclude/platform_osf1_3.2_cxx.GNU +++ b/include/makeinclude/platform_osf1_3.2_cxx.GNU @@ -41,7 +41,7 @@ LIBS += -qltli_r -ltli -qlrt_r -lrt -qlcxxstd_r -lcxxstd -qlcxx_r \ ARFLAGS = cruv RANLIB = /usr/bin/true #### SOFLAGS = -shared -SOFLAGS = -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx \ +SOFLAGS += -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx \ -L$(ACE_ROOT)/ace -L./ -g2 -O0 -shared SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \ ln $(VSHDIR)$*.o $@ diff --git a/include/makeinclude/platform_osf1_4.x_cxx.GNU b/include/makeinclude/platform_osf1_4.x_cxx.GNU index 9ab199ab189..6a3caa312a7 100644 --- a/include/makeinclude/platform_osf1_4.x_cxx.GNU +++ b/include/makeinclude/platform_osf1_4.x_cxx.GNU @@ -96,13 +96,13 @@ else ifeq ($(templates), automatic) ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied. TEMPLATES_FLAG = -pt - SOFLAGS = -tall + SOFLAGS += -tall endif else ifeq ($(templates), used) ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied. TEMPLATES_FLAG = -pt - SOFLAGS = -tused + SOFLAGS += -tused endif endif # templates == used endif # templates == automatic diff --git a/include/makeinclude/platform_osf1_4.x_g++.GNU b/include/makeinclude/platform_osf1_4.x_g++.GNU index c182be112ac..a64bbe3cd80 100644 --- a/include/makeinclude/platform_osf1_4.x_g++.GNU +++ b/include/makeinclude/platform_osf1_4.x_g++.GNU @@ -41,6 +41,6 @@ ARFLAGS = cruvZ # When libraries are archived, a hash index is automatically created so there # is no need for ranlib RANLIB = /usr/bin/true -SOFLAGS = -shared $(CPPFLAGS) $(ACELIB) +SOFLAGS += -shared $(CPPFLAGS) $(ACELIB) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_osf1_4.x_kcc.GNU b/include/makeinclude/platform_osf1_4.x_kcc.GNU index 474ac00e134..6694646ed94 100644 --- a/include/makeinclude/platform_osf1_4.x_kcc.GNU +++ b/include/makeinclude/platform_osf1_4.x_kcc.GNU @@ -50,7 +50,7 @@ ARFLAGS = $(KCCOPTS) -o # When libraries are archived, a hash index is automatically created so there # is no need for ranlib RANLIB = /usr/bin/true -SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) -lc +SOFLAGS += $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) -lc # With kcc 4, if it does template splitting and ends up with more than # a certain number of templates, it can screw up the link command so that diff --git a/include/makeinclude/platform_osf1_4.x_rcc.GNU b/include/makeinclude/platform_osf1_4.x_rcc.GNU index 4e54558e56f..6efab07830e 100644 --- a/include/makeinclude/platform_osf1_4.x_rcc.GNU +++ b/include/makeinclude/platform_osf1_4.x_rcc.GNU @@ -36,6 +36,6 @@ ARFLAGS = cruvZ # When libraries are archived, a hash index is automatically created # so there is no need for ranlib RANLIB = /usr/bin/true -SOFLAGS = -shared # -use_ld_input $(ACELIB) +SOFLAGS += -shared # -use_ld_input $(ACELIB) SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \ ln $(VSHDIR)$*.o $@ diff --git a/include/makeinclude/platform_psosim_g++.GNU b/include/makeinclude/platform_psosim_g++.GNU index 674098fa3a2..354f1b8fe92 100644 --- a/include/makeinclude/platform_psosim_g++.GNU +++ b/include/makeinclude/platform_psosim_g++.GNU @@ -53,7 +53,7 @@ PIC = -fpic AR = ar ARFLAGS = rsuv RANLIB = @true -SOFLAGS = -G $(CPPFLAGS) +SOFLAGS += -G $(CPPFLAGS) # SOBUILD - compile into .so directly SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_qnx_neutrino.GNU b/include/makeinclude/platform_qnx_neutrino.GNU index d69b21c434b..7eea18c0be2 100644 --- a/include/makeinclude/platform_qnx_neutrino.GNU +++ b/include/makeinclude/platform_qnx_neutrino.GNU @@ -29,6 +29,6 @@ PIC = -fPIC AR = i386-nto-ar ARFLAGS = ruv RANLIB = i386-nto-ranlib -SOFLAGS = -G $(CPPFLAGS) -shared +SOFLAGS += -G $(CPPFLAGS) -shared SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_qnx_rtp_gcc.GNU b/include/makeinclude/platform_qnx_rtp_gcc.GNU index 74e96237ef8..9f9213bf87b 100644 --- a/include/makeinclude/platform_qnx_rtp_gcc.GNU +++ b/include/makeinclude/platform_qnx_rtp_gcc.GNU @@ -31,6 +31,6 @@ PIC = -fPIC AR = ar ARFLAGS = ruv #RANLIB = ranlib -SOFLAGS = $(CPPFLAGS) -shared +SOFLAGS += $(CPPFLAGS) -shared SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_sco-nothread.GNU b/include/makeinclude/platform_sco-nothread.GNU index efbdad9bd02..6e90fea8e4a 100644 --- a/include/makeinclude/platform_sco-nothread.GNU +++ b/include/makeinclude/platform_sco-nothread.GNU @@ -17,6 +17,6 @@ AR = ar ARFLAGS = ruv RANLIB = /bin/true -SOFLAGS = $(CPPFLAGS) +SOFLAGS += $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU b/include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU index b516ca8228d..041fc99dfba 100644 --- a/include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU +++ b/include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU @@ -16,7 +16,7 @@ CC = cc LDLIBS += -L $(ACE_ROOT)/ace # -z muldefs CXX = CC CFLAGS += -belf -CCFLAGS += +.cpp +d -Dvolatile= -belf -Kpic -pts -I ${FSU_PTHREADS_DIR}/include +CCFLAGS += +.cpp +d -Dvolatile= -belf -Kpic -pts -I ${FSU_PTHREADS_DIR}/include DCFLAGS += -g DCCFLAGS += $(DCFLAGS) DLD = $(CXX) @@ -30,7 +30,7 @@ AR = ar ARFLAGS = ruv RANLIB = /bin/true -SOFLAGS = $(CPPFLAGS) -melf -fPIC -G +SOFLAGS += $(CPPFLAGS) -melf -fPIC -G SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< # SOLINK = $(SOLINK.cc) -o $@ $(LDFLAGS) $< PRELIB = @true diff --git a/include/makeinclude/platform_sco5.0.0-mit-pthread.GNU b/include/makeinclude/platform_sco5.0.0-mit-pthread.GNU index 76781ca8c07..0bafea6b16f 100644 --- a/include/makeinclude/platform_sco5.0.0-mit-pthread.GNU +++ b/include/makeinclude/platform_sco5.0.0-mit-pthread.GNU @@ -34,7 +34,7 @@ AR = ar ARFLAGS = ruv RANLIB = /bin/true -SOFLAGS = $(CPPFLAGS) -melf -fPIC -G +SOFLAGS += $(CPPFLAGS) -melf -fPIC -G SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< # SOLINK = $(SOLINK.cc) -o $@ $(LDFLAGS) $< PRELIB = @true diff --git a/include/makeinclude/platform_sco5.0.0-nothread.GNU b/include/makeinclude/platform_sco5.0.0-nothread.GNU index 59544df65b0..92aec0aba2d 100644 --- a/include/makeinclude/platform_sco5.0.0-nothread.GNU +++ b/include/makeinclude/platform_sco5.0.0-nothread.GNU @@ -33,6 +33,6 @@ AR = ar ARFLAGS = ruv RANLIB = /bin/true -SOFLAGS = $(CPPFLAGS) -melf -fPIC -G +SOFLAGS += $(CPPFLAGS) -melf -fPIC -G SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_sunos4_g++.GNU b/include/makeinclude/platform_sunos4_g++.GNU index de94c799aca..a73b81875f5 100644 --- a/include/makeinclude/platform_sunos4_g++.GNU +++ b/include/makeinclude/platform_sunos4_g++.GNU @@ -24,7 +24,7 @@ PIC = -fpic AR = ar ARFLAGS = ruv RANLIB = ranlib -SOFLAGS = -assert pure-text +SOFLAGS += -assert pure-text # SOBUILD - compile into .so directly SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< # SOLINK = $(SOLINK.cc) -o $@ $(LDFLAGS) $< diff --git a/include/makeinclude/platform_sunos4_lucid.GNU b/include/makeinclude/platform_sunos4_lucid.GNU index a6efedcf796..e062639afca 100644 --- a/include/makeinclude/platform_sunos4_lucid.GNU +++ b/include/makeinclude/platform_sunos4_lucid.GNU @@ -12,10 +12,10 @@ DCFLAGS += -g DCCFLAGS += $(DCFLAGS) DLD = /bin/ld LD = $(CXX) -LIBS += +LIBS += PIC = -pic ARFLAGS = ruv RANLIB = ranlib -SOFLAGS = -assert pure-text +SOFLAGS += -assert pure-text SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o diff --git a/include/makeinclude/platform_sunos4_sunc++3.x.GNU b/include/makeinclude/platform_sunos4_sunc++3.x.GNU index a00eb562e11..2727c38e9f9 100644 --- a/include/makeinclude/platform_sunos4_sunc++3.x.GNU +++ b/include/makeinclude/platform_sunos4_sunc++3.x.GNU @@ -12,12 +12,12 @@ CCFLAGS += $(CFLAGS) DCFLAGS += -g DLD = /bin/ld LD = $(CXX) -LIBS += +LIBS += PIC = -pic AR = ar ARFLAGS = ruv RANLIB = ranlib -SOFLAGS = -assert pure-text +SOFLAGS += -assert pure-text SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(RM) -rf $(VSHDIR)pt$*; mkdir $(VSHDIR)pt$*; \ YYZ="`$(CXX) $(CCFLAGS) $(CPPFLAGS) \ diff --git a/include/makeinclude/platform_sunos4_sunc++4.x.GNU b/include/makeinclude/platform_sunos4_sunc++4.x.GNU index b122a76859f..5aa1e54ceab 100644 --- a/include/makeinclude/platform_sunos4_sunc++4.x.GNU +++ b/include/makeinclude/platform_sunos4_sunc++4.x.GNU @@ -16,7 +16,7 @@ AR = CC ARFLAGS = -xar -o PIC = -PIC RANLIB = ranlib -SOFLAGS = -G $(CPPFLAGS) +SOFLAGS += -G $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) $(PIC) -o $@ $(LDFLAGS) $(VSHDIR)$*.o diff --git a/include/makeinclude/platform_sunos5_centerline.GNU b/include/makeinclude/platform_sunos5_centerline.GNU index 0d8cc04c666..e70dc213e9d 100644 --- a/include/makeinclude/platform_sunos5_centerline.GNU +++ b/include/makeinclude/platform_sunos5_centerline.GNU @@ -17,6 +17,6 @@ PIC = -PIC #ARFLAGS = -xar -o ARFLAGS = ruv RANLIB = echo -SOFLAGS = -G $(CPPFLAGS) $(PTDIRS) +SOFLAGS += -G $(CPPFLAGS) $(PTDIRS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) $(PIC) -o $@ $(LDFLAGS) $(VSHDIR)$*.o diff --git a/include/makeinclude/platform_sunos5_g++.GNU b/include/makeinclude/platform_sunos5_g++.GNU index 8ba9b0a75bc..039fb1d3105 100644 --- a/include/makeinclude/platform_sunos5_g++.GNU +++ b/include/makeinclude/platform_sunos5_g++.GNU @@ -63,7 +63,7 @@ PIC = -fPIC AR = ar ARFLAGS = ruv RANLIB = @true -SOFLAGS = -G $(CPPFLAGS) +SOFLAGS += -G $(CPPFLAGS) SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< PRELIB = @true diff --git a/include/makeinclude/platform_sunos5_ghs.GNU b/include/makeinclude/platform_sunos5_ghs.GNU index 155e2b78af9..5c4d2aead4e 100644 --- a/include/makeinclude/platform_sunos5_ghs.GNU +++ b/include/makeinclude/platform_sunos5_ghs.GNU @@ -34,7 +34,7 @@ RANLIB = @true AR = $(CC) $(LDFLAGS) ARFLAGS = -archive -o RANLIB = @true -SOFLAGS = -shared +SOFLAGS += -shared ifeq ($(threads),1) #### Don't use g7 register with threading. diff --git a/include/makeinclude/platform_sunos5_kcc.GNU b/include/makeinclude/platform_sunos5_kcc.GNU index f95b666ff93..f12e4f031ec 100644 --- a/include/makeinclude/platform_sunos5_kcc.GNU +++ b/include/makeinclude/platform_sunos5_kcc.GNU @@ -57,7 +57,7 @@ PIC = -KPIC AR = KCC ARFLAGS += -Bstatic -o RANLIB = echo -SOFLAGS = -G $(CPPFLAGS) +SOFLAGS += -G $(CPPFLAGS) ifdef static_libs_only diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU index c3a56fb036e..481d49b6a42 100644 --- a/include/makeinclude/platform_sunos5_sunc++.GNU +++ b/include/makeinclude/platform_sunos5_sunc++.GNU @@ -214,7 +214,7 @@ PIC = -KPIC AR = CC ARFLAGS = -xar -o RANLIB = echo -SOFLAGS = -G $(CPPFLAGS) +SOFLAGS += -G $(CPPFLAGS) ifdef BIN #### Builds .shobj/$*.o file, then .shobj/$*.so file. The .o files diff --git a/include/makeinclude/platform_tandem.GNU b/include/makeinclude/platform_tandem.GNU index 294525c4e82..76074d76b6a 100644 --- a/include/makeinclude/platform_tandem.GNU +++ b/include/makeinclude/platform_tandem.GNU @@ -10,7 +10,7 @@ debug = 1 CC = cc CXX = NCC DLD = $(CXX) -LD = $(CXX) +LD = $(CXX) CPPFLAGS += -no_exceptions CPPFLAGS += -I/usr/include3.18 CPPFLAGS += -D_REENTRANT @@ -18,7 +18,7 @@ CPPFLAGS += -D_REENTRANT CPPFLAGS += -pta #CPPFLAGS += +pp #CPPFLAGS += -show -#-D_SGI_MP_SOURCE +#-D_SGI_MP_SOURCE #3106 nested comment is not allowed #3203 statement is unreachable #3252 argument of type "X" is incompatible with parameter of type "Y" @@ -34,7 +34,7 @@ CPPFLAGS += -woff 3106,3203,3262 #CPPFLAGS += -n32 -woff 1174,1209,1375,1506,1110,1552,1021,1171 # For the old C++ compiler (-32) #CPPFLAGS += +pp -LDFLAGS += -rpath "$(ACE_ROOT)/ace" +LDFLAGS += -rpath "$(ACE_ROOT)/ace" #LDFLAGS += -Wl,-woff,85 LIBS += -lsocket LIBS += -ldl @@ -45,7 +45,7 @@ PIC = -KPIC AR = ar ARFLAGS = r RANLIB = echo -SOFLAGS = -shared $(CPPFLAGS) -all +SOFLAGS += -shared $(CPPFLAGS) -all SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o @@ -57,14 +57,14 @@ SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ #WARNOFF += -woff 3106,3203,3262,3611 #INCDIR += -I/usr/include -I/usr/include3.18 # -I /usr/ucbinclude -#### No threads +#### No threads #CCFLAGS += -no_exceptions -pta $(WARNOFF) $(INCDIR) #### Threads #CCFLAGS += -D_REENTRANT -no_exceptions -pta $(WARNOFF) -#DLD = $(CXX) +#DLD = $(CXX) #LD = $(CXX) -#LDFLAGS += -R $(ACE_ROOT)/ace +#LDFLAGS += -R $(ACE_ROOT)/ace #LIBS += -lsocket -ldl -lnsl -lgen -lthread # Threads #LIBS += -lsocket -ldl -lnsl -lgen # No threads #PIC = -PIC @@ -74,12 +74,12 @@ SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ # # 4. Using -xar to add generated templates # ---------------------------------------- -# -# When using -xar to add generated templates to an archive, -# please be aware that this command will both update -# existing object files in the archive, and add new ones. +# +# When using -xar to add generated templates to an archive, +# please be aware that this command will both update +# existing object files in the archive, and add new ones. # Existing object files that may be obsolete will still -# be present. In these cases, the safest course of action +# be present. In these cases, the safest course of action # would be to delete the .a file prior to the invocation of -xar. # # so here we remove the archive prior to making the new one @@ -90,4 +90,3 @@ SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ #SOFLAGS = -G $(CPPFLAGS) #SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $<; \ $(SOLINK.cc) -o $@ -h $@ $(LDFLAGS) $(VSHDIR)$*.o - diff --git a/include/makeinclude/platform_unixware_g++.GNU b/include/makeinclude/platform_unixware_g++.GNU index 6ef0d00b0ea..fd1716bfdda 100644 --- a/include/makeinclude/platform_unixware_g++.GNU +++ b/include/makeinclude/platform_unixware_g++.GNU @@ -44,7 +44,7 @@ AR = ar ARFLAGS = ruv RANLIB = /bin/true #SOFLAGS = -assert pure-text -SOFLAGS = -shared +SOFLAGS += -shared # SOBUILD - compile into .so directly SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< # SOLINK = $(SOLINK.cc) -o $@ $(LDFLAGS) $< diff --git a/include/makeinclude/platform_unixware_udk.GNU b/include/makeinclude/platform_unixware_udk.GNU index 32f971f7e30..b00958ac84f 100644 --- a/include/makeinclude/platform_unixware_udk.GNU +++ b/include/makeinclude/platform_unixware_udk.GNU @@ -18,9 +18,9 @@ threads = 1 CC = CC CXX = CC -CFLAGS += -Kthread +CFLAGS += -Kthread -#CFLAGS += -W -Wall -Wpointer-arith +#CFLAGS += -W -Wall -Wpointer-arith CCFLAGS += $(CFLAGS) -Tno_implicit,no_auto,none -Wf,--display_error_number #ifeq ($(exceptions),1) @@ -40,7 +40,7 @@ AR = ar ARFLAGS = ruv RANLIB = /bin/true #SOFLAGS = -assert pure-text -SOFLAGS = -G +SOFLAGS += -G # SOBUILD - compile into .so directly SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $< # SOLINK = $(SOLINK.cc) -o $@ $(LDFLAGS) $< diff --git a/include/makeinclude/rules.lib.GNU b/include/makeinclude/rules.lib.GNU index f64b3fdc570..7fb90e61f09 100644 --- a/include/makeinclude/rules.lib.GNU +++ b/include/makeinclude/rules.lib.GNU @@ -49,7 +49,7 @@ endif # static_libs ifdef shared_libs INSTALL += \ - $(VSHLIB:%.$(SOEXT)=$(INSLIB)/%.$(SOEXT)$(ACE_LDSO_Version_Number)) + $(VSHLIB:%.$(SOEXT)=$(INSLIB)/%.$(SOEXT)$(SOVERSION)) ifdef SHLIBA INSTALL += $(VSHLIBA:%=$(INSLIB)/%) endif @@ -165,10 +165,14 @@ ifeq (1,$(ace_lib_prelink)) -$(LINK.cc) $(LINK_OUTPUT_FLAG) ace-templ_inst $(VSHOBJS1) $(LDFLAGS) $(ACE_NUL_STDERR) endif # ace_lib_prelink ifeq ($(split),1) - $(SHR_FILTER) $(SOLINK.cc) $(SO_OUTPUT_FLAG) $@ $(VSHDIR)/*.$(OBJEXT) $(LDFLAGS) $(ACE_SHLIBS) $(LIBS) + $(SHR_FILTER) $(SOLINK.cc) $(SO_OUTPUT_FLAG) $@$(SOVERSION) $(VSHDIR)/*.$(OBJEXT) $(LDFLAGS) $(ACE_SHLIBS) $(LIBS) else - $(SHR_FILTER) $(SOLINK.cc) $(SO_OUTPUT_FLAG) $@ $(VSHOBJS1) $(LDFLAGS) $(ACE_SHLIBS) $(LIBS) + $(SHR_FILTER) $(SOLINK.cc) $(SO_OUTPUT_FLAG) $@$(SOVERSION) $(VSHOBJS1) $(LDFLAGS) $(ACE_SHLIBS) $(LIBS) endif endif - -chmod a+rx $@ +ifneq ($(SOVERSION),) + -$(RM) $@ + -$(LN_S) $@$(SOVERSION) $@ +endif + -chmod a+rx $@$(SOVERSION) endif diff --git a/include/makeinclude/rules.local.GNU b/include/makeinclude/rules.local.GNU index 9d3b181e5b2..8a882644bf7 100644 --- a/include/makeinclude/rules.local.GNU +++ b/include/makeinclude/rules.local.GNU @@ -173,12 +173,13 @@ $(INSMAN)/man7/% \ $(INSMAN)/man8/% \ $(INSMAN)/manl/% \ $(INSMAN)/mann/% : - @if test $(shell pwd) != $(@D) -o -n "$(ACE_LDSO_Version_Number)" ; then \ + @if test $(shell pwd) != $(@D) -o -n "$(SOVERSION)" ; then \ if test -s $@ ; then \ echo "$(@F) already installed" ; \ else \ echo "Installing $(@F) -> $(@D)" ; \ - $(RM) $(@); $(LN_S) $(shell pwd)/$(@F:%.$(SOEXT)$(ACE_LDSO_Version_Number)=%.$(SOEXT)) $(@) ; \ + $(RM) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ + $(LN_S) $(shell pwd)/$(@F) $(@:%.$(SOEXT)$(SOVERSION)=%.$(SOEXT)); \ fi ; \ fi ifdef MVSLIB @@ -204,7 +205,7 @@ clean.local: -$(RM) -r SunWS_cache ir.out core.* realclean.local: clean.local - -$(RM) $(BIN:%=%$(EXEEXT)) $(BIN:%=%_debug$(EXEEXT)) $(BIN:%=%_profile$(EXEEXT)) $(BIN:%=%_optimize$(EXEEXT)) $(LIB:%=%) $(LIB:%=%_debug) $(LIB:%=%_profile) $(LIB:%=%_optimize) $(SHLIB:%=%) $(SHLIB:%=%.a) $(SHLIB:%=%_debug) $(SHLIB:%=%_profile) $(SHLIB:%=%_optimize) $(SHLIBA:%=%) $(BIN2:%=%$(EXEEXT)) $(BIN2:%=%_debug$(EXEEXT)) $(BIN2:%=%_profile$(EXEEXT)) $(BIN2:%=%_optimize$(EXEEXT)) $(LIB2:%=%) $(LIB2:%=%_debug) $(LIB2:%=%_profile) $(LIB2:%=%_optimize) $(SHLIB2:%=%) $(SHLIB2:%=%_debug) $(SHLIB2:%=%_profile) $(SHLIB2:%=%_optimize) $(SHLIBA2:%=%) + -$(RM) $(BIN:%=%$(EXEEXT)) $(BIN:%=%_debug$(EXEEXT)) $(BIN:%=%_profile$(EXEEXT)) $(BIN:%=%_optimize$(EXEEXT)) $(LIB:%=%) $(LIB:%=%_debug) $(LIB:%=%_profile) $(LIB:%=%_optimize) $(SHLIB:%=%) $(SHLIB:%=%$(SOVERSION)) $(SHLIB:%.so=%.a) $(SHLIB:%=%_debug) $(SHLIB:%=%_profile) $(SHLIB:%=%_optimize) $(SHLIBA:%=%) $(BIN2:%=%$(EXEEXT)) $(BIN2:%=%_debug$(EXEEXT)) $(BIN2:%=%_profile$(EXEEXT)) $(BIN2:%=%_optimize$(EXEEXT)) $(LIB2:%=%) $(LIB2:%=%_debug) $(LIB2:%=%_profile) $(LIB2:%=%_optimize) $(SHLIB2:%=%) $(SHLIB2:%=%_debug) $(SHLIB2:%=%_profile) $(SHLIB2:%=%_optimize) $(SHLIBA2:%=%) #---------------------------------------------------------------------------- # Dependency generation target diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU index 39648cf5799..9da7283cc8b 100644 --- a/include/makeinclude/wrapper_macros.GNU +++ b/include/makeinclude/wrapper_macros.GNU @@ -166,6 +166,23 @@ ifndef PACE_ROOT PACE_ROOT = $(ACE_ROOT)/PACE endif # PACE_ROOT +# Turn on symbol versioning. The scheme that we follow is to allow +# applications dependent on libraries, with same version numbers (major, +# minor and beta) to run, but applications with dependencies on libraries +# with different minor or major or beta versions to fail. +# +ACE_MAJOR_VERSION := $(shell echo `perl -ne 'if (/ACE version/) { s/[^0-9]+(\d+)+\.(\d+)+\.(\d+)+.+/\1/ ; print }' ${ACE_ROOT}/VERSION`) +ACE_MINOR_VERSION := $(shell echo `perl -ne 'if (/ACE version/) { s/[^0-9]+(\d+)+\.(\d+)+\.(\d+)+.+/\2/ ; print }' ${ACE_ROOT}/VERSION`) +ACE_BETA_VERSION := $(shell echo `perl -ne 'if (/ACE version/) { s/[^0-9]+(\d+)+\.(\d+)+\.(\d+)+.+/\3/ ; print }' ${ACE_ROOT}/VERSION`) + +# Version number of the libraries +# +SOVERSION = .$(ACE_MAJOR_VERSION).$(ACE_MINOR_VERSION).$(ACE_BETA_VERSION) + +# Name that will be written into the dynamic library +# +SONAME = $(SHLIB).$(ACE_MAJOR_VERSION).$(ACE_MINOR_VERSION).$(ACE_BETA_VERSION) + # Include this before the below variables to make it possible for # platform_macros.GNU to set default values for them. include $(ACE_ROOT)/include/makeinclude/platform_macros.GNU @@ -278,13 +295,7 @@ endif # or shared-only builds. YACC = bison -# Define SOEXT trailing digits if platform needs it. -ifeq ($(versioned_so),1) - ACE_LDSO_Version_Number := $(shell echo .`perl -ne 'if (/ACE version/) \ - { s/[^0-9]+(\d+\.\d+)(\.\d+)?.+/\1/ ; print }' ${ACE_ROOT}/VERSION `) -else - ACE_LDSO_Version_Number = -endif + #---------------------------------------------------------------------------- # Platform-dependent macros that require platform_macros.GNU. -- cgit v1.2.1