summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-07-25 19:13:13 +0000
committerdhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-07-25 19:13:13 +0000
commit2c4b54ccab05c3054e79de89b012456d3d712f86 (patch)
tree5b685417f4c777da4cfdf4da4962f3a0afd0a72f
parente9e10921d49ff20be5cd4b7062ff8acd869228b6 (diff)
downloadATCD-2c4b54ccab05c3054e79de89b012456d3d712f86.tar.gz
ChangeLogTag:Fri Jul 25 17:32:58 UTC 2003 Don Hinton <dhinton@dresystems.com>
-rw-r--r--ChangeLog17
-rw-r--r--ace/os_include/os_dlfcn.h6
-rw-r--r--include/makeinclude/platform_g++_common.GNU8
-rw-r--r--include/makeinclude/platform_macosx.GNU2
4 files changed, 28 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index e62c0400172..831f720bfff 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+Fri Jul 25 17:32:58 UTC 2003 Don Hinton <dhinton@dresystems.com>
+
+ * ace/os_include/os_dlfcn.h:
+ Define ACE_DEFAULT_SHLIB_MODE to be RTLD_LAZY|RTLD_GLOBAL
+ when ACE_HAS_SVR4_DYNAMIC_LINKING, not just for Linux.
+ Thanks to Krishnakumar B <kitty@cse.wustl.edu> for suggesting
+ this.
+
+ * include/makeinclude/platform_macosx.GNU: Add with_ld=macosx.
+ * include/makeinclude/plafform_g++_common.GNU:
+ Don't add "-Wl,-E" to LDFLAGS when with_ld=macosx. Thanks to
+ John Michael Zorko <j.zorko@att.net> pointing out the problem
+ and supplying a patch. Also, thanks to Craig Rodrigues
+ <crodrigu@bbn.com> for suggesting we set the default for
+ with_ld=gnu and only add "-Wl,-E", which id gnu linker
+ specific, if we're using the gnu version of ld.
+
Fri Jul 25 11:37:09 2003 Chad Elliott <elliott_c@ociweb.com>
* bin/MakeProjectCreator/modules/ProjectCreator.pm:
diff --git a/ace/os_include/os_dlfcn.h b/ace/os_include/os_dlfcn.h
index dcb15be572c..79ad90fd6ae 100644
--- a/ace/os_include/os_dlfcn.h
+++ b/ace/os_include/os_dlfcn.h
@@ -66,12 +66,10 @@ extern "C"
# define ACE_SHLIB_INVALID_HANDLE 0
# if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE)
# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE
-# elif defined (__linux__)
- // This is needed to for dynamic_cast to work properly on objects created in
+# else
+ // This is needed to for dynamic_cast to work properly on objects passed to
// libraries.
# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GLOBAL
-# else
-# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
# endif /* KCC */
#elif defined (__hpux)
typedef shl_t ACE_SHLIB_HANDLE;
diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU
index ba3f326c55e..84bc99b7b0e 100644
--- a/include/makeinclude/platform_g++_common.GNU
+++ b/include/makeinclude/platform_g++_common.GNU
@@ -43,6 +43,10 @@ ifeq ($(templates),explicit)
CPPFLAGS += -DACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
endif
+ifeq (,$(with_ld))
+ with_ld = gnu
+endif
+
# The correct flags to pass to the linker for ELF dynamic shared library
# versioning
#
@@ -62,7 +66,9 @@ endif
# for shared libraries. (see http://gcc.gnu.org/faq.html#dso)
ifeq ($(shared_libs), 1)
ifneq ($(static_libs_only), 1)
- LDFLAGS += -Wl,-E
+ ifeq ($(with_ld), gnu)
+ LDFLAGS += -Wl,-E
+ endif # macosx
endif # static_libs_only
endif # shared_libs
diff --git a/include/makeinclude/platform_macosx.GNU b/include/makeinclude/platform_macosx.GNU
index 08b121b31b7..cefe12db325 100644
--- a/include/makeinclude/platform_macosx.GNU
+++ b/include/makeinclude/platform_macosx.GNU
@@ -12,6 +12,8 @@ ifeq (,$(optimize))
optimize = 0
endif
+with_ld = macosx
+
CC = gcc
CXX = g++
CFLAGS += -Wall -Wpointer-arith -Wno-long-double -pipe -I/sw/include