1 mike 1.1.2.1 #//%2006////////////////////////////////////////////////////////////////////////
2 #//
3 #// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 #// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 #// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
6 #// IBM Corp.; EMC Corporation, The Open Group.
7 #// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 #// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
9 #// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 #// EMC Corporation; VERITAS Software Corporation; The Open Group.
11 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
12 #// EMC Corporation; Symantec Corporation; The Open Group.
13 #//
14 #// Permission is hereby granted, free of charge, to any person obtaining a copy
15 #// of this software and associated documentation files (the "Software"), to
16 #// deal in the Software without restriction, including without limitation the
17 #// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
18 #// sell copies of the Software, and to permit persons to whom the Software is
19 #// furnished to do so, subject to the following conditions:
20 #//
21 #// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
22 mike 1.1.2.1 #// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
23 #// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
24 #// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
25 #// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
26 #// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
27 #// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
28 #// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 #//
30 #//==============================================================================
31 include $(ROOT)/mak/config-unix.mak
32
33 OS = solaris
34
35 ARCHITECTURE = ix86
36
37 COMPILER = CC
38
39 CC = cc
40
41 #
42 # This is a hack because the Pegasus build system doesn't have a way to specify
43 mike 1.1.2.1 # flags just for the C compiler or just for the C++ compiler.
44 #
45 CXX = $(PEGASUS_CCACHE) CC
46
47 SH = sh
48
49 YACC = yacc
50
51 RM = rm -f
52
53 DIFF = diff
54
55 SORT = sort
56
57 COPY = cp
58
59 MOVE = mv
60
61 LIB_SUFFIX = .so
62
63 PEGASUS_SUPPORTS_DYNLIB = yes
64 mike 1.1.2.1
65 SYS_INCLUDES =
66
67 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_POSIX_PTHREAD_SEMANTICS
68
69 DEFINES += -DPEGASUS_OS_SOLARIS
70
71 #
72 # This is needed for SPARC. It shouldn't be needed for x86
73 # or x86-64 if a port is ever done for Solaris on those
74 # platforms.
75 #
76 DEFINES += -DTYPE_CONV
77
78 # "READBUG" forces fstream.read to read 1 char at a time to
79 # overcome a bug in Wshop 6.2
80 # There are patches for this now.
81 #
82 # DEFINES += -DPEGASUS_OS_SOLARIS_READBUG
83
84 SUNOS_VERSION = $(shell uname -r)
85 mike 1.1.2.1
86
87 # Pegasus requires the kernel LWP thread model.
88 # It doesn't exist on SunOS 5.6 or 5.7 so thery are no longer supported.
89 #
90 ifeq ($(SUNOS_VERSION), 5.6)
91 DEFINES += -DSUNOS_5_6
92 $(error SunOS version 5.6 is not supportted)
93 endif
94
95 # Pegasus requires the kernel LWP thread model.
96 # It doesn't exist on SunOS 5.6 or 5.7 so thery are no longer supported.
97 #
98 ifeq ($(SUNOS_VERSION), 5.7)
99 DEFINES += -DSUNOS_5_7
100 $(error SunOS version 5.7 is not supportted)
101 endif
102
103 ifeq ($(SUNOS_VERSION), 5.8)
104 DEFINES += -DSUNOS_5_8
105 endif
106 mike 1.1.2.1
107 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
108 FLAGS = -g -xs
109 else
110 FLAGS = -O4 -s -xipo=1
111 endif
112
113 #FLAGS += +w -pto -KPIC -mt -xildoff
114 FLAGS += +w -KPIC -mt -xildoff
115
116 ifndef PEGASUS_SUN_STUDIO_EXPRESS
117 FLAGS += -pto
118 endif
119
120 ##==============================================================================
121 ##
122 ## COMMON_SYS_LIBS
123 ##
124 ## Build the common list of libraries used in linking both libraries and
125 ## programs.
126 ##
127 mike 1.1.2.1 ##==============================================================================
128
129 COMMON_SYS_LIBS = -lpthread -ldl -lsocket -lnsl -lxnet -lCstd
130
131 ifeq ($(SUNOS_VERSION), 5.6)
132 COMMON_SYS_LIBS += -lposix4
133 else
134 COMMON_SYS_LIBS += -lrt
135 endif
136
137 # on SunOS 5.8 use the alternate (kernel LWP) thread model that is standard on
138 # SunOS 5.9 and 5.10
139 #
140 ifeq ($(SUNOS_VERSION), 5.8)
141 COMMON_SYS_LIBS += -R /usr/lib/lwp
142 endif
143
144 ##==============================================================================
145 ##
146 ## SYS_LIBS (system libraries needed to build programs)
147 ##
148 mike 1.1.2.1 ##==============================================================================
149 SYS_LIBS = $(COMMON_SYS_LIBS) $(EXTRA_LIBRARIES)
150
151 ##==============================================================================
152 ##
153 ## LIBRARY_SYS_LIBS (system libraries needed to build other libraries)
154 ##
155 ##==============================================================================
156
157 LIBRARY_SYS_LIBS = $(COMMON_SYS_LIBS)
158
159 ##==============================================================================
160 ##
161 ## LINK_MACHINE_OPTIONS
162 ##
163 ##==============================================================================
164
165 LINK_MACHINE_OPTIONS += -m64
166
167 ##==============================================================================
168 ##
169 mike 1.1.2.1 ## OpenSSL Settings
170 ##
171 ## To build for SSL, add PEGASUS_HAS_SSL=1 to environment
172 ##
173 ##==============================================================================
174
175 OPENSSL_HOME=/usr/sfw
176 OPENSSL_BIN=/usr/sfw/bin
177 OPENSSL_COMMAND=/usr/sfw/bin/openssl
178 PEGASUS_ENABLE_SSL_CRL_VERIFICATION=true
179 PEGASUS_USE_SSL_RANDOMFILE=true
180
181 ifdef PEGASUS_HAS_SSL
182 FLAGS += -L$(OPENSSL_HOME)/lib
183 endif
184
185 FLAGS += -m64
|