1 a.dunfey 1.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 a.dunfey 1.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 OS_TYPE = windows
32 OS = win64
33 ARCHITECTURE = IA64
34 COMPILER = msvc
35
36 SYS_INCLUDES =
37
38 DEPEND_INCLUDES =
39
40 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_WIN32_WINNT=0x0400
41 #-D_WIN32_WINNT=0x0400 -DWINVER=0x0400
42
43 a.dunfey 1.1
44 #
45 # Determine the version of the compiler being used.
46 #
47 CL_VERSION := $(word 8, $(shell cl.exe 2>&1))
48 CL_MAJOR_VERSION := $(word 1, $(subst ., , $(CL_VERSION)))
49
50 #
51 # The flags set here should be valid for VC 6.
52 #
53 # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
54 # C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) :
55 # fatal error C1076: compiler limit : internal heap limit reached; use /Zm to
56 # specify a higher limit
57 #
58 CXX_VERSION_FLAGS := -Zm105
59 CXX_VERSION_DEBUG_FLAGS :=
60 CXX_VERSION_RELEASE_FLAGS :=
61 LINK_VERSION_RELEASE_FLAGS :=
62
63
64 a.dunfey 1.1 #
65 # CL_MAJOR_VERSION 13 is VC 7
66 #
67 ifeq ($(CL_MAJOR_VERSION), 13)
68 CXX_VERSION_FLAGS := -EHsc
69 CXX_VERSION_DEBUG_FLAGS := -Gs
70 CXX_VERSION_RELEASE_FLAGS := -Gs -GF -Gy
71 LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
72 endif
73
74
75 #
76 # CL_MAJOR_VERSION 14 is VC 8
77 #
78 ifeq ($(CL_MAJOR_VERSION), 14)
79 CXX_VERSION_FLAGS := -EHsc
80 CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
81 CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
82 LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
83 DEFINES += -D_CRT_SECURE_NO_DEPRECATE
84 endif
85 a.dunfey 1.1
86 CXX_VERSION_FLAGS := -Wp64 -EHsc
87 CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
88
89 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
90 FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
91 LINK_FLAGS += -debug
92 else
93 FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
94 LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS)
95 endif
96
97
98 ifdef PEGASUS_DEBUG_CIMEXCEPTION
99 DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
100 endif
101
102 # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
103 # Enable the compilation of the SLP functions.
104 #
105 ifndef PEGASUS_ENABLE_SLP
106 a.dunfey 1.1 PEGASUS_ENABLE_SLP = true
107 endif
108
109 # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
110 # changes during interoperability tests.
111 ifdef PEGASUS_SNIA_INTEROP_TEST
112 DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
113 endif
114
115 RM = mu rm
116
117 RMDIRHIER = mu rmdirhier
118
119 MKDIRHIER = mu mkdirhier
120
121 DIFF = mu compare
122
123 SORT = mu sort
124
125 COPY = mu copy
126
127 a.dunfey 1.1 MOVE = mu move
128
129 CXX = cl -nologo
130
131 EXE_OUT = -Fe
132
133 LIB_OUT = -out:
134
135 OBJ = .obj
136
137 OBJ_OUT = -Fo
138
139 EXE = .exe
140
141 DLL = .dll
142
143 ILK = .ilk
144
145 PDB = .pdb
146
147 EXP = .exp
148 a.dunfey 1.1
149 AR = LINK -nologo -dll
150
151 LIB_PREFIX =
152
153 LIB_SUFFIX = .lib
154
155 TOUCH = mu touch
156
157 ECHO = mu echo
158
159 LEX = flex
160
161 YACC = bison
162
163 SH = bash
164
165 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
166 PEGASUS_DEST_LIB_DIR = bin
167
168 # The Provider User Context feature (PEP 197) is not supported on Windows
169 a.dunfey 1.1 PEGASUS_DISABLE_PROV_USERCTXT=1
170
171 # Windows does not support local domain sockets or the equivalent Bug 2147
172 PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
173
174 # l10n
175 ifdef PEGASUS_HAS_MESSAGES
176 DEFINES += -DPEGASUS_HAS_MESSAGES
177 ifdef ICU_ROOT
178 MSG_COMPILE = genrb
179 MSG_FLAGS =
180 MSG_SOURCE_EXT = .txt
181 MSG_COMPILE_EXT = .res
182 CNV_ROOT_CMD = cnv2rootbundle
183
184 ##################################
185 ##
186 ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root resource bundle,
187 ## default is to uppercase the root resource bundle##
188 ##################################
189
190 a.dunfey 1.1 ifdef ICU_NO_UPPERCASE_ROOT
191 CNV_ROOT_FLAGS =
192 else
193 CNV_ROOT_FLAGS = -u
194 endif
195
196 ####################################
197 ##
198 ## ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from
199 ## defaults to _en if not set. if set, for any directory containing resource bundles,
200 ## there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail
201 ##
202 ## We have to use the full path library because the cl /Fe command in program-windows.mak does
203 ## not take libpath as an argument (as far as I can tell)
204 ####################################
205
206 ifdef ICU_ROOT_BUNDLE_LANG
207 MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
208 else
209 MSG_ROOT_SOURCE = _en
210 endif
211 a.dunfey 1.1 DEFINES += -DPEGASUS_HAS_ICU
212 EXTRA_LIBRARIES += $(ICU_INSTALL)/lib/icuuc.lib $(ICU_INSTALL)/lib/icuin.lib $(ICU_INSTALL)/lib/icudt.lib
213 SYS_INCLUDES += -I$(ICU_ROOT)/source/common -I$(ICU_ROOT)/source/i18n
214 endif
215 endif
216
217 PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
|