summaryrefslogtreecommitdiff
path: root/ACE/include/makeinclude/platform_clang_common.GNU
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/include/makeinclude/platform_clang_common.GNU')
-rw-r--r--ACE/include/makeinclude/platform_clang_common.GNU98
1 files changed, 9 insertions, 89 deletions
diff --git a/ACE/include/makeinclude/platform_clang_common.GNU b/ACE/include/makeinclude/platform_clang_common.GNU
index cfd7f81f1a3..b9c77141d68 100644
--- a/ACE/include/makeinclude/platform_clang_common.GNU
+++ b/ACE/include/makeinclude/platform_clang_common.GNU
@@ -6,9 +6,12 @@ CCFLAGS += -fdelayed-template-parsing
ifneq ($(CROSS_COMPILE),)
CROSS-COMPILE = 1
# Build using the cross-tools
- CC = ${CROSS_COMPILE}clang${CROSS_COMPILE_SUFFIX}
- CXX = ${CROSS_COMPILE}clang++${CROSS_COMPILE_SUFFIX}
- AR = ${CROSS_COMPILE}ar${CROSS_COMPILE_SUFFIX}
+ override_cross_compile ?= 0
+ ifeq ($(override_cross_compile),0)
+ CC = ${CROSS_COMPILE}clang${CROSS_COMPILE_SUFFIX}
+ CXX = ${CROSS_COMPILE}clang++${CROSS_COMPILE_SUFFIX}
+ AR = ${CROSS_COMPILE}ar${CROSS_COMPILE_SUFFIX}
+ endif
# Cross-linker requires this for linked in shared libs that depend
# themselves on other shared libs (not directly linked in)
LDFLAGS += -Wl,-rpath-link,$(ACE_ROOT)/lib
@@ -20,17 +23,12 @@ ifneq ($(CROSS_COMPILE),)
TAO_IDL3_TO_IDL2_DEP = $(TAO_IDL3_TO_IDL2)
TAO_IDL3_TO_XMI = $(HOST_ROOT)/bin/tao_idl3_to_xmi
TAO_IDL3_TO_XMI_DEP = $(TAO_IDL3_TO_XMI)
- # make sure to use the target compiler, not the cross-compiler
+ # make sure to use the host compiler, not the cross-compiler
# as preprocessor for the cross-compiled idl tools
TAO_IDL_PREPROCESSOR = clang
endif
endif
-ifeq ($(openmp),1)
-FLAGS_C_CC += -fopenmp
-LDFLAGS += -fopenmp
-endif
-
ifeq ($(CXX),insure)
# insure does not pass through the -dumpversion option.
CXX_FOR_VERSION_TEST ?= g++
@@ -40,32 +38,7 @@ endif
CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion)
-# If no option has been specified, set templates to automatic
-# version of the compiler.
-#
-templates ?= automatic
-
-# The correct flags to pass to the linker for ELF dynamic shared library
-# versioning.
-# If the platform file didn't already set versioned_so, default to 1.
-versioned_so ?= 1
-with_ld ?=
-ifeq ($(versioned_so),1)
- ifeq ($(with_ld),hpux)
- SOFLAGS += -Wl,+h -Wl,$(SONAME)
- else
- ifeq ($(with_ld),aix)
- # What to do here???
- else
- SOFLAGS += -Wl,-h -Wl,$(SONAME)
- endif
- endif
-endif
-
-static_libs_only ?=
-
CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version)
-gcc_template_instantiation_visibility ?= 0
# Only modify LDFLAGS if DLD has been set.
ifneq ($(DLD),)
@@ -86,58 +59,5 @@ ifeq ($(no_strict_aliasing), 1)
CCFLAGS += -fno-strict-aliasing
endif
-ifeq ($(c++0x),1)
- CCFLAGS += -std=c++0x
-else
- ifeq ($(c++11),1)
- CCFLAGS += -std=c++11
- endif # c++11
-endif # c++0x
-
-ifeq ($(shared_libs), 1)
- ifneq ($(static_libs_only), 1)
- # Add all symbols to the dynamic symbol table. Needed to enable
- # dynamic_cast<> for shared libraries. (see
- # http://gcc.gnu.org/faq.html#dso)
-
- ifeq ($(GNU_LD),1)
- # Make sure this version of ld supports the -E option.
- ifneq ($(mingw32),1)
- LD_EXPORT_DEFINED := $(shell sh -c '$(LD_FOR_VERSION_TEST) -E 2>&1 | egrep -i "(option|flag)" /dev/null; echo $$?')
- else
- LD_EXPORT_DEFINED := $(shell $(LD_FOR_VERSION_TEST) -E 2>&1 | grep -c -i -e '(option|flag)')
- ifeq ($(LD_EXPORT_DEFINED),0)
- LD_EXPORT_DEFINED:=1
- else
- LD_EXPORT_DEFINED:=0
- endif
- endif # mingw32
- ifeq ($(LD_EXPORT_DEFINED),1)
- LDFLAGS += -Wl,-E
- endif # LD_EXPORT_DEFINED = 1
- endif # GNU ld
-
- # Take advantage of G++ (>= 4.x) visibility attributes to generate
- # improved shared library binaries.
- ifneq ($(no_hidden_visibility),1)
- CCFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
- ifeq ($(gcc_template_instantiation_visibility),1)
- CCFLAGS += -DACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS=1
- endif # gcc_template_instantiation_visibility
- else
- CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0
- endif # no_hidden_visibility
- else
- # Explicitly disable G++ (>= 4.x) visibility attributes since
- # they are only meant for use when building shared libraries.
- no_hidden_visibility = 1
- CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0
- endif # static_libs_only
-else
- # Explicitly disable G++ (>= 4.x) visibility attributes since
- # they are only meant for use when building shared libraries.
- no_hidden_visibility = 1
- CPPFLAGS += -DACE_HAS_CUSTOM_EXPORT_MACROS=0
-endif # shared_libs
-
-FLAGS_C_CC += -W -Wall
+# Things Clang has in common with GCC
+include $(ACE_ROOT)/include/makeinclude/platform_gcc_clang_common.GNU