Merge pull request #2216 from jwillemsen/jwi-cxxversionchecks
[ACE_TAO.git] / ACE / include / makeinclude / platform_linux.GNU
blob466fb28661369dc5454ab7d6f7fb0e0cefdc0742
1 # -*- Makefile -*-
3 include $(ACE_ROOT)/include/makeinclude/platform_linux_common.GNU
5 ifeq ($(insure),0)
6   CC  ?= gcc
7   CXX ?= g++
8   CXX_FOR_VERSION_TEST ?= $(CXX)
9 else
10   CXX_FOR_VERSION_TEST ?= g++
11 endif
13 CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version)
14 CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion)
16 ifeq (Ubuntu, $(findstring Ubuntu,$(LSB_RELEASE_ID)))
17   ifeq (7.10, $(findstring 7.10,$(LSB_RELEASE_RELEASE)))
18     no_hidden_visibility ?= 1
19   endif
20   ifeq (7.04, $(findstring 7.04,$(LSB_RELEASE_RELEASE)))
21     no_hidden_visibility ?= 1
22   endif
23 endif
25 ifeq ($(buildbits),32)
26   FLAGS_C_CC += -m32
27   LDFLAGS    += -m32
28 endif
29 ifeq ($(buildbits),64)
30   FLAGS_C_CC += -m64
31   LDFLAGS    += -m64
32 endif
34 ifeq ($(dynamic_loader),0)
35   CPPFLAGS += -DACE_HAS_DYNAMIC_LINKING=0
36 else
37   LIBS     += -ldl
38 endif
40 ifeq ($(threads),1)
41   FLAGS_C_CC += -pthread
42   SOFLAGS += -pthread
43   LIBS += -lrt
44 endif
46 ifeq ($(static_stdlibs),1)
47   LDFLAGS += -static-libgcc -static-libstdc++
48 endif
50 # Test for template instantiation, add to SOFLAGS if SONAME set,
51 # add -E to LDFLAGS if using GNU ld
53 include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU
55 # TAO with GCC 4.0.2 and -O3 seems to result in runtime issues, for example
56 # the ForwardRequest PI test will fail. For GCC 4.0.2 we default to -O2
57 ifeq ($(CXX_VERSION),4.0.2)
58   OCFLAGS ?= -O2
59   OCCFLAGS ?=-O2
60 else
61   OCFLAGS ?= -O3
62   OCCFLAGS ?= -O3
63 endif
65 #### GNU gas has a string limit of 4096 characters.  On Alphas,
66 #### builds will fail due to running over that limit.  There are
67 #### at least two workarounds:
68 #### 1) Change the limit to 8192 characters and rebuild gas.  See
69 ####    ACE-INSTALL.html for more information.
70 #### 2) Don't use -g when compiling those files.
71 #### If you're building on an Alpha and you haven't hacked and
72 #### rebuilt gas, you might need to uncomment the following.
73 #### ifeq ($(debug),1)
74 ####   SUPPRESS_DASH_G = 1
75 #### endif # debug