diff options
-rw-r--r-- | ACE/ace/config-aix-5.x.h | 320 | ||||
-rw-r--r-- | ACE/ace/config-aix-7.h | 27 | ||||
-rw-r--r-- | ACE/etc/xlc_dummy.cpp | 7 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_aix.GNU | 103 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_aix_g++.GNU | 92 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_aix_ibm.GNU | 194 |
6 files changed, 0 insertions, 743 deletions
diff --git a/ACE/ace/config-aix-5.x.h b/ACE/ace/config-aix-5.x.h deleted file mode 100644 index e8f610274b6..00000000000 --- a/ACE/ace/config-aix-5.x.h +++ /dev/null @@ -1,320 +0,0 @@ -// -// Config file for AIX 5.1 and higher. - -#ifndef ACE_CONFIG_AIX_5_X_H -#define ACE_CONFIG_AIX_5_X_H - -// This define is needed for building with Visual Age C++ 5 in incremental -// mode. In the batch mode build, platform_aix_ibm.GNU sets it. The incremental -// mode compiler won't be supported after ACE 5.3, so this will also go away -// in that timeframe, so don't worry about future AIX versions. -#if !defined (ACE_AIX_VERS) -# define ACE_AIX_VERS 501 -#endif - -// AIX 5.1 has AIO, but it doesn't have the same API as other POSIX -// systems, and the semantics of operations are a bit different. Will take -// some real work to get this going. -// AIX 5.2, however, has the POSIX API implemented. However, the libc functions -// to implement it aren't exported by default. You need to use smit to enable -// them. So, leave AIO disabled unless the user explicitly enables it. -// config-aix-4.x.h will set ACE_HAS_AIO_CALLS if config-posix.h senses the -// feature-test macros, so set up _ACE_DISABLE_AIO_CALLS_ if the user didn't -// set it. Then check for it after including config-aix-4.x.h and remove -// ACE_HAS_AIO_CALLS if so. -#if !defined (ACE_HAS_AIO_CALLS) -# define _ACE_DISABLE_AIO_CALLS_ -#endif - -// Both IBM and g++ compilers set _THREAD_SAFE if compiler is asked to compile -// threaded code (xlC_r, as opposed to xlC; and g++ -pthread) -#if !defined (ACE_MT_SAFE) || (ACE_MT_SAFE != 0) -# if defined (ACE_HAS_THREADS) -# undef ACE_HAS_THREADS -# endif -# if defined (_THREAD_SAFE) -# define ACE_HAS_THREADS 1 -// # else -// # define ACE_HAS_THREADS 0 -# endif /* _THREAD_SAFE */ -#endif /* !ACE_MT_SAFE || (ACE_MT_SAFE != 0) */ - -#if defined (__IBMCPP__) - // AIX xlC, IBM C/C++ compiler - //******************************************************************** - // - - // Compiler does this with a builtin - it's not in libc. - // Although ACE does have alloca() on this compiler/platform combination, - // it is disabled by default since it can be dangerous. Uncomment the - // following line if you ACE to use it. - //# define ACE_HAS_ALLOCA - - // Compiler supports the ssize_t typedef. -# define ACE_HAS_SSIZE_T - - // Keep an eye on this as the compiler and standards converge... -# define ACE_LACKS_LINEBUFFERED_STREAMBUF -# define ACE_LACKS_PRAGMA_ONCE - -# define ACE_EXPLICIT_TEMPLATE_DESTRUCTOR_TAKES_ARGS - // When using -qtempinc, we don't need to see template implementation - // source (though we do need a pragma to find the correct source file). - // However, without -qtempinc (either -qnotempinc or -qtemplateregistry) - // we do need to see the source. -# if defined (__TEMPINC__) -# if !defined ACE_TEMPLATES_REQUIRE_PRAGMA -# define ACE_TEMPLATES_REQUIRE_PRAGMA -# endif -# else -# if !defined (ACE_TEMPLATES_REQUIRE_SOURCE) -# define ACE_TEMPLATES_REQUIRE_SOURCE -# endif -# endif /* __TEMPINC__ */ - -# undef WIFEXITED -# undef WEXITSTATUS - -# define ACE_HAS_CUSTOM_EXPORT_MACROS -# define ACE_Proper_Export_Flag -# define ACE_Proper_Import_Flag - // There's no explicit import/export per-se, but to be sure that declared - // template code is exported, explicitly instantiate the class. -# define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class SINGLETON_TYPE < CLASS, LOCK >; -# define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) extern template class SINGLETON_TYPE < CLASS, LOCK >; - -#elif defined (__GNUG__) - -# include "ace/config-g++-common.h" - -# define ACE_HAS_SSIZE_T - -# if !defined (ACE_MT_SAFE) || ACE_MT_SAFE != 0 - // ACE_MT_SAFE is #defined below, for all compilers. -# if !defined (_REENTRANT) -# define _REENTRANT -# endif /* _REENTRANT */ -# endif /* !ACE_MT_SAFE */ - -#else /* ! __IBMCPP__ && ! __GNUG__ */ -# ifdef __cplusplus /* Let it slide for C compilers. */ -# error unsupported compiler in ace/config-aix-5.x.h -# endif /* __cplusplus */ -#endif /* ! __xlC__ && ! __GNUG__ */ - -// Compiling for AIX. -#ifndef AIX -# define AIX -#endif /* AIX */ - -// Pick up all the detectable settings. -#include "ace/config-posix.h" - -// Regardless of what config-posix.h may indicate, AIX 5.3 is the first -// to support sem_timedwait(). Prior to that, use the emulation. -#if defined (ACE_HAS_POSIX_SEM_TIMEOUT) && \ - (defined (ACE_AIX_VERS) && (ACE_AIX_VERS < 503)) -# undef ACE_HAS_POSIX_SEM_TIMEOUT -#endif /* ACE_HAS_POSIX_SEM_TIMEOUT && ACE_AIX_VERS < 503 */ - -#if defined (ACE_DLL_SUFFIX) -# undef ACE_DLL_SUFFIX -#endif -#define ACE_DLL_SUFFIX ACE_TEXT (".so") - -#define ACE_DEFAULT_BASE_ADDR ((char *) 0x80000000) - -#define ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R - -#define ACE_HAS_SOCKLEN_T -#define ACE_HAS_4_4BSD_SENDMSG_RECVMSG - -// AIX has AIO, but the functions don't match those of other AIO-enabled -// platforms. If this is to work, it'll require some significant work, -// maybe moving the OS-abstraction stuff to an OS_AIO or some such thing. -//# define ACE_HAS_AIO_CALLS - -#define ACE_HAS_AIX_HI_RES_TIMER - -// Prototypes for both signal() and struct sigaction are consistent. -#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES - -// OS has readdir and friends. -#define ACE_HAS_DIRENT - -// OS supports the getrusage() system call -#define ACE_HAS_GETRUSAGE - -#define ACE_HAS_GPERF - -#define ACE_HAS_H_ERRNO - -#define ACE_LACKS_STDINT_H -#define ACE_LACKS_SYS_SYSCTL_H - -#define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT -#define ACE_HAS_NONCONST_SELECT_TIMEVAL -#define ACE_HAS_ICMP_SUPPORT 1 -#define ACE_HAS_IP_MULTICAST - -// Lacks perfect filtering, must bind group address. -#if !defined ACE_LACKS_PERFECT_MULTICAST_FILTERING -# define ACE_LACKS_PERFECT_MULTICAST_FILTERING 1 -#endif /* ACE_LACKS_PERFECT_MULTICAST_FILTERING */ - -#define ACE_HAS_MSG - -// Compiler/platform supports poll(). -#define ACE_HAS_POLL - -// Platform supports POSIX O_NONBLOCK semantics. -#define ACE_HAS_POSIX_NONBLOCK - -#define ACE_HAS_POSIX_TIME -// ... but needs to include another header for it on 4.2+ -# define ACE_HAS_BROKEN_POSIX_TIME -// ... and needs another typedef -#define ACE_LACKS_TIMESPEC_T -#define ACE_HAS_SELECT_H - -#define ACE_HAS_REENTRANT_FUNCTIONS - -#define ACE_HAS_SIOCGIFCONF - -// Compiler/platform defines the sig_atomic_t typedef -#define ACE_HAS_SIG_ATOMIC_T -#define ACE_HAS_SIGINFO_T -#define ACE_LACKS_SIGINFO_H -#define ACE_HAS_P_READ_WRITE - -#define ACE_HAS_SIGWAIT -#define ACE_HAS_SOCKADDR_IN_SIN_LEN -#define ACE_HAS_STRBUF_T - -// Compiler supports stropts.h -#define ACE_HAS_STREAMS -// #define ACE_HAS_STREAM_PIPES - -// AIX bzero() -#define ACE_HAS_STRINGS - -#define ACE_HAS_STRUCT_NETDB_DATA - -// Dynamic linking is in good shape on newer OS/patch levels. If you have -// trouble with the dynamic linking parts of ACE, and can't patch your OS -// up to latest levels, comment this out. -#define ACE_HAS_SVR4_DYNAMIC_LINKING -// This is tightly related to dynamic linking... -#define ACE_HAS_AUTOMATIC_INIT_FINI - -#define ACE_HAS_SVR4_GETTIMEOFDAY - -#define ACE_HAS_SYSV_IPC -#define ACE_HAS_TIMOD_H -#define ACE_HAS_XTI -#define ACE_HAS_BROKEN_T_ERROR -#define ACE_TLI_TCP_DEVICE "/dev/xti/tcp" - -#define ACE_HAS_UALARM - -#define ACE_HAS_UCONTEXT_T - -#define ACE_HAS_CTYPE_T - -// Platform has XPG4 wide character type and functions. However, the size -// of wchar_t changes for 32- vs. 64-bit builds (unsigned short vs. unsigned -// int, respectively). -#define ACE_HAS_XPG4_MULTIBYTE_CHAR -#ifdef __64BIT__ -# define ACE_SIZEOF_WCHAR 4 -#else -# define ACE_SIZEOF_WCHAR 2 -#endif /* __64BIT__ */ - -#define ACE_LACKS_NETINET_TCP_H - -// AIX uses LIBPATH to search for libraries -#define ACE_LD_SEARCH_PATH ACE_TEXT ("LIBPATH") - -// Defines the page size of the system. -#define ACE_PAGE_SIZE 4096 - -//************************************************************** -// -// Threads related definitions. -// -// The threads on AIX are generally POSIX P1003.1c (ACE_HAS_PTHREADS). -// However, there is also a kernel thread ID (tid_t) that is used in -// ACE_Log_Msg (printing the thread ID). The tid_t is not the same as -// pthread_t, and can't derive one from the other - thread_self() gets -// the tid_t (kernel thread ID) if called from a thread. -// Thanks very much to Chris Lahey for straightening this out. - -#if defined (ACE_HAS_THREADS) -# if !defined (ACE_MT_SAFE) -# define ACE_MT_SAFE 1 -# endif - -# define ACE_HAS_PTHREADS -# define ACE_HAS_PTHREADS_UNIX98_EXT -# define ACE_HAS_PTHREAD_CONTINUE_NP -# define ACE_HAS_PTHREAD_SUSPEND_NP -# define ACE_HAS_RECURSIVE_MUTEXES -# define ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS -# define ACE_HAS_SIGTHREADMASK -# define ACE_HAS_THREAD_SPECIFIC_STORAGE - -# define ACE_LACKS_THREAD_PROCESS_SCOPING -#else -# undef ACE_HAS_THREADS -#endif /* ACE_HAS_THREADS != 0 */ - -#define ACE_MALLOC_ALIGN 8 - -#if (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500) && !defined(_UNIX95) -# define ACE_HAS_3_PARAM_WCSTOK -#endif /* (_XOPEN_SOURCE -0) >= 500 && !_UNIX95 */ - -#if defined (_ACE_DISABLE_AIO_CALLS_) -# if defined (ACE_HAS_AIO_CALLS) -# undef ACE_HAS_AIO_CALLS -# endif -# undef _ACE_DISABLE_AIO_CALLS_ -#endif - -// AIX's /usr/include/unistd.h sets _POSIX_SEMAPHORE to indicate the system -// supplies such a facility, but the headers don't enable it unless -// _XOPEN_SOURCE >= 500. So disable semaphores here if _XOPEN_SOURCE isn't -// up to snuff. -#if defined (ACE_HAS_POSIX_SEM) && \ - (!defined (_XOPEN_SOURCE) || (_XOPEN_SOURCE-0 < 500)) -# undef ACE_HAS_POSIX_SEM -#endif - -// I think this is correct, but needs to be verified... -Steve Huston -#define ACE_HAS_SIGTIMEDWAIT - -// AIX 5.1 has netinet/tcp.h -#undef ACE_LACKS_NETINET_TCP_H - -#define ACE_HAS_SCANDIR -#define ACE_SCANDIR_CMP_USES_VOIDPTR -#define ACE_SCANDIR_SEL_LACKS_CONST -#define ACE_HAS_SIGSUSPEND -#define ACE_HAS_TIMEZONE /* Call tzset() to set timezone */ -#define ACE_LACKS_ISCTYPE -#define ACE_HAS_STRSIGNAL -#define ACE_NEEDS_STRSIGNAL_RANGE_CHECK -#define ACE_HAS_SOCKADDR_IN6_SIN6_LEN - - -#if defined (ACE_AIX_VERS) && (ACE_AIX_VERS < 503) -# define ACE_LACKS_UNSETENV -# define ACE_LACKS_LOG2 -# define ACE_LACKS_PTHREAD_ATTR_SETSTACK -#endif /* ACE_AIX_VERS < 503 */ - -#define ACE_SSIZE_T_FORMAT_SPECIFIER_ASCII "%ld" -#define ACE_SIZE_T_FORMAT_SPECIFIER_ASCII "%lu" - -#endif /* ACE_CONFIG_AIX_5_X_H */ diff --git a/ACE/ace/config-aix-7.h b/ACE/ace/config-aix-7.h deleted file mode 100644 index 3864490ce40..00000000000 --- a/ACE/ace/config-aix-7.h +++ /dev/null @@ -1,27 +0,0 @@ -// -*- C++ -*- - -//============================================================================= -/** - * @file config-aix-7.h - * - * This is the config file for AIX 7 and higher. - * - * @author Steve Huston <shuston@riverace.com> - */ -//============================================================================= - -#ifndef ACE_CONFIG_AIX_7_H -#define ACE_CONFIG_AIX_7_H - -// Diffs from prior AIX versions are related to scandir() arguments. -#include "ace/config-aix-5.x.h" - -#ifdef ACE_SCANDIR_CMP_USES_VOIDPTR -# undef ACE_SCANDIR_CMP_USES_VOIDPTR -#endif /* ACE_SCANDIR_CMP_USES_VOIDPTR */ - -#ifdef ACE_SCANDIR_SEL_LACKS_CONST -# undef ACE_SCANDIR_SEL_LACKS_CONST -#endif /* ACE_SCANDIR_SEL_LACKS_CONST */ - -#endif /* ACE_CONFIG_AIX_7_H */ diff --git a/ACE/etc/xlc_dummy.cpp b/ACE/etc/xlc_dummy.cpp deleted file mode 100644 index d8bc164c48e..00000000000 --- a/ACE/etc/xlc_dummy.cpp +++ /dev/null @@ -1,7 +0,0 @@ -// -// This file exists only to help with template instantiation when building -// shared libraries on AIX using C Set++. See rules.lib.GNU for usage. - -/* FUZZ: disable check_for_improper_main_declaration */ - -main() {} diff --git a/ACE/include/makeinclude/platform_aix.GNU b/ACE/include/makeinclude/platform_aix.GNU deleted file mode 100644 index 7d09c969385..00000000000 --- a/ACE/include/makeinclude/platform_aix.GNU +++ /dev/null @@ -1,103 +0,0 @@ - -# AIX 5.x using the IBM C Set++ compiler. -# -# NOTE! IBM is no longer supporting AIX at any version earlier than 4.3, -# and Riverace is not testing or supporting ACE on them either. No steps -# have been taken to intentionally disable anything, but it is not being -# tested either. -# -# NOTE 2! This file is only for use with the older CSet++ compiler, which -# IBM doesn't sell or support any longer. Riverace doesn't support ACE -# with it either. This file is still here in case there is some site -# still using the old compiler, but it is completely unsupported. -# -# On 4.1, this file assumes that the user has installed the AIX patch -# containing the dl*() APIs. To use these APIs, IBM has created a -# separate product (free to AIX licensees) called shared library -# hookable symbols (or slhs/6000). If they don't have this patch, the -# sv* commands for compiling and linking will not be present on the -# system. -# -# On 4.2, the AIX fileset bos.rte.bind_cmds must be at version 4.2.0.2 or -# higher in order to build libACEshr.a, and at 4.2.0.4 or higher for dl*() -# routines to work properly. Best to apply the update available at: -# ftp://service.boulder.ibm.com/aix/fixes/v4/os/bos.rte.bind_cmds.4.2.0.4.bff -# or a successor. - -debug ?= 1 -distrib ?= 0 -optimize ?= 0 -threads ?= 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) - -# aix_build turns on the funky shared library building code. -aix_build = 1 -# ibmcxx_build turns on the extra step for instantiating and compiling -# template instances. -ibmcxx_build = 1 - -ifeq ($(threads),1) -CC = xlc_r -CXX = xlC_r -DLD = makeC++SharedLib_r -else -CC = xlc -CXX = xlC -DLD = makeC++SharedLib -endif - -# -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. -TEMPINCDIR = tempinc -CCFLAGS += $(CFLAGS) -qtempinc=$(TEMPINCDIR) -qinfo - -# IBM C/C++ compiler 3.6.x produces a bazillion warnings about 0-valued -# preprocessor defs. Since both 3.1 and 3.4 could be installed, don't ask -# lslpp for one or the other. Instead, compile a file and see which compiler -# the user has 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 $(CXX) -E ./testAIXCompilerVersion.cpp | tail -1) -ACE_AIX_CLEAN := $(shell $(RM) ./testAIXCompilerVersion.cpp) -ifeq ($(XLCVERSION),0x0306) - CCFLAGS += -qflag=e:e -else - CCFLAGS += -qflag=w:w -endif -CPPFLAGS += -qlanglvl=ansi -DACE_AIX_MAJOR_VERS=$(AIX_MAJOR_VERS) -DACE_AIX_MINOR_VERS=$(AIX_MINOR_VERS) - -# -qinitauto seems useful, but when built with -qinitauto=5F, the -# Process_Strategy_Test went CPU bound in ostream, so I removed it (S. Huston) -DCFLAGS += -g -qcheck=nobounds:div:null - -ACELIB = -lACE -LD = $(CXX) - -ifeq ($(AIX_MINOR_VERS),1) -LLIBS = -lsvld -ltli_r $(ACELIB) -LIBS += $(filter-out $(SHLIBA:lib%.a=-l%), $(LLIBS)) -else -LIBS += -ltli_r -ldl -endif - -ARFLAGS = ruv -AR = ar -LDFLAGS += -bI:/lib/pse.exp -# 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 += -O2 -qarch=com -RANLIB = ranlib -SOFLAGS = -p 0 - -SOVERSION = -SONAME = diff --git a/ACE/include/makeinclude/platform_aix_g++.GNU b/ACE/include/makeinclude/platform_aix_g++.GNU deleted file mode 100644 index 0ec6775e370..00000000000 --- a/ACE/include/makeinclude/platform_aix_g++.GNU +++ /dev/null @@ -1,92 +0,0 @@ -# Platform macros for building on AIX with g++. This has been tested on -# AIX 4.3 and 5 with gcc 3. Earlier versions of gcc may compile, but are -# known to have serious problems on AIX. -# -# Contributed by Ian Wright <I.Wright@elsevier.co.uk> -# Updated for AIX 4.3 and gcc 3 by Steve Huston <shuston@riverace.com> - -debug ?= 1 -distrib ?= 0 -optimize ?= 1 -threads ?= 1 -buildbits ?= 32 -with_ld ?= aix -no_hidden_visibility ?= 1 - -PLATFORM_XT_CPPFLAGS= -PLATFORM_XT_LIBS=-lXt -PLATFORM_XT_LDFLAGS= - -PLATFORM_X11_CPPFLAGS= -PLATFORM_X11_LIBS=-lX11 -PLATFORM_X11_LDFLAGS= - -# 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 = so -LDFLAGS += -Wl,-brtl - -ifeq (1,$(threads)) - FLAGS_C_CC += -pthread -endif - -ifeq ($(shared_libs),1) -ACELIB = -lACE -else -ACELIB = -lACEns -endif - -# 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) -AIX_VERS := $(AIX_MAJOR_VERS)0$(AIX_MINOR_VERS) - -CC = gcc -CXX = g++ - -FLAGS_C_CC += -DACE_AIX_VERS=$(AIX_VERS) -ifeq ($(buildbits),32) - FLAGS_C_CC += -maix32 -endif -ifeq ($(buildbits),64) - FLAGS_C_CC += -maix64 - LDFLAGS += -maix64 - ARFLAGS += -X64 -endif -DCFLAGS += -g -DCCFLAGS += -g -DLD = $(CXX) -LD = $(CXX) -# Linking TAO_IDL runs out of TOC space unless -bbigtoc is given to ld. -# Don't do it for everything because it decreases run-time performance. -ifeq ($(notdir $(shell pwd)), TAO_IDL) -LDFLAGS += -Wl,-bbigtoc -endif - -OCFLAGS = -O2 -OCCFLAGS = $(OCFLAGS) -ifeq ($(threads),1) - SOFLAGS += -pthread -endif - -# AIX 5 has a new ld option, -bexpfull, that exports all the symbols that -# g++ 3.3+ needs to work correctly. The new option is available by default -# in AIX 5.2 and later, but must be installed by a patch to AIX 5.1. -ifeq ($(AIX_MAJOR_VERS),5) - SOFLAGS += -shared -Wl,-bexpfull # -Wl,-bloadmap:lib.mapelse -else - SOFLAGS += -shared -Wl,-bexpall # -Wl,-bloadmap:lib.map -endif - -LIBS += -lxti -ldl -ARFLAGS += cruv -RANLIB = ranlib -LD_RPATH = -Wl,-R, - -# 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/ACE/include/makeinclude/platform_aix_ibm.GNU b/ACE/include/makeinclude/platform_aix_ibm.GNU deleted file mode 100644 index aa9f3f76775..00000000000 --- a/ACE/include/makeinclude/platform_aix_ibm.GNU +++ /dev/null @@ -1,194 +0,0 @@ - -# This file is for use with AIX 5.x and up, using either of the IBM -# compilers (Visual Age C++ 6 or newer XL C++ compiler). - -debug ?= 1 -distrib ?= 0 -optimize ?= 0 -threads ?= 1 -buildbits ?= 32 - -ifeq (,$(inline)) -ifeq (1,$(debug)) - inline = 0 -else - inline = 1 -endif -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__" > ./testxlCvers.cpp;xlC -E ./testxlCvers.cpp | tail -n 1;$(RM) testxlCvers.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) -AIX_VERS := $(AIX_MAJOR_VERS)0$(AIX_MINOR_VERS) - -SOEXT = so -SOFLAGS += -G -LDFLAGS += -brtl -#SHR_FILTER=$(ACE_ROOT)/bin/aix_shr - -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 = $(SHR_FILTER) $(CXX) -RANLIB = ranlib - -CPPFLAGS += -DACE_AIX_VERS=$(AIX_VERS) - -# AIX 5.2 offers POSIX aio, but the Visual Age C++ compiler can't grok the -# aio.h header file. This is a known problem and will be addressed in -# May 2004 (per IBM). This is a workaround for it, supplied by IBM. -# When the compiler fix is released, this workaround (and the change -# to -qflag, below) can be removed. (Steve Huston) -ifeq (502,$(AIX_VERS)) -CPPFLAGS += -U__C99_RESTRICT -endif - -# -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. -DCCFLAGS += -g -qcheck=nobounds:div:null -DCFLAGS += -g - -ifeq ($(XLCVERSION),0x0600) - # This is just for the workaround for aio, above. Without it, the - # compiler warns that __C99_RESTRICT is reserved. When that workaround - # is gone, this ifeq can be removed also. -qflag=w:w is what we want - # in the end. - CCFLAGS += -qtemplateregistry=templateregistry.$(MAKEFILE) - ifeq (502,$(AIX_VERS)) - CCFLAGS += -qflag=e:e - else - CCFLAGS += -qflag=w:w - endif -else - ifeq ($(XLCVERSION),0x0700) - CCFLAGS += -qflag=w:w - ifeq ($(templates),manual) - CCFLAGS += -qnotempinc -qnotemplateregistry - else - CCFLAGS += -qtemplateregistry=templateregistry.$(MAKEFILE) - endif - # According to documentation, default is -qeh, which is equivalent - # to -qeh=v5. Apparently 6.0 fixed some problems with nested - # try-catch blocks. - CCFLAGS += -qeh=v6 - else - ifeq ($(XLCVERSION),0x0800) - CCFLAGS += -qflag=w:w - ifeq ($(templates),manual) - CCFLAGS += -qnotempinc -qnotemplateregistry - else - CCFLAGS += -qtemplateregistry=templateregistry.$(MAKEFILE) - endif - # According to documentation, default is -qeh, which is equivalent - # to -qeh=v5. Apparently 6.0 fixed some problems with nested - # try-catch blocks. - CCFLAGS += -qeh=v6 - else - # Until there's a reason to change, use the V9 settings for V10.1, 11.1, - # 12.1 and 13.1. - ifeq ($(XLCVERSION),0x0a01) - XLCVERSION = 0x0900 - endif - ifeq ($(XLCVERSION),0x0b01) - XLCVERSION = 0x0900 - endif - ifeq ($(XLCVERSION),0x0c01) - XLCVERSION = 0x0900 - endif - ifeq ($(XLCVERSION),0x0d01) - XLCVERSION = 0x0900 - endif - ifeq ($(XLCVERSION),0x0900) - CCFLAGS += -qflag=w:w - ifeq ($(templates),manual) - CCFLAGS += -qnotempinc -qnotemplateregistry - else - CCFLAGS += -qtemplateregistry=templateregistry.$(MAKEFILE) - endif - # According to documentation, default is -qeh, which is equivalent - # to -qeh=v5. Apparently 6.0 fixed some problems with nested - # try-catch blocks. - CCFLAGS += -qeh=v6 - else - CXX = echo "Unrecognized compiler version $(XLCVERSION)\n" - endif - endif - endif -endif - -DLD = $(CXX) -qmkshrobj -SOFLAGS += $(CCFLAGS) $(CPPFLAGS) $(INCLDIRS) - -ifeq ($(buildbits),64) - DLD += -q64 - CFLAGS += -q64 -qwarn64 - CCFLAGS += -q64 -qwarn64 - ARFLAGS := -X64 $(ARFLAGS) - - # This option results in a crash of TAO when building 64bit with - # Visual Age 6. No idea why but don't use it when using Visual Age 6. - ifneq ($(XLCVERSION),0x0600) - # CCFLAGS += -qstaticinline - endif -else - # Using 32bit the staticinline option works. - #CCFLAGS += -qstaticinline -endif - -# The Visual Age preprocessor is not usable with the TAO_IDL compiler. -# At the moment an idl file just contains includes of other idl files -# the Visual Age preprocessor doesn't report that file in the list of -# files that is used. The only way we can workaround this is using the -# gcc preprocessor, do this in your platform_macros.GNU is this -# causes problems -# TAO_IDL_PREPROCESSOR = gcc - -ifeq ($(exceptions),0) - CCFLAGS += -qnoeh -endif - -CCFLAGS += -qrtti=all - -ifeq ($(shared_libs),1) -ACELIB = -lACE -else -ACELIB = -lACEns -endif - -LIBS += -lxti -ldl - -SONAME = -SOVERSION = -# Default OCCFLAGS builds turns on mid-level optimize level. Compiler defaults -# to build machine's architecture and a reasonable tuning effort for recent -# machine architectures. To optimize for a more specific architecture, set -# your OCCFLAGS to the desired -qarch and/or -qtune values. For example: -#OCCFLAGS += -qarch=ppc -qtune=604 - -OCCFLAGS += -qlibansi -O2 |