summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2002-07-17 18:31:43 +0000
committerSteve Huston <shuston@riverace.com>2002-07-17 18:31:43 +0000
commit87f70bdc49fcd550cd26828dcb9b59b75bf6f5cd (patch)
tree623f5a71b31557192d16c50044afd07df7a9023f
parenta0adf64a4c0e3d0f9750e82e00f289b1c89a9806 (diff)
downloadATCD-87f70bdc49fcd550cd26828dcb9b59b75bf6f5cd.tar.gz
ChangeLogTag:Wed Jul 17 14:25:39 2002 Steve Huston <shuston@riverace.com>
-rw-r--r--ChangeLog13
-rw-r--r--ChangeLogs/ChangeLog-03a13
-rw-r--r--ace/Sock_Connect.cpp14
-rw-r--r--include/makeinclude/platform_aix_ibm.GNU2
4 files changed, 41 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7cfeb2f411b..b6454306a33 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Wed Jul 17 14:25:39 2002 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU: Added -qfuncsect to the
+ compile options. Allows for smaller executables/libraries, and
+ gets rid of most of the multiple definition warnings for templates.
+ Unfortunately, there are still a few stragglers so the aix_shr
+ post-processing script is still required.
+
+ * ace/Sock_Connect.cpp: Added a hack to get Visual Age C++ on AIX
+ build running clean. Have to include a template instantiation we
+ don't need to get the compiler to pull the proper header files
+ at template compilation time.
+
Wed Jul 17 11:34:28 2002 Steve Huston <shuston@riverace.com>
* ace/OS.{i cpp}: Windows, in calls to _open_osfhandle(), cast
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 7cfeb2f411b..b6454306a33 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,16 @@
+Wed Jul 17 14:25:39 2002 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU: Added -qfuncsect to the
+ compile options. Allows for smaller executables/libraries, and
+ gets rid of most of the multiple definition warnings for templates.
+ Unfortunately, there are still a few stragglers so the aix_shr
+ post-processing script is still required.
+
+ * ace/Sock_Connect.cpp: Added a hack to get Visual Age C++ on AIX
+ build running clean. Have to include a template instantiation we
+ don't need to get the compiler to pull the proper header files
+ at template compilation time.
+
Wed Jul 17 11:34:28 2002 Steve Huston <shuston@riverace.com>
* ace/OS.{i cpp}: Windows, in calls to _open_osfhandle(), cast
diff --git a/ace/Sock_Connect.cpp b/ace/Sock_Connect.cpp
index adb7e908b72..2fc51df875b 100644
--- a/ace/Sock_Connect.cpp
+++ b/ace/Sock_Connect.cpp
@@ -30,6 +30,20 @@ extern "C" {
int ACE_Sock_Connect::ipv6_enabled_ = -1;
#endif /* ACE_HAS_IPV6 */
+// This is a hack to work around a problem with Visual Age C++ 5 on AIX.
+// Without this, the compiler auto-instantiates the ACE_Auto_Array_Ptr for
+// ifreq (contained in this module) but only adds the #include for <net/if.h>
+// and not the one for <sys/socket.h> which is also needed. Although we
+// don't need the template defined here, it makes the compiler pull in
+// <sys/socket.h> and the build runs clean.
+#if defined (AIX) && defined (__IBMCPP__) && (__IBMCPP__ >= 500)
+# if (__IBMCPP__ >= 600)
+# error Recheck this hack to see if version 6 fixed it!
+# endif
+static ACE_Auto_Array_Ptr<sockaddr> force_compiler_to_include_socket_h;
+#endif /* AIX && __IBMCPP__ >= 500 */
+
+
#if defined (ACE_LACKS_INLINE_FUNCTIONS)
#include "ace/Sock_Connect.i"
#endif /* ACE_LACKS_INLINE_FUNCTIONS */
diff --git a/include/makeinclude/platform_aix_ibm.GNU b/include/makeinclude/platform_aix_ibm.GNU
index 9f490f54e66..b567c902782 100644
--- a/include/makeinclude/platform_aix_ibm.GNU
+++ b/include/makeinclude/platform_aix_ibm.GNU
@@ -98,7 +98,7 @@ ifeq ($(XLCVERSION),0x0306)
rtti = 0
else
ifeq ($(XLCVERSION),0x0500)
- CCFLAGS += -qflag=w:w -qstaticinline
+ CCFLAGS += -qflag=w:w -qstaticinline -qfuncsect
DLD = $(CXX) -qmkshrobj
SOFLAGS += $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS)
ifeq ($(buildbits),64)