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
|
# $Id$
# This platform macros file is intended to work with
# Digital UNIX 4.0 (OSF/1 4.0), using the cxx compiler..
debug = 1
exceptions = 1
rtti = 1
CC = cxx
CXX = $(CC)
#### Note: -pthread uses POSIX threads. If you want to use DCE threads
#### instead, change "-pthread" to "-threads".
CFLAGS += -pthread
ifndef CXX_VERSION
CXX_VERSION := $(shell $(CXX) -V)
endif # ! CXX_VERSION
CXX_1016 =
CXX_1136 =
ifneq (,$(optimize))
CXX_1016 = ,1016
endif # optimize
#### 6.1-029 and later support msg 1136. We disable it by default.
ifneq (6.0-,$(findstring 6.0-,$(CXX_VERSION)))
ifeq (6.1-,$(findstring 6.1-,$(CXX_VERSION)))
ifeq (6.1-029,$(findstring 6.1-029,$(CXX_VERSION)))
CXX_1136 = ,1136
endif # 6.1-029
else # 6.2 or later
CXX_1136 = ,1136
endif # 6.2 or later
endif # ! 6.0
#### 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.
# WARNING_FLAGS +=
# 193: zero used for undefined preprocessing identifier
# 236: controlling expression is constant
# 401: base_class_with_nonvirtual_dtor
# 835: unreferenced_function_param
# 1016: expected type is incompatible with declared type of int (in bzero ())
# 1136: conversion to integral type of smaller size could lose data
ifneq ($(CXX_VER),CXX_5)
WARNING_FLAGS += -w0 -msg_display_number -msg_display_tag
WARNING_FLAGS += -msg_disable 193,236,401,835$(CXX_1016)$(CXX_1136)
ifndef ACE_DU_VERSION
# In case this file wasn't included by platform_osf1_cxx.GNU:
# 9: nested comment not allowed. But there's one in /usr/include/pdsc.h!
WARNING_FLAGS += -msg_disable 9
endif # ACE_DU_VERSION
endif # 6.0 or later
CCFLAGS += $(CFLAGS) -ptr ptrepository $(WARNING_FLAGS)
ifeq ($(rtti),)
CCFLAGS += -nortti
endif # rtti
DCFLAGS += -g -O0
DLD = $(CXX)
LD = $(CXX)
LIBS += $(CFLAGS) -ptr ptrepository -ltli -lrt
MATHLIB = -lm
OCFLAGS += -O4
PIC =
ARFLAGS = cruvZ
# When libraries are archived, a hash index is automatically created
# so there is no need for ranlib
RANLIB = @true
#### 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.
SOFLAGS = -hidden /usr/lib/cmplrs/cxx/libcxxstd.a -non_hidden \
-shared -use_ld_input $(ACELIB)
SOBUILD = $(RM) $@; $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.o $< && \
ln $(VSHDIR)$*.o $@
ifndef exceptions
#### Disable the default exception handling of cxx >= 6.0.
#### This is untested. exceptions=1 is the default, so it's not used
#### by default.
ifeq (6.,$(findstring 6.,$(CXX_VERSION)))
CCFLAGS += -nocleanup
endif # 6.x
endif # ! exceptions
|