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