diff options
author | kitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-04-07 10:33:34 +0000 |
---|---|---|
committer | kitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-04-07 10:33:34 +0000 |
commit | b48b7910f1dab5e59fbc2b57a559818af23f11a1 (patch) | |
tree | cac7ae34fd858eb0964e63d58015084febcdab02 /include | |
parent | 7cc5c7e8af781f6b2fd5ca1a1d0de66395862935 (diff) | |
download | ATCD-b48b7910f1dab5e59fbc2b57a559818af23f11a1.tar.gz |
ChangeLogTag: Sun Apr 7 05:27:35 2002 Krishnakumar B <kitty@cs.wustl.edu>
Diffstat (limited to 'include')
-rw-r--r-- | include/makeinclude/platform_g++_common.GNU | 7 | ||||
-rw-r--r-- | include/makeinclude/platform_sunos5_ghs.GNU | 17 | ||||
-rw-r--r-- | include/makeinclude/platform_sunos5_kcc.GNU | 13 | ||||
-rw-r--r-- | include/makeinclude/platform_sunos5_sunc++.GNU | 48 |
4 files changed, 72 insertions, 13 deletions
diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU index 7c1d98b3743..89519b85541 100644 --- a/include/makeinclude/platform_g++_common.GNU +++ b/include/makeinclude/platform_g++_common.GNU @@ -4,8 +4,8 @@ CXX_VERSION := $(shell $(CXX) -dumpversion) -# If no option has been specified, try to enable implicit_templates based -# on the version of the compiler. +# If no option has been specified, try to enable templates based on the +# version of the compiler. # ifeq ($(templates),) ifeq (2.95,$(findstring 2.95,$(CXX_VERSION))) @@ -23,8 +23,7 @@ ifeq ($(templates),) endif endif -# User didn't specify and we couldn't guess if this version of the compiler -# works fine with implicit template instantiation. Turn if off. +# Turn on the proper flags for explicit template instantiation. # ifeq ("$(templates)","explicit") ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied. diff --git a/include/makeinclude/platform_sunos5_ghs.GNU b/include/makeinclude/platform_sunos5_ghs.GNU index 8933d0fc199..155e2b78af9 100644 --- a/include/makeinclude/platform_sunos5_ghs.GNU +++ b/include/makeinclude/platform_sunos5_ghs.GNU @@ -7,13 +7,26 @@ exceptions = 0 optimize = 1 threads = 1 +# I(kitty) don't know anything about this compiler. Making it explicit. +# +templates = "explicit" + +# Turn on the proper flags for explicit template instantiation. +# +ifeq ("$(templates)","explicit") + ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied. + TEMPLATES_FLAG=-tnone + endif + CPPFLAGS += -DACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION + LDFLAGS += --no_auto_instantiation +endif + CC = gcx CXX = $(CC) -CCFLAGS += $(CFLAGS) --no_rtti -tnone +CCFLAGS += $(CFLAGS) --no_rtti $(TEMPLATES_FLAG) DCFLAGS += -g DLD = $(CXX) LD = $(CXX) -LDFLAGS = --no_auto_instantiation LIBS += -lsocket -ldl -lgen -lnsl -lposix4 OCFLAGS += -OL -OM PIC = -PIC diff --git a/include/makeinclude/platform_sunos5_kcc.GNU b/include/makeinclude/platform_sunos5_kcc.GNU index e2124add875..f95b666ff93 100644 --- a/include/makeinclude/platform_sunos5_kcc.GNU +++ b/include/makeinclude/platform_sunos5_kcc.GNU @@ -7,6 +7,19 @@ distrib = 0 threads = 1 exceptions = 1 +# I(kitty) don't know anything about this combination. Making it explicit. +# XXX: Get the flags from the Kai web-site and fill it in. +templates = "explicit" + +# Turn on the proper flags for explicit template instantiation. +# +ifeq ("$(templates)","explicit") + ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied. + TEMPLATES_FLAG= + endif + CPPFLAGS += -DACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +endif + # These are required for KCC 3.4g compiler. LDFLAGS += --one_instantiation_per_object CCFLAGS += --one_instantiation_per_object diff --git a/include/makeinclude/platform_sunos5_sunc++.GNU b/include/makeinclude/platform_sunos5_sunc++.GNU index f7ca5a81877..2d23627c7ec 100644 --- a/include/makeinclude/platform_sunos5_sunc++.GNU +++ b/include/makeinclude/platform_sunos5_sunc++.GNU @@ -92,6 +92,7 @@ ifeq (Compilers 4.2,$(findstring Compilers 4.2,$(CC_VERSION))) #### Create template repository to avoid compiler warning. TEMPLATE_REPOSITORY = Templates.DB + else # ! 4.2 ifeq (C++ 5,$(findstring C++ 5,$(CC_VERSION))) #### CC 5.0 or later @@ -102,11 +103,12 @@ else # ! 4.2 else ifeq (C++ 5.1,$(findstring C++ 5.1,$(CC_VERSION))) inline = 0 - else + else # ! 5.1 inline = 1 exceptions = 1 - endif #!5.1 - endif #!5.0 + templates = "automatic" + endif # 5.2 or greater + endif #! 5.0 CCFLAGS += $(CFLAGS) @@ -114,7 +116,7 @@ else # ! 4.2 #### in the compatibility modes, but here all we need to be concerned with #### is turning on -compat=4, and not trying to enable the new libraries. ifeq ($(compat4),1) - CCFLAGS += -compat=4 -instances=explicit + CCFLAGS += -compat=4 #### RTTI can coexist with ACE, but it doesn't use it. To enable, #### add rtti=1 to your make invocation. Sun C++ 4.2, only, supports @@ -130,7 +132,6 @@ else # ! 4.2 #### Support RTTI by default. And, use explicit template instantiation #### because automatic instantiation appears to be broken, at least #### with early releases of CC 5.0. And, use old iostreams. - CCFLAGS += -instances=explicit ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION))) ifeq (1,$(stdcpplib)) CCFLAGS += -library=Cstd @@ -157,12 +158,45 @@ else # ! 4.2 endif # CC 5.0 or later endif # ! 4.2 +# If no option has been specified, try to enable templates based on the +# version of the compiler. +# +ifeq ($(templates),) + ifeq (Compilers 4.2,$(findstring Compilers 4.2,$(CC_VERSION))) + templates = "explicit" + else + ifeq (C++ 5.0,$(findstring C++ 5.0,$(CC_VERSION))) + templates = "explicit" + else + ifeq (C++ 5.1,$(findstring C++ 5.1,$(CC_VERSION))) + templates = "automatic" + else + # Assume it's Forte Update 1 or later. Implicit template + # instantiation seems to work. + # + templates = "automatic" + endif + endif + endif +endif + +# Turn on the proper flags for explicit template instantiation. +# +ifeq ("$(templates)","explicit") + ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied. + TEMPLATES_FLAG=-instances=explicit + endif + CPPFLAGS += -DACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION +endif + +CCFLAGS += $(TEMPLATES_FLAG) DCFLAGS += -g -DCCFLAGS += -g +DCCFLAGS += DLD = $(CXX) #### Sun CC-specific "Pure virtual finction called" bug fix trigger. +#### XXX: Shouldn't this go into a compiler specific guard ??? CPPFLAGS += -DSUN_CC_HAS_PVFC_BUG #### Exception handling breaks on MP machines prior to Sun C++ 4.2 @@ -184,7 +218,7 @@ endif LDFLAGS += -xildoff -OCFLAGS += -O +OCFLAGS += -xO4 PIC = -KPIC AR = CC ARFLAGS = -xar -o |