diff options
Diffstat (limited to 'include/makeinclude/platform_aix_vacpp.GNU')
-rw-r--r-- | include/makeinclude/platform_aix_vacpp.GNU | 87 |
1 files changed, 14 insertions, 73 deletions
diff --git a/include/makeinclude/platform_aix_vacpp.GNU b/include/makeinclude/platform_aix_vacpp.GNU index 626940dcc49..ddab223ab96 100644 --- a/include/makeinclude/platform_aix_vacpp.GNU +++ b/include/makeinclude/platform_aix_vacpp.GNU @@ -1,7 +1,13 @@ # $Id$ -# AIX 4.3 and higher using the Visual Age C++ 5 batch compiler (xlC_r) +# AIX 4.2.x and higher using the Visual Age C++ environment. # *not* using Orbix +# +# 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. ifeq (,$(debug)) debug = 1 @@ -9,86 +15,21 @@ 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 +# Visual Age C++ does everything - maintain dependency information, build +# commands, and results. The Makefile scheme here is primarily for cases +# where multiple targets are to be built (such as in the 'tests' directory) +# and multiple configurations are used for it. Set a variable to say that +# VACPP is in charge, and the build scheme then runs vacbld rather than +# go through the whole dependency check. -LIBS += -ltli_r -ldl +using_aix_vacpp = 1 -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 = |