diff options
Diffstat (limited to 'ACE/include/makeinclude/platform_sunos5_sunc++.GNU')
-rw-r--r-- | ACE/include/makeinclude/platform_sunos5_sunc++.GNU | 100 |
1 files changed, 48 insertions, 52 deletions
diff --git a/ACE/include/makeinclude/platform_sunos5_sunc++.GNU b/ACE/include/makeinclude/platform_sunos5_sunc++.GNU index 5bf5127adaf..6e5ee2e753e 100644 --- a/ACE/include/makeinclude/platform_sunos5_sunc++.GNU +++ b/ACE/include/makeinclude/platform_sunos5_sunc++.GNU @@ -42,12 +42,15 @@ compat4 ?= 0 debug ?= 1 -distrib ?= 0 +distrib ?= 1 +rwtools ?= 0 stdcpplib ?= 1 +stlport ?= 0 threads ?= 1 versioned_so ?= 1 tk_reactor ?= 0 ace_with_x11 ?= 0 +no_annotations ?= 1 no_hidden_visibility ?= 1 templates ?= automatic @@ -71,8 +74,6 @@ ifeq (C++ 5.4,$(findstring C++ 5.4,$(CC_VERSION))) ACE_CC_PREPROCESSOR = cc endif -PLATFORM_STLPORT_CPPFLAGS = -library=stlport4 - ifeq ($(atomic_ops_sparc),1) CFLAGS += -DACE_HAS_BUILTIN_ATOMIC_OP -DACE_INCLUDE_ATOMIC_OP_SPARC endif @@ -107,11 +108,10 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION))) inline = 0 else - ifeq (C++ 5.1,$(findstring C++ 5.1,$(CC_VERSION))) + ifeq (C++ 5.1 ,$(findstring C++ 5.1 ,$(CC_VERSION))) inline = 0 else # ! 5.1 inline ?= 1 - exceptions ?= 1 endif # 5.2 or greater endif #! 5.0 @@ -124,20 +124,7 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) CCFLAGS += -compat=4 CCFLAGS += -features=rtti else - #### Use old iostreams. - ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION))) - ifeq (1,$(stdcpplib)) - CCFLAGS += -library=Cstd - else - CCFLAGS += -library=iostream,no%Cstd - CPPFLAGS += -DACE_USES_OLD_IOSTREAMS - endif # stdcpplib - else - ifeq (0,$(stdcpplib)) - CCFLAGS += -library=iostream - CPPFLAGS += -DACE_USES_OLD_IOSTREAMS - endif # stdcpplib - + ifneq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION))) # If 64-bit build is desired, turn that on. If no code gen options # are given to Forte 6, the default build is 32-bit, even when # building on a 64-bit system. Specifying xarch=v9 generates code @@ -159,9 +146,14 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) CFLAGS += -m64 LDFLAGS += -m64 else - CFLAGS += -xarch=v9 - LDFLAGS += -xarch=v9 - endif + ifeq (C++ 5.10,$(findstring C++ 5.10,$(CC_VERSION))) + CFLAGS += -m64 + LDFLAGS += -m64 + else + CFLAGS += -xarch=v9 + LDFLAGS += -xarch=v9 + endif # C++ 5.10 + endif # C++ 5.9 endif # C++ 5.8 endif # C++ 5.7 endif # buildbits @@ -169,30 +161,6 @@ ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) endif # compat4 requested endif # CC 5.0 or later -CCFLAGS += $(TEMPLATES_FLAG) - -#### Sun CC-specific "Pure virtual function called" bug fix trigger. -#### XXX: Shouldn't this go into a compiler version specific guard ??? -CPPFLAGS += -DSUN_CC_HAS_PVFC_BUG - -#### Exception handling breaks on MP machines prior to Sun C++ 4.2 -#### with jumbo patch 104631-02, see ace/config-sunos5.5.h. -#### If you are using a version of Sun C++ prior to 4,2, or haven't -#### applied that jumbo patch to your 4.2, or don't want to pay the -#### performance penalty of exception handling, then use the default -#### of no exceptions. If you want to enable exception handling, -#### add "exceptions=1" to your "make" invocation. -ifeq (0,$(exceptions)) - CCFLAGS += -noex - ifeq (C++ 5.6,$(findstring C++ 5.6,$(CC_VERSION))) - override stlport = 1 - else - ifeq (C++ 5.7,$(findstring C++ 5.7,$(CC_VERSION))) - override stlport = 1 - endif - endif -endif # ! exceptions - ifeq ($(shared_libs), 1) ifneq ($(static_libs_only), 1) @@ -221,15 +189,43 @@ include $(ACE_ROOT)/include/makeinclude/platform_sunos5_common.GNU LIBS += -lsocket -lrt -laio -ldl -lnsl -lgen -lposix4 -ladm -# Sun Studio will not create a default dependency on libCrun and -# libCstd when building a shared library with the -G option. -stlport ?= 0 -ifeq ($(stlport),0) - LIBS += -lCrun -lCstd +# Support alternate CC libraries (i.e. STLport, Tools.h++, Cstd) +# See: http://docs.sun.com/app/docs/doc/820-7599/bkaty?a=view +ifeq ($(stlport),1) + CC_LIBRARY = stlport4 + PLATFORM_STLPORT_CCFLAGS += -library=$(CC_LIBRARY) + PLATFORM_STLPORT_LDFLAGS += -library=$(CC_LIBRARY) +else + ifeq ($(rwtools),1) + ifeq ($(stdcpplib),1) + CC_LIBRARY = rwtools7_std + else + CC_LIBRARY = rwtools7,iostream + CPPFLAGS += -DACE_USES_OLD_IOSTREAMS + endif + else # default + ifeq ($(stdcpplib),1) + CC_LIBRARY = Cstd + else + CC_LIBRARY = no%Cstd,iostream + CPPFLAGS += -DACE_USES_OLD_IOSTREAMS + endif + endif + CCFLAGS += -library=$(CC_LIBRARY) + LDFLAGS += -library=$(CC_LIBRARY) endif -LDFLAGS += -xildoff +### CC 5.10 enables annotation support by default; allow user to override +### new behavior. This also provides a work around for 64-bit linker crashes, +### see: http://defect.opensolaris.org/bz/show_bug.cgi?id=9720 +ifeq (C++ 5.10,$(findstring C++ 5.10,$(CC_VERSION))) + ifeq ($(no_annotations),1) + LDFLAGS += -xannotate=no + endif +endif +LDFLAGS += -xildoff +CPPFLAGS += -D_POSIX_PTHREAD_SEMANTICS OCFLAGS += -xO4 PIC = -KPIC AR = CC |