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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# $Id$
# This platform macros file is intended to work with
# Digital UNIX using the cxx compiler.
# Include the common macros for all compilers
#
include $(ACE_ROOT)/include/makeinclude/platform_tru64_pre.GNU
# Note that TAO has not been tested with debug=0 on this platform. So
# you should be careful when turning off debug.
debug ?= 1
threads ?= 1
# Use of Standard C++ Library requires some flags to be added to the
# compile line
#
stdcpplib ?= 1
CC = cxx
CXX = $(CC)
# Note: Just get the version if it hasnt been defined so far.
#
ifndef CXX_VERSION
CXX_VERSION := $(shell $(CXX) -V)
endif # ! CXX_VERSION
#### Note: -thread uses POSIX threads. If you want to use DCE threads
#### instead, change "-pthread" to "-threads".
ifeq ($(threads),1)
CFLAGS += -pthread
endif
#### These flags can only be used with cxx Version 6.0 and later.
#### They are enabled by default; they can be disabled by settting
#### CXX_VER to CXX_5 either on the make command line, or by
#### or by setting the CXX_VER environment variable to CXX_5.
ifneq ($(CXX_VER),CXX_5)
WARNING_FLAGS += -w0
ifneq (,$(VERBOSE_WARNING))
WARNING_FLAGS += -msg_display_number -msg_display_tag
endif # VERBOSE_WARNING
ifneq (,$(optimize))
#### See ace/config-cxx-common.h for the meaning of this warning.
#### It's not necessary on DU 5.0.
WARNING_FLAGS += -msg_disable 1016
endif # optimize
ifeq (4.,$(findstring 4.,$(shell uname -r)))
# 9: nested comment not allowed. But there's one in /usr/include/pdsc.h!
WARNING_FLAGS += -msg_disable 9
endif
endif # 6.0 or later
templates ?= automatic
# Turn on the appropriate flags
#
ifeq ($(templates), automatic)
ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied.
TEMPLATES_FLAG = -pt
SOFLAGS += -tall
endif
else
ifeq ($(templates), used)
ifeq ($(TEMPLATES_FLAG),) # Turn on flags if none is speficied.
TEMPLATES_FLAG = -pt
SOFLAGS += -tused
endif
endif # templates == used
endif # templates == automatic
# Add the extra definitions needed to use the Standard Template Library
#
ifeq ($(stdcpplib), 1)
CPPFLAGS += -D__USE_STD_IOSTREAM
endif
# The correct flags to pass to the linker for ELF dynamic shared library
# versioning
#
ifneq ($(SONAME),)
SOFLAGS += -soname $(SONAME)
endif
CCFLAGS += $(CFLAGS) $(WARNING_FLAGS) $(TEMPLATES_FLAG)
DCFLAGS += -g1 -O0
DLD = $(CXX)
LD = $(CXX)
#### The -hidden [...] -non_hidden business avoids multiply defined
#### symbols between the shared library and libcxxstd.a. It's the
#### workaround recommended in PTR 43-4-204. It must appear before any
#### linker commands.
LDFLAGS += -hidden $(wildcard /usr/lib/libcxxstd.a) -non_hidden
LIBS += $(CFLAGS) -lxti -lrt
MATHLIB = -lm
OCFLAGS += -O3
PIC =
ARFLAGS = cruvZ
# This is needed to pull in all the template instantiations from the
# repository into the library.
#
TMPINCDIR = cxx_repository
# When libraries are archived, a hash index is automatically created
# so there is no need for ranlib
#
RANLIB = @true
SOFLAGS += -shared -use_ld_input $(ACELIB)
LIBS := $(LIBS)
SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \
ln $(VSHDIR)$*.o $@
### There is a bug with pthreads header file shipped with v1885 of
### V5.1. We need to turn this flag to get asm () inline for
### compilation.
ifeq (1885,$(findstring 1885,$(ACE_DU_SUBVERSION)))
ifeq (6.,$(findstring 6.,$(CXX_VERSION)))
CPPFLAGS += -D_PTHREAD_ENV_DECCXX
endif # 6.x
endif #v1885
# Include the common macros for all compilers
#
include $(ACE_ROOT)/include/makeinclude/platform_tru64_post.GNU
|