summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2003-10-17 21:48:40 +0000
committerSteve Huston <shuston@riverace.com>2003-10-17 21:48:40 +0000
commit97cf1edc952ca4939891efb48772b633a69126be (patch)
treee3623b81f0e334d5da9c1e58e0dd8efe05a55d3b
parent70dcc2ff6ec78197130668f0ed49f9b07af67167 (diff)
downloadATCD-97cf1edc952ca4939891efb48772b633a69126be.tar.gz
ChangeLogTag:Fri Oct 17 16:21:39 2003 Steve Huston <shuston@riverace.com>
-rw-r--r--ChangeLog26
-rw-r--r--include/makeinclude/platform_aix_g++.GNU7
-rw-r--r--include/makeinclude/platform_g++_common.GNU14
-rw-r--r--include/makeinclude/platform_hpux_aCC.GNU5
-rw-r--r--include/makeinclude/platform_hpux_gcc.GNU5
-rw-r--r--include/makeinclude/platform_macosx.GNU7
-rw-r--r--include/makeinclude/platform_openbsd.GNU5
-rw-r--r--include/makeinclude/platform_sunos5_sunc++.GNU10
-rw-r--r--include/makeinclude/platform_vxworks5.x_g++.GNU5
-rw-r--r--include/makeinclude/wrapper_macros.GNU4
10 files changed, 67 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index 58f494c2a2f..a73046b6b5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+Fri Oct 17 16:21:39 2003 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/wrapper_macros.GNU: Only set SONAME if
+ platform_macros.GNU didn't.
+
+ * include/makeinclude/platform_g++_common.GNU: Conditionalize
+ addition of SONAME to SOFLAGS based on versioned_so, not on
+ SONAME's content. However, even with versioned_so, don't try to
+ add SOFLAGS stuff if with_ld is openbsd - it doesn't support it.
+
+ * include/makeinclude/platform_aix_g++.GNU:
+ * include/makeinclude/platform_hpux_aCC.GNU:
+ * include/makeinclude/platform_hpux_gcc.GNU:
+ * include/makeinclude/platform_macosx.GNU:
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Set versioned_so
+ to 0 by default to avoid shared lib version tagging rather
+ than set SONAME to blank.
+
+ * include/makeinclude/platform_openbsd.GNU: Set with_ld to openbsd
+ to tell platform_g++_common.GNU not to add the ldname options
+ even if versioned_so is enabled.
+
+ * include/makeinclude/platform_sunos5_sunc++.GNU: Add shared lib
+ option to SOFLAGS if versioned_so is 1. Set versioned_so to 1
+ by default.
+
Fri Oct 17 06:48:15 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/OS.h:
diff --git a/include/makeinclude/platform_aix_g++.GNU b/include/makeinclude/platform_aix_g++.GNU
index 873acdd1d8d..f875d1546de 100644
--- a/include/makeinclude/platform_aix_g++.GNU
+++ b/include/makeinclude/platform_aix_g++.GNU
@@ -28,6 +28,9 @@ endif
ifeq (,$(buildbits))
buildbits = native
endif
+ifeq (,$(versioned_so))
+ versioned_so = 0
+endif
ifeq (,$(with_ld))
with_ld = aix
endif
@@ -79,10 +82,8 @@ SOFLAGS += -shared -Wl,-bexpall # -Wl,-bloadmap:lib.map
LIBS += -ltli_r -ldl
ARFLAGS = cruv
RANLIB = ranlib
-SONAME =
-SOVERSION =
-# Test for template instantiation, add to SOFLAGS if SONAME set,
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
# add -E to LDFLAGS if using GNU ld
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU
index 3615308d568..11e60ffb145 100644
--- a/include/makeinclude/platform_g++_common.GNU
+++ b/include/makeinclude/platform_g++_common.GNU
@@ -44,13 +44,19 @@ ifeq ($(templates),explicit)
endif
# The correct flags to pass to the linker for ELF dynamic shared library
-# versioning
-#
-ifneq ($(SONAME),)
+# versioning. None of this works on OpenBSD's ld.
+# If the platform file didn't already set versioned_so, default to 1.
+ifeq (,$(versioned_so))
+ versioned_so = 1
+endif
+ifeq ($(versioned_so),1)
ifeq ($(with_ld),hpux)
SOFLAGS += -Wl,+h -Wl,$(SONAME)
else
- SOFLAGS += -Wl,-h -Wl,$(SONAME)
+ ifeq ($(with_ld),openbsd)
+ else
+ SOFLAGS += -Wl,-h -Wl,$(SONAME)
+ endif
endif
endif
diff --git a/include/makeinclude/platform_hpux_aCC.GNU b/include/makeinclude/platform_hpux_aCC.GNU
index 27b78640697..0ac8e497913 100644
--- a/include/makeinclude/platform_hpux_aCC.GNU
+++ b/include/makeinclude/platform_hpux_aCC.GNU
@@ -33,6 +33,9 @@ endif
ifeq (,$(threads))
threads = 1
endif
+ifeq (,$(versioned_so))
+ versioned_so = 0
+endif
# First, extract the OS version number.
HPVERS_WORDS := $(subst ., ,$(shell uname -r))
@@ -141,8 +144,6 @@ 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 a4dbdcbecf4..7073cce4c48 100644
--- a/include/makeinclude/platform_hpux_gcc.GNU
+++ b/include/makeinclude/platform_hpux_gcc.GNU
@@ -22,6 +22,9 @@ endif
ifeq (,$(threads))
threads = 1
endif
+ifeq (,$(versioned_so))
+ versioned_so = 0
+endif
ifeq (,$(with_ld))
with_ld = hpux
endif
@@ -92,7 +95,7 @@ else
endif
-# Test for template instantiation, add to SOFLAGS if SONAME set,
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
# add -E to LDFLAGS if using GNU ld
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
diff --git a/include/makeinclude/platform_macosx.GNU b/include/makeinclude/platform_macosx.GNU
index 42fd10b9dfa..ed2c23608b4 100644
--- a/include/makeinclude/platform_macosx.GNU
+++ b/include/makeinclude/platform_macosx.GNU
@@ -11,7 +11,9 @@ endif
ifeq (,$(optimize))
optimize = 0
endif
-
+ifeq (,$(versioned_so))
+ versioned_so = 0
+endif
with_ld = macosx
CC = gcc
@@ -36,9 +38,8 @@ RANLIB = ranlib
SOEXT = dylib
SOFLAGS += -dynamic
SOBUILD = -o $(VSHDIR)$*.dylib $<
-SONAME=
-# Test for template instantiation, add to SOFLAGS if SONAME set,
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
# add -E to LDFLAGS if using GNU ld
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
diff --git a/include/makeinclude/platform_openbsd.GNU b/include/makeinclude/platform_openbsd.GNU
index 2ac2e68ec6c..9117f113744 100644
--- a/include/makeinclude/platform_openbsd.GNU
+++ b/include/makeinclude/platform_openbsd.GNU
@@ -48,9 +48,10 @@ endif # threads
# Setting the internal name and version of shared libraries isn't supported
# by OpenBSD. In fact, the -h option gives an error and interestingly
# enough, the -soname option doesn't but just ignores its parameter.
-SONAME =
+# This tells platform_g++_common.GNU not to add these link options.
+with_ld = openbsd
-# Test for template instantiation, add to SOFLAGS if SONAME set,
+# Test for template instantiation, add to SOFLAGS if versioned_so set,
# add -E to LDFLAGS if using GNU ld
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU
index 37525f9711b..06abc80c171 100644
--- a/include/makeinclude/platform_sunos5_sunc++.GNU
+++ b/include/makeinclude/platform_sunos5_sunc++.GNU
@@ -53,7 +53,9 @@ endif
ifeq (,$(threads))
threads = 1
endif
-
+ifeq (,$(versioned_so))
+ versioned_so = 1
+endif
tk_reactor = 0
ace_with_x11 = 0
@@ -217,9 +219,11 @@ RANLIB = echo
SOFLAGS += -G $(CPPFLAGS)
# The correct flags to pass to the linker for ELF dynamic shared library
-# versioning
+# versioning. This knows that wrapper_macros.GNU will set versioned_so to
+# 1 if it's not set. So, the only way SOFLAGS should _not_ get this is if
+# versioned_so has been explicitly disabled.
#
-ifneq ($(SONAME),)
+ifeq ($(versioned_so),1)
SOFLAGS += -h $(SONAME)
endif
diff --git a/include/makeinclude/platform_vxworks5.x_g++.GNU b/include/makeinclude/platform_vxworks5.x_g++.GNU
index 1d413934873..56bb428ac63 100644
--- a/include/makeinclude/platform_vxworks5.x_g++.GNU
+++ b/include/makeinclude/platform_vxworks5.x_g++.GNU
@@ -30,6 +30,9 @@ endif # ! optimize
ifndef rtti
rtti = 1
endif # ! rtti
+ifndef versioned_so
+ versioned_so = 0
+endif # ! versioned_so
shared_libs =
static_libs = 1
@@ -342,8 +345,6 @@ LDFLAGS += -X -r
OCFLAGS += -O
PIC =
-SONAME =
-
# Test for template instantiation, add to SOFLAGS if SONAME set,
# add -E to LDFLAGS if using GNU ld
#
diff --git a/include/makeinclude/wrapper_macros.GNU b/include/makeinclude/wrapper_macros.GNU
index 3029e9ee2fb..821fa56b545 100644
--- a/include/makeinclude/wrapper_macros.GNU
+++ b/include/makeinclude/wrapper_macros.GNU
@@ -226,7 +226,9 @@ ifeq ($(versioned_so),1)
# Name that will be written into the dynamic library
#
- SONAME = $(SHLIB)$(SOVERSION)
+ ifndef SONAME
+ SONAME = $(SHLIB)$(SOVERSION)
+ endif # SONAME
endif # versioned_so
#----------------------------------------------------------------------------