summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-06-12 23:34:18 +0000
committerkitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-06-12 23:34:18 +0000
commit376de6fb8cc3ee705b307ff01f99c93010b940b0 (patch)
treed824ecefe2ea9db711c24afcef79854e541bec2d
parent4952f17288ca415f4b18fdf9990698197d74fbb2 (diff)
downloadATCD-376de6fb8cc3ee705b307ff01f99c93010b940b0.tar.gz
ChangeLogTag: Wed Jun 12 18:29:11 2002 Krishnakumar B <kitty@cs.wustl.edu>
-rw-r--r--ChangeLog80
-rw-r--r--ChangeLogs/ChangeLog-02a80
-rw-r--r--ChangeLogs/ChangeLog-03a80
-rw-r--r--TAO/rules.tao.GNU21
-rw-r--r--include/makeinclude/platform_aix4_cset++.GNU9
-rw-r--r--include/makeinclude/platform_aix4_g++.GNU3
-rw-r--r--include/makeinclude/platform_aix_g++.GNU2
-rw-r--r--include/makeinclude/platform_aix_ibm.GNU8
-rw-r--r--include/makeinclude/platform_dgux4_epc.GNU4
-rw-r--r--include/makeinclude/platform_freebsd.GNU2
-rw-r--r--include/makeinclude/platform_g++_common.GNU7
-rw-r--r--include/makeinclude/platform_gnuwin32_common.GNU2
-rw-r--r--include/makeinclude/platform_hpux.GNU4
-rw-r--r--include/makeinclude/platform_hpux_aCC.GNU4
-rw-r--r--include/makeinclude/platform_hpux_gcc.GNU4
-rw-r--r--include/makeinclude/platform_hpux_kcc.GNU3
-rw-r--r--include/makeinclude/platform_irix5.3_g++.GNU2
-rw-r--r--include/makeinclude/platform_irix5.3_sgic++.GNU8
-rw-r--r--include/makeinclude/platform_irix6.x_g++.GNU2
-rw-r--r--include/makeinclude/platform_irix6.x_kcc.GNU2
-rw-r--r--include/makeinclude/platform_irix6.x_sgic++.GNU4
-rw-r--r--include/makeinclude/platform_linux.GNU2
-rw-r--r--include/makeinclude/platform_linux_cxx.GNU2
-rw-r--r--include/makeinclude/platform_linux_icc.GNU2
-rw-r--r--include/makeinclude/platform_linux_kcc.GNU2
-rw-r--r--include/makeinclude/platform_m88k.GNU12
-rw-r--r--include/makeinclude/platform_macosx.GNU2
-rw-r--r--include/makeinclude/platform_mvs.GNU14
-rw-r--r--include/makeinclude/platform_netbsd.GNU8
-rw-r--r--include/makeinclude/platform_osf1_3.2_cxx.GNU2
-rw-r--r--include/makeinclude/platform_osf1_4.x_cxx.GNU4
-rw-r--r--include/makeinclude/platform_osf1_4.x_g++.GNU2
-rw-r--r--include/makeinclude/platform_osf1_4.x_kcc.GNU2
-rw-r--r--include/makeinclude/platform_osf1_4.x_rcc.GNU2
-rw-r--r--include/makeinclude/platform_psosim_g++.GNU2
-rw-r--r--include/makeinclude/platform_qnx_neutrino.GNU2
-rw-r--r--include/makeinclude/platform_qnx_rtp_gcc.GNU2
-rw-r--r--include/makeinclude/platform_sco-nothread.GNU2
-rw-r--r--include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU4
-rw-r--r--include/makeinclude/platform_sco5.0.0-mit-pthread.GNU2
-rw-r--r--include/makeinclude/platform_sco5.0.0-nothread.GNU2
-rw-r--r--include/makeinclude/platform_sunos4_g++.GNU2
-rw-r--r--include/makeinclude/platform_sunos4_lucid.GNU4
-rw-r--r--include/makeinclude/platform_sunos4_sunc++3.x.GNU4
-rw-r--r--include/makeinclude/platform_sunos4_sunc++4.x.GNU2
-rw-r--r--include/makeinclude/platform_sunos5_centerline.GNU2
-rw-r--r--include/makeinclude/platform_sunos5_g++.GNU2
-rw-r--r--include/makeinclude/platform_sunos5_ghs.GNU2
-rw-r--r--include/makeinclude/platform_sunos5_kcc.GNU2
-rw-r--r--include/makeinclude/platform_sunos5_sunc++.GNU2
-rw-r--r--include/makeinclude/platform_tandem.GNU25
-rw-r--r--include/makeinclude/platform_unixware_g++.GNU2
-rw-r--r--include/makeinclude/platform_unixware_udk.GNU6
-rw-r--r--include/makeinclude/rules.lib.GNU12
-rw-r--r--include/makeinclude/rules.local.GNU7
-rw-r--r--include/makeinclude/wrapper_macros.GNU25
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 <kitty@cs.wustl.edu>
+
+ * 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 <schmidt@tango.doc.wustl.edu>
* 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 <storri@cs.wustl.edu>
Tue Jun 11 19:05:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
- * 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 <eugalt@myrealbox.com> 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 <eugalt@myrealbox.com> for contributing this
@@ -47,11 +115,11 @@ Tue Jun 11 20:02:39 2002 Steve Huston <shuston@riverace.com>
Tue Jun 11 13:17:29 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
- * 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 <tytenait@yahoo.com> for reporting this.
-
+
* ace/Dirent_Selector.h: Added #include "ace/ACE_export.h".
Thanks to Ty Tenait <tytenait@yahoo.com> 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 <kitty@cs.wustl.edu>
+
+ * 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 <schmidt@tango.doc.wustl.edu>
* 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 <storri@cs.wustl.edu>
Tue Jun 11 19:05:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
- * 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 <eugalt@myrealbox.com> 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 <eugalt@myrealbox.com> for contributing this
@@ -47,11 +115,11 @@ Tue Jun 11 20:02:39 2002 Steve Huston <shuston@riverace.com>
Tue Jun 11 13:17:29 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
- * 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 <tytenait@yahoo.com> for reporting this.
-
+
* ace/Dirent_Selector.h: Added #include "ace/ACE_export.h".
Thanks to Ty Tenait <tytenait@yahoo.com> 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 <kitty@cs.wustl.edu>
+
+ * 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 <schmidt@tango.doc.wustl.edu>
* 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 <storri@cs.wustl.edu>
Tue Jun 11 19:05:39 2002 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
- * 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 <eugalt@myrealbox.com> 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 <eugalt@myrealbox.com> for contributing this
@@ -47,11 +115,11 @@ Tue Jun 11 20:02:39 2002 Steve Huston <shuston@riverace.com>
Tue Jun 11 13:17:29 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
- * 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 <tytenait@yahoo.com> for reporting this.
-
+
* ace/Dirent_Selector.h: Added #include "ace/ACE_export.h".
Thanks to Ty Tenait <tytenait@yahoo.com> 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.