diff options
author | Steve Huston <shuston@riverace.com> | 2001-03-28 17:07:30 +0000 |
---|---|---|
committer | Steve Huston <shuston@riverace.com> | 2001-03-28 17:07:30 +0000 |
commit | e3b6f0fa730f742fc2b80eb5e6772f052a07d7d7 (patch) | |
tree | 4f2104b64a5dd33e85192fd39e8643da9c299cb3 | |
parent | 2b1a78558c0934b277114c944de9e7989eb0f042 (diff) | |
download | ATCD-e3b6f0fa730f742fc2b80eb5e6772f052a07d7d7.tar.gz |
ChangeLogTag:Wed Mar 28 11:55:39 2001 Steve Huston <shuston@riverace.com>
-rw-r--r-- | ChangeLog | 40 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-02a | 40 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 40 | ||||
-rw-r--r-- | ace/config-aix-4.x.h | 13 | ||||
-rwxr-xr-x | bin/auto_compile | 21 | ||||
-rwxr-xr-x | bin/make_pretty.pl | 21 | ||||
-rw-r--r-- | docs/ACE-development-process.html | 3 | ||||
-rw-r--r-- | include/makeinclude/platform_aix_ibm.GNU | 132 | ||||
-rw-r--r-- | include/makeinclude/platform_aix_vacpp.GNU | 94 | ||||
-rw-r--r-- | netsvcs/lib/TS_Clerk_Handler.h | 3 |
10 files changed, 290 insertions, 117 deletions
diff --git a/ChangeLog b/ChangeLog index 74fd02dfbc4..807e20fb964 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,38 @@ +Wed Mar 28 11:55:39 2001 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_aix_ibm.GNU: New file, replaces + platform_aix_vacpp.GNU for Visual Age C++ 5. Also replaces + use of platform_aix4_cset++.GNU for IBM C/C++ Compilers 3.6.6. + So, for the supported, IBM-supplied compilers (IBM C/C++ 3.6.6 + and Visual Age C++ 5) use this file. If you want to try to keep + using CSet++ 3.4 or earlier, you can keep using + platform_aix4_cset++.GNU, but it's not tested any longer and + will disappear at the next ACE version. If you want to use + Visual Age C++ 4, you should reconsider, and upgrade to version 5. + + * include/makeinclude/platform_aix_vacpp.GNU: Deleted. + + * netsvcs/lib/TS_Clerk_Handler.h: Moved #include "ace/Connector.h" + to be after #include "ace/SOCK_Connector.h" to fix compile error + on AIX, Visual Age C++ 5. + + * ace/config-aix-4.x.h: Clarified comments that this file is for + Visual Age C++ also. Added ACE_DLL_SUFFIX ".a" to match what + is now generated from platform_aix_ibm.GNU. + + * bin/auto_compile: + * bin/make_pretty.pl: Add detection of compile/link warnings and + errors for AIX using the IBM compilers' code. Ignores the multiply + defined symbol warnings from ld if it's an ACE symbol. + + * docs/ACE-development-process.html: Changed to link to Bugzilla so + it works from anywhere. + +Wed Mar 28 10:13:16 2001 Steve Huston <shuston@riverace.com> + + * ace/Makefile.bor: Don't try to build the SSL directory if + SSL_ROOT is not set. + Wed Mar 28 08:39:26 2001 Carlos O'Ryan <coryan@uci.edu> * etc/tao_av.doxygen: @@ -8,11 +43,6 @@ Wed Mar 28 08:39:26 2001 Carlos O'Ryan <coryan@uci.edu> * bin/generate_doxygen.pl: Add the new configuration file. -Wed Mar 28 10:13:16 2001 Steve Huston <shuston@riverace.com> - - * ace/Makefile.bor: Don't try to build the SSL directory if - SSL_ROOT is not set. - Tue Mar 27 19:54:11 2001 Carlos O'Ryan <coryan@uci.edu> * bin/auto_run_tests.lst: diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a index 74fd02dfbc4..807e20fb964 100644 --- a/ChangeLogs/ChangeLog-02a +++ b/ChangeLogs/ChangeLog-02a @@ -1,3 +1,38 @@ +Wed Mar 28 11:55:39 2001 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_aix_ibm.GNU: New file, replaces + platform_aix_vacpp.GNU for Visual Age C++ 5. Also replaces + use of platform_aix4_cset++.GNU for IBM C/C++ Compilers 3.6.6. + So, for the supported, IBM-supplied compilers (IBM C/C++ 3.6.6 + and Visual Age C++ 5) use this file. If you want to try to keep + using CSet++ 3.4 or earlier, you can keep using + platform_aix4_cset++.GNU, but it's not tested any longer and + will disappear at the next ACE version. If you want to use + Visual Age C++ 4, you should reconsider, and upgrade to version 5. + + * include/makeinclude/platform_aix_vacpp.GNU: Deleted. + + * netsvcs/lib/TS_Clerk_Handler.h: Moved #include "ace/Connector.h" + to be after #include "ace/SOCK_Connector.h" to fix compile error + on AIX, Visual Age C++ 5. + + * ace/config-aix-4.x.h: Clarified comments that this file is for + Visual Age C++ also. Added ACE_DLL_SUFFIX ".a" to match what + is now generated from platform_aix_ibm.GNU. + + * bin/auto_compile: + * bin/make_pretty.pl: Add detection of compile/link warnings and + errors for AIX using the IBM compilers' code. Ignores the multiply + defined symbol warnings from ld if it's an ACE symbol. + + * docs/ACE-development-process.html: Changed to link to Bugzilla so + it works from anywhere. + +Wed Mar 28 10:13:16 2001 Steve Huston <shuston@riverace.com> + + * ace/Makefile.bor: Don't try to build the SSL directory if + SSL_ROOT is not set. + Wed Mar 28 08:39:26 2001 Carlos O'Ryan <coryan@uci.edu> * etc/tao_av.doxygen: @@ -8,11 +43,6 @@ Wed Mar 28 08:39:26 2001 Carlos O'Ryan <coryan@uci.edu> * bin/generate_doxygen.pl: Add the new configuration file. -Wed Mar 28 10:13:16 2001 Steve Huston <shuston@riverace.com> - - * ace/Makefile.bor: Don't try to build the SSL directory if - SSL_ROOT is not set. - Tue Mar 27 19:54:11 2001 Carlos O'Ryan <coryan@uci.edu> * bin/auto_run_tests.lst: diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a index 74fd02dfbc4..807e20fb964 100644 --- a/ChangeLogs/ChangeLog-03a +++ b/ChangeLogs/ChangeLog-03a @@ -1,3 +1,38 @@ +Wed Mar 28 11:55:39 2001 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_aix_ibm.GNU: New file, replaces + platform_aix_vacpp.GNU for Visual Age C++ 5. Also replaces + use of platform_aix4_cset++.GNU for IBM C/C++ Compilers 3.6.6. + So, for the supported, IBM-supplied compilers (IBM C/C++ 3.6.6 + and Visual Age C++ 5) use this file. If you want to try to keep + using CSet++ 3.4 or earlier, you can keep using + platform_aix4_cset++.GNU, but it's not tested any longer and + will disappear at the next ACE version. If you want to use + Visual Age C++ 4, you should reconsider, and upgrade to version 5. + + * include/makeinclude/platform_aix_vacpp.GNU: Deleted. + + * netsvcs/lib/TS_Clerk_Handler.h: Moved #include "ace/Connector.h" + to be after #include "ace/SOCK_Connector.h" to fix compile error + on AIX, Visual Age C++ 5. + + * ace/config-aix-4.x.h: Clarified comments that this file is for + Visual Age C++ also. Added ACE_DLL_SUFFIX ".a" to match what + is now generated from platform_aix_ibm.GNU. + + * bin/auto_compile: + * bin/make_pretty.pl: Add detection of compile/link warnings and + errors for AIX using the IBM compilers' code. Ignores the multiply + defined symbol warnings from ld if it's an ACE symbol. + + * docs/ACE-development-process.html: Changed to link to Bugzilla so + it works from anywhere. + +Wed Mar 28 10:13:16 2001 Steve Huston <shuston@riverace.com> + + * ace/Makefile.bor: Don't try to build the SSL directory if + SSL_ROOT is not set. + Wed Mar 28 08:39:26 2001 Carlos O'Ryan <coryan@uci.edu> * etc/tao_av.doxygen: @@ -8,11 +43,6 @@ Wed Mar 28 08:39:26 2001 Carlos O'Ryan <coryan@uci.edu> * bin/generate_doxygen.pl: Add the new configuration file. -Wed Mar 28 10:13:16 2001 Steve Huston <shuston@riverace.com> - - * ace/Makefile.bor: Don't try to build the SSL directory if - SSL_ROOT is not set. - Tue Mar 27 19:54:11 2001 Carlos O'Ryan <coryan@uci.edu> * bin/auto_run_tests.lst: diff --git a/ace/config-aix-4.x.h b/ace/config-aix-4.x.h index 34dd276f57b..484295ec718 100644 --- a/ace/config-aix-4.x.h +++ b/ace/config-aix-4.x.h @@ -2,8 +2,8 @@ // $Id$ // The following configuration file is designed to work for OS -// platforms running AIX 4.x using the IBM C++ compiler (xlC) or -// g++/egcs. +// platforms running AIX 4.x using the IBM C++ compiler (xlC), +// Visual Age C++ or g++/egcs. #ifndef ACE_CONFIG_H #define ACE_CONFIG_H @@ -26,7 +26,7 @@ # define ACE_LACKS_LINEBUFFERED_STREAMBUF # define ACE_LACKS_PRAGMA_ONCE - // C Set++ 3.1 and IBM C/C++ 3.6 + // C Set++ 3.1, IBM C/C++ 3.6, and Visual Age C++ 5 batch (__xlC__) # if defined (__xlC__) # if (__xlC__ < 0x0500) # define ACE_LACKS_PLACEMENT_OPERATOR_DELETE @@ -74,6 +74,13 @@ # define AIX #endif /* AIX */ +// AIX shared libs look strangely like archive libs until you look inside +// them. +#if defined (ACE_DLL_SUFFIX) +# undef ACE_DLL_SUFFIX +#endif +#define ACE_DLL_SUFFIX ".a" + // Use BSD 4.4 socket definitions for pre-AIX 4.2. The _BSD setting also // controls the data type used for waitpid(), wait(), and wait3(). #if (ACE_AIX_MINOR_VERS < 2) diff --git a/bin/auto_compile b/bin/auto_compile index e17b67e253d..eea6cec93cb 100755 --- a/bin/auto_compile +++ b/bin/auto_compile @@ -423,8 +423,11 @@ foreach $i (@BUILD_LIST) { local $current_dir = $i; local $last_error = ""; + local $this_error = 0; + local $this_warning = 0; while (<MAKE>) { chop; + $this_error = $this_warning = 0; if ($^O eq 'hpux' && m/^Warning:[ \t]+[0-9]+ future errors were detected/) { next; @@ -438,6 +441,13 @@ foreach $i (@BUILD_LIST) { } if (m/error:/i || m/error /i || m/^make(\[[0-9]+\])?: \*\*\*/) { + $this_error = 1; + } + if ($^O eq 'aix' + && m/\d+-\d+ \([SI]\)/) { + $this_error = 1; + } + if ($this_error) { if ($last_error ne $current_dir || STATUS eq "COMPILATION WARNING") { $STATUS = "COMPILATION ERROR"; @@ -448,6 +458,17 @@ foreach $i (@BUILD_LIST) { if (m/warning:/i || m/warning /i || m/Info: /i) { + $this_warning = 1; + if ($^O eq 'aix' + && m/^ld: \d+-\d+ WARNING: Duplicate symbol: .*ACE.*/) { + $this_warning = 0; + } + } + if ($^O eq 'aix' + && m/\d+-\d+ \(W\)/) { + $this_warning = 1; + } + if ($this_warning) { if ($last_error ne $current_dir) { if ($STATUS eq "OK") { $STATUS = "COMPILATION WARNING"; diff --git a/bin/make_pretty.pl b/bin/make_pretty.pl index fdc6b87763f..8335fb505de 100755 --- a/bin/make_pretty.pl +++ b/bin/make_pretty.pl @@ -113,11 +113,19 @@ sub is_warning () # Look for any warnings we should ignore return 3 if (/^LINK : warning LNK4089:/); + # For some reason, there's a false license warning + return 3 if (/\(W\).*Compilation will proceed shortly./); + + # AIX reports a bazillion multiple defines when doing templates. + return 3 if ($^O eq 'aix' + && m/^ld: \d+-\d+ WARNING: Duplicate symbol:/); + # Look for lines that also should be color coded, but not counted # as warnings. return 2 if (/see declaration of/); # Look for warnings + return 1 if ((/warning/i && !/ warning\(s\)/) || /info: /i || /^make.*\*\*\*/); @@ -127,9 +135,12 @@ sub is_warning () || /^.*\.inl: / || /^.*\.cpp: / || /^.*\.java: /) { - return 1; + return 1 if ($^O ne 'aix'); } + # IBM's compilers don't say the word "warning" - check for their code + return 1 if ($^O eq 'aix' && m/\d+-\d+ \(W\)/); + # didn't find anything return 0; } @@ -143,6 +154,11 @@ sub is_error () { # Look for any errors we should ignore + # AIX reports a bazillion multiple defines when doing templates; some + # have the word 'error' in the symbol name - ignore those. + return 0 if ($^O eq 'aix' + && m/^ld: \d+-\d+ WARNING: Duplicate symbol:/); + # Look for lines that also should be color coded, but not counted # as errors. return 2 if (/Types pointed to are unrelated/ @@ -164,6 +180,9 @@ sub is_error () || /^Fatal\:/ || /: fatal:/); + # Again, IBM's compilers speak in code langauge + return 1 if ($^O eq 'aix' && m/\d+-\d+ \([SI]\)/); + # didn't find anything return 0; } diff --git a/docs/ACE-development-process.html b/docs/ACE-development-process.html index 197873e581b..f9bdb64b6e0 100644 --- a/docs/ACE-development-process.html +++ b/docs/ACE-development-process.html @@ -41,8 +41,7 @@ The ACE+TAO development process looks like:<p> <ol> <li>Every change to ACE+TAO must have a bug report. <em>Change</em> includes fixes, enhancements, updates, and so on. - <!-- The link to bugzilla is intentionally local. --> - <li><a href="http://ace/bugzilla">Create a bug report</a>. + <li><a href="http://ace.cs.wustl.edu/bugs/index.cgi">Create a bug report</a>. <li>Accept the bug report if you are going to implement the change. <li>Implement the change in your workspace(s). <li>Test the change sufficiently to demonstrate that it both does diff --git a/include/makeinclude/platform_aix_ibm.GNU b/include/makeinclude/platform_aix_ibm.GNU new file mode 100644 index 00000000000..d4d3e0cfd4c --- /dev/null +++ b/include/makeinclude/platform_aix_ibm.GNU @@ -0,0 +1,132 @@ +# $Id$ + +# This file is for use with AIX 4.3 and up, using either of the IBM +# compilers (IBM C/C++ 3.6.6 or Visual Age C++ 5 batch compiler). +# If you wish to use the CSet++ compiler, please use platform_aix4_cset++.GNU. +# Note that as of ACE 6.0, the only supported compiler from IBM will +# be Visual Age C++ 5 and up (either batch or incremental). + +ifeq (,$(debug)) + debug = 1 +endif +ifeq (,$(distrib)) + distrib = 0 +endif +ifeq (,$(exceptions)) + exceptions = 1 +endif +ifeq (,$(optimize)) + optimize = 0 +endif +ifeq (,$(rtti)) + rtti = 0 +endif +ifeq (,$(threads)) + threads = 1 +endif + +# First, find out which compiler we're building with. The settings we +# use for compiling, as well as how to build shared libraries, depend on +# the compiler version. There's no easy way to ask lslpp which is installed. +# Instead, compile a file and see which compiler is set up for use. This +# trick was submitted by Craig Rodrigues <rodrigc@mediaone.net>, originally +# from the vacpp compiler newsgroup. +# It relies on the preprocessor defining __xlC__ to the proper version +# number of the compiler. +XLCVERSION := $(shell echo "__xlC__" > ./testAIXCompilerVersion.cpp) +XLCVERSION := $(shell xlC -E ./testAIXCompilerVersion.cpp | tail -1') +ACE_AIX_CLEAN := $(shell $(RM) ./testAIXCompilerVersion.cpp) + +# In case anything here or in the config depends on OS version number, +# grab it here and pass it all to the compiler as well. +AIX_MAJOR_VERS := $(shell uname -v) +AIX_MINOR_VERS := $(shell uname -r) + +# Use of exceptions should be a compiler-specific setting, but for now it's +# not. IBM C/C++ doesn't have a way to turn exceptions off, and Visual +# Age C++ V5 building ACE without exception handling causes segv on startup +# of every test. Until this is straightened out, force exceptions=1 for +# both compilers. +exceptions=1 + +# Yes, believe it or not... +# The way to make a shared lib on AIX is to make a shared object file and +# then put that in an archive. +# Non-shared archives are named lib<x>ns.a - ns = non-shared. +SOEXT = a +# aix_build turns on the funky shared library building code in +# rules.lib.GNU +aix_build = 1 + +ifeq ($(threads),1) +# Note - the _r form of the compiler command turns on -qthreads and the +# thread-required preprocessor defines, as well as -lpthreads for linking. +# If this is Visual Age C++ 5, DLD will get reset below. +CC = xlc_r +CXX = xlC_r +DLD = makeC++SharedLib_r +else +CC = xlc +CXX = xlC +DLD = makeC++SharedLib +endif + +ARFLAGS = ruv +AR = ar +LD = $(CXX) +RANLIB = ranlib +TEMPINCDIR = tempinc + +CPPFLAGS += -DACE_AIX_MAJOR_VERS=$(AIX_MAJOR_VERS) -DACE_AIX_MINOR_VERS=$(AIX_MINOR_VERS) +# -qinitauto seems like an interesting option, but some tests (specifically +# Process_Strategy_Test) hang with it turned on. This should be investigated +# at some point. +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 +# ibmcxx_build turns on the extra step for instantiating and compiling +# template instances in rules.lib.GNU. + ibmcxx_build = 1 + rtti = 0 +else + ifeq ($(XLCVERSION),0x0500) + CCFLAGS += -qflag=w:w + DLD = $(CXX) -qmkshrobj + SOFLAGS = $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS) + else + CXX = echo "Unrecognized compiler version $(XLCVERSION)\n" + endif +endif + +# -qextchk is handy, but produces false type mismatches when linking +# netsvcs, so it's disabled. IBM reports this fixed in 3.6.4, but it's +# still producing the warnings... should be looked at. +CCFLAGS += $(CFLAGS) -qonce -qtempinc +ifeq ($(exceptions),0) +CCFLAGS += -qnoeh +endif + +ifeq (1,$(rtti)) + CCFLAGS += -qrtti=dynamiccast +else # ! rtti + CCFLAGS += -DACE_LACKS_RTTI +endif # ! rtti + +ifeq ($(shared_libs),1) +ACELIB = -lACE +else +ACELIB = -lACEns +endif + +LIBS += -ltli_r -ldl + +# 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 += -qlibansi -O2 -qarch=com diff --git a/include/makeinclude/platform_aix_vacpp.GNU b/include/makeinclude/platform_aix_vacpp.GNU deleted file mode 100644 index 626940dcc49..00000000000 --- a/include/makeinclude/platform_aix_vacpp.GNU +++ /dev/null @@ -1,94 +0,0 @@ -# $Id$ - -# AIX 4.3 and higher using the Visual Age C++ 5 batch compiler (xlC_r) -# *not* using Orbix - -ifeq (,$(debug)) - debug = 1 -endif -ifeq (,$(distrib)) - distrib = 0 -endif -ifeq (,$(exceptions)) - exceptions = 1 -endif -ifeq (,$(optimize)) - optimize = 0 -endif -ifeq (,$(threads)) - threads = 1 -endif - -# Note - Visual Age C++ pre-V5 didn't have a way to turn exception handling -# off, and V5 building ACE without exception handling causes segv on startup -# of every test. Until this is straightened out, force exceptions=1 -exceptions=1 - -# In case anything here or in the config depends on OS version number, -# grab it here and pass it all to the compiler as well. -AIX_MAJOR_VERS := $(shell uname -v) -AIX_MINOR_VERS := $(shell uname -r) - -ifeq ($(threads),1) -# Note - the _r form of the compiler command turns on -qthreads and the -# thread-required preprocessor defines, as well as -lpthreads for linking. -CC = xlc_r -CXX = xlC_r -else -CC = xlc -CXX = xlC -endif -DLD = $(CXX) -qmkshrobj - -# -qextchk is handy, but produces false type mismatches when linking -# netsvcs with 3.1.4, so it's disabled. IBM reports this fixed in 3.6.4. -CCFLAGS += $(CFLAGS) -qonce -qtempinc -ifeq ($(exceptions),0) -CCFLAGS += -qnoeh -endif - -CPPFLAGS += -DACE_AIX_MAJOR_VERS=$(AIX_MAJOR_VERS) -DACE_AIX_MINOR_VERS=$(AIX_MINOR_VERS) -ifeq (1,$(rtti)) - CCFLAGS += -qrtti=dynamiccast -else # ! rtti - CCFLAGS += -DACE_LACKS_RTTI -endif # ! rtti - -# Define options used for debug=1 builds. -# -qextchk still produces type mismatch errors... should look into this. -# -qcheck messes up ACE_Allocator::instance? - no, seems ok -# How about -qinitauto? -DCFLAGS += -g - -LD = $(CXX) - -# Yes, believe it or not... -# The way to make a shared lib on AIX is to make a shared object file and -# then put that in an archive. -# Non-shared archives are named lib<x>ns.a - ns = non-shared. -SOEXT = a - -SOFLAGS = $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS) - -aix_build = 1 -ifeq ($(shared_libs),1) -ACELIB = -lACE -else -ACELIB = -lACEns -endif - -LIBS += -ltli_r -ldl - -ARFLAGS = ruv -AR = ar -LDFLAGS += -bloadmap:vacpp.map -# 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 += -qlibansi -O2 -qarch=com -RANLIB = ranlib -#TEMPINCDIR = tempinc -SOBUILD = diff --git a/netsvcs/lib/TS_Clerk_Handler.h b/netsvcs/lib/TS_Clerk_Handler.h index 4d2ba888736..8f1230e1e2e 100644 --- a/netsvcs/lib/TS_Clerk_Handler.h +++ b/netsvcs/lib/TS_Clerk_Handler.h @@ -17,13 +17,12 @@ #ifndef ACE_TS_CLERK_HANDLER_H #define ACE_TS_CLERK_HANDLER_H -#include "ace/Connector.h" - #if !defined (ACE_LACKS_PRAGMA_ONCE) # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "ace/SOCK_Connector.h" +#include "ace/Connector.h" #include "ace/Malloc.h" #include "ace/Time_Request_Reply.h" |