summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2002-11-13 22:17:34 +0000
committerbala <balanatarajan@users.noreply.github.com>2002-11-13 22:17:34 +0000
commit09bdf3e362ca8010227cb7f461b1b2870c2db56f (patch)
treea8a49a48523f79ffae8694e9d7234b900055d794
parentecc84be415c0e521ed9c1f2b33252f8474ca5ab2 (diff)
downloadATCD-09bdf3e362ca8010227cb7f461b1b2870c2db56f.tar.gz
ChangeLogTag: Wed Nov 13 16:52:04 UTC 2002 Craig Rodrigues <crodrigu@bbn.com>
-rw-r--r--ChangeLog14
-rw-r--r--ChangeLogs/ChangeLog-03a14
-rw-r--r--ace/Lib_Find.cpp6
-rw-r--r--ace/config-macosx.h19
-rw-r--r--include/makeinclude/platform_macosx.GNU18
5 files changed, 60 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 5baaa61a48b..1746dac36e6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Wed Nov 13 16:52:04 UTC 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Lib_Find.cpp (ldname): MacOS X prepends and underscore to
+ symbols in shared libaries.
+
+ * ace/config-macosx.h:
+ * include/makeinclude/platform_macosx.GNU:
+
+ - add support for dlcompat, a third party package which provides
+ dlopen(), dlsym(), dlcose() functions
+
+ - Define ACE_LD_SEARCH_PATH to DYLD_LIBRARY_PATH and
+ ACE_LD_SUFFIX to .dylib
+
Tue Nov 12 14:12:59 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
This is a hackish fix for BUG 1361. Please see
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 5baaa61a48b..1746dac36e6 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,17 @@
+Wed Nov 13 16:52:04 UTC 2002 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Lib_Find.cpp (ldname): MacOS X prepends and underscore to
+ symbols in shared libaries.
+
+ * ace/config-macosx.h:
+ * include/makeinclude/platform_macosx.GNU:
+
+ - add support for dlcompat, a third party package which provides
+ dlopen(), dlsym(), dlcose() functions
+
+ - Define ACE_LD_SEARCH_PATH to DYLD_LIBRARY_PATH and
+ ACE_LD_SUFFIX to .dylib
+
Tue Nov 12 14:12:59 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
This is a hackish fix for BUG 1361. Please see
diff --git a/ace/Lib_Find.cpp b/ace/Lib_Find.cpp
index 11aa00b6129..c681f75463a 100644
--- a/ace/Lib_Find.cpp
+++ b/ace/Lib_Find.cpp
@@ -378,7 +378,7 @@ ACE_Lib_Find::ldname (const ACE_TCHAR *entry_point)
{
ACE_TRACE ("ACE_Lib_Find::ldname");
-#if defined (__BORLANDC__)
+#if defined (__BORLANDC__) || defined(__APPLE__)
size_t size =
1 // leading '_'
+ ACE_OS::strlen (entry_point)
@@ -393,7 +393,7 @@ ACE_Lib_Find::ldname (const ACE_TCHAR *entry_point)
ACE_OS::strcat (new_name, entry_point);
return new_name;
-#else /* __BORLANDC__ */
+#else /* __BORLANDC__ || __APPLE__ */
size_t size =
ACE_OS::strlen (entry_point)
+ 1;
@@ -406,7 +406,7 @@ ACE_Lib_Find::ldname (const ACE_TCHAR *entry_point)
ACE_OS::strcpy (new_name, entry_point);
return new_name;
-#endif /* __BORLANDC__ */
+#endif /* __BORLANDC__ || __APPLE__ */
}
int
diff --git a/ace/config-macosx.h b/ace/config-macosx.h
index d47811133e9..48f21466797 100644
--- a/ace/config-macosx.h
+++ b/ace/config-macosx.h
@@ -167,13 +167,26 @@
#define ACE_LACKS_SIGINFO_H
#define ACE_HAS_UCONTEXT_T
#define ACE_HAS_GETIFADDRS
-#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+
+// dlcompat package (not part of base Darwin) is needed for dlopen().
+// Fink installer puts libraries in /sw/lib and headers in /sw/include
+// In order to install dlcompat do the following:
+// - download fink from http://fink.sf.net
+// - type:
+// fink install dlcompat
+#define ACE_HAS_SVR4_DYNAMIC_LINKING
+#define ACE_LD_SEARCH_PATH ACE_LIB_TEXT ("DYLD_LIBRARY_PATH")
+#define ACE_DLL_SUFFIX ACE_LIB_TEXT (".dylib")
// gperf seems to need this
#define ACE_HAS_NONSTATIC_OBJECT_MANAGER
-// Remove the following when Apple fixes static template member problem in their
-// compiler
+// gcc 3.1 is broken, gcc 3.3 is a bit better
+#if defined(__GNUC__) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 3))
+# define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
+ // Remove the following when Apple fixes static template member problem
+ // in their compiler
#define ACE_HAS_POSITION_INDEPENDENT_POINTERS 0
+#endif
#endif /* ACE_CONFIG_MACOSX_H */
diff --git a/include/makeinclude/platform_macosx.GNU b/include/makeinclude/platform_macosx.GNU
index 2cfe502547b..2f0b35db01d 100644
--- a/include/makeinclude/platform_macosx.GNU
+++ b/include/makeinclude/platform_macosx.GNU
@@ -1,4 +1,4 @@
-# platform_macosx.GNU,v 4.6 2001/08/14 18:57:28 bala Exp
+# $Id$
# platform_macosx.GNU
# support for Mac OS X 10.2
@@ -12,9 +12,9 @@ ifeq (,$(optimize))
optimize = 0
endif
-CC = cc
-CXX = c++
-CFLAGS += -Wall -Wpointer-arith -pipe
+CC = gcc
+CXX = g++
+CFLAGS += -Wall -Wpointer-arith -pipe -I/sw/include
# Test for template instantiation.
#
@@ -25,8 +25,16 @@ CCFLAGS += $(CFLAGS) $(TEMPLATES_FLAG)
DCFLAGS += -g
DLD = libtool
LD = $(CXX)
-LDFLAGS += #-flat_namespace
+LDFLAGS += -L/sw/lib
LIBS += -lcc_dynamic -lstdc++ -lSystem
+
+## dlcompat package (not part of base Darwin) is needed for dlopen().
+## Fink installer puts libraries in /sw/lib and headers in /sw/include
+## In order to install dlcompat do the following:
+## - download fink from http://fink.sf.net
+## - type:
+## fink install dlcompat
+LIBS += -ldl
OCFLAGS += -O3
RANLIB = ranlib
SOEXT = dylib