(file) Return to platform_WIN32_IX86_MSVC.mak CVS log (file) (dir) Up to [Pegasus] / pegasus / mak

  1 karl  1.41 #//%2006////////////////////////////////////////////////////////////////////////
  2 martin 1.36 #//
  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 karl   1.41 #// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
 12             #// EMC Corporation; Symantec Corporation; The Open Group.
 13 martin 1.36 #//
 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             #// 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 mike   1.1  OS_TYPE = windows
 32             OS = win32
 33             ARCHITECTURE = iX86
 34             COMPILER = msvc
 35             
 36             SYS_INCLUDES =
 37             
 38             DEPEND_INCLUDES =
 39             
 40 kumpf  1.17 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_WIN32_WINNT=0x0400
 41 mike   1.6  #-D_WIN32_WINNT=0x0400 -DWINVER=0x0400
 42 mike   1.1  
 43 david.dillard 1.27 
 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                    #
 52 dave.sudlik   1.43 # Determine the version of Windows being used.
 53                    # IPv6 is not supported on Windows 2000 (earliest Windows version supported
 54 dave.sudlik   1.45 # by Pegasus), but we don't enforce that here.
 55                    # IPv6 is not supported by the VC 6 compiler (CL_MAJOR_VERSION is 12 for VC 6).
 56 dave.sudlik   1.43 #
 57                    ifeq ($(CL_MAJOR_VERSION), 12)
 58                        PEGASUS_ENABLE_IPV6 = false
 59                    endif
 60                    
 61                    
 62                    #
 63 david.dillard 1.27 # The flags set here should be valid for VC 6.
 64                    #
 65 dave.sudlik   1.39 # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
 66                    #   C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) : 
 67                    #   fatal error C1076: compiler limit : internal heap limit reached; use /Zm to 
 68                    #   specify a higher limit
 69                    # 
 70                    CXX_VERSION_FLAGS := -GX -Zm105
 71 david.dillard 1.35 CXX_VERSION_DEBUG_FLAGS :=
 72                    CXX_VERSION_RELEASE_FLAGS :=
 73                    LINK_VERSION_RELEASE_FLAGS :=
 74 david.dillard 1.27 
 75                    
 76                    #
 77                    # CL_MAJOR_VERSION 13 is VC 7
 78                    #
 79                    ifeq ($(CL_MAJOR_VERSION), 13)
 80 david.dillard 1.35     CXX_VERSION_FLAGS := -Wp64 -EHsc
 81                        CXX_VERSION_DEBUG_FLAGS := -Gs
 82                        CXX_VERSION_RELEASE_FLAGS := -Gs -GF -Gy
 83                        LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 84 david.dillard 1.27 endif
 85                    
 86                    
 87                    #
 88                    # CL_MAJOR_VERSION 14 is VC 8
 89                    #
 90                    ifeq ($(CL_MAJOR_VERSION), 14)
 91 david.dillard 1.35     CXX_VERSION_FLAGS := -Wp64 -EHsc
 92                        CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
 93                        CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
 94                        LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 95 david.dillard 1.27     DEFINES += -D_CRT_SECURE_NO_DEPRECATE
 96                    endif
 97                    
 98                    
 99 aruran.ms     1.38 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
100 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
101                        LINK_FLAGS += -debug
102 mike          1.1  else
103 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
104                        LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS)
105 mike          1.1  endif
106                    
107 david.dillard 1.27 
108 karl          1.9  ifdef PEGASUS_DEBUG_CIMEXCEPTION
109 david.dillard 1.27     DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
110 karl          1.9  endif
111                    
112 jim.wunderlich 1.40 # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
113 karl           1.23 # Enable the compilation of the SLP functions.
114 jim.wunderlich 1.40 #
115                     ifndef PEGASUS_ENABLE_SLP
116 a.dunfey       1.37     PEGASUS_ENABLE_SLP = true
117 joyce.j        1.34 endif
118 karl           1.23 
119 karl           1.11 # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
120                     # changes during interoperability tests.
121                     ifdef PEGASUS_SNIA_INTEROP_TEST
122 david.dillard  1.27     DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
123 karl           1.11 endif
124 kumpf          1.22 
125 mike           1.1  RM = mu rm
126                     
127                     RMDIRHIER = mu rmdirhier
128                     
129                     MKDIRHIER = mu mkdirhier
130                     
131 jim.wunderlich 1.26 DIFF = mu compare
132                     
133                     SORT = mu sort
134                     
135 mike           1.1  COPY = mu copy
136                     
137 mike           1.4  MOVE = mu move
138                     
139 mike           1.1  CXX = cl -nologo
140                     
141                     EXE_OUT = -Fe
142                     
143                     LIB_OUT = -out:
144                     
145                     OBJ = .obj
146                     
147                     OBJ_OUT = -Fo
148                     
149                     EXE = .exe
150 tony           1.15 
151                     DLL = .dll
152                     
153                     ILK = .ilk
154                     
155                     PDB = .pdb
156                     
157                     EXP = .exp
158 mike           1.1  
159                     AR = LINK -nologo -dll
160                     
161                     LIB_PREFIX =
162                     
163                     LIB_SUFFIX = .lib
164                     
165                     TOUCH = mu touch
166                     
167                     ECHO = mu echo
168                     
169                     LEX = flex
170                     
171                     YACC = bison
172 mike           1.3  
173                     SH = bash
174 mike           1.4  
175                     YACC = bison
176 konrad.r       1.19 
177 kumpf          1.21 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
178                     PEGASUS_DEST_LIB_DIR = bin
179 kumpf          1.22  
180                     # The Provider User Context feature (PEP 197) is not supported on Windows
181                     PEGASUS_DISABLE_PROV_USERCTXT=1
182 h.sterling     1.24 
183 h.sterling     1.33 # Windows does not support local domain sockets or the equivalent Bug 2147
184                     PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
185 h.sterling     1.30 
186 h.sterling     1.24 # l10n
187                     ifdef PEGASUS_HAS_MESSAGES
188 david.dillard  1.27     DEFINES += -DPEGASUS_HAS_MESSAGES
189                         ifdef ICU_ROOT
190 h.sterling     1.30         MSG_COMPILE = genrb
191                             MSG_FLAGS =
192                             MSG_SOURCE_EXT = .txt
193                             MSG_COMPILE_EXT = .res
194                             CNV_ROOT_CMD = cnv2rootbundle
195 h.sterling     1.24 
196                     ##################################
197                     ##
198                     ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root resource bundle,
199                     ## default is to uppercase the root resource bundle##
200                     ##################################
201                     
202                     ifdef ICU_NO_UPPERCASE_ROOT
203 david.dillard  1.27     CNV_ROOT_FLAGS =
204 h.sterling     1.24 else
205 david.dillard  1.27     CNV_ROOT_FLAGS = -u
206 h.sterling     1.24 endif
207                     
208                     ####################################
209                     ##
210                     ##   ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from
211                     ##   defaults to _en if not set.  if set, for any directory containing resource bundles,
212                     ##   there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail
213                     ##
214                     ##   We have to use the full path library because the cl /Fe command in program-windows.mak does
215                     ##   not take libpath as an argument (as far as I can tell)
216                     ####################################
217                     
218                     ifdef ICU_ROOT_BUNDLE_LANG
219 david.dillard  1.27     MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
220 h.sterling     1.24 else
221 david.dillard  1.27     MSG_ROOT_SOURCE = _en
222 h.sterling     1.24 endif
223 david.dillard  1.27         DEFINES += -DPEGASUS_HAS_ICU
224                             EXTRA_LIBRARIES += $(ICU_INSTALL)/lib/icuuc.lib $(ICU_INSTALL)/lib/icuin.lib $(ICU_INSTALL)/lib/icudt.lib
225                             SYS_INCLUDES += -I$(ICU_ROOT)/source/common -I$(ICU_ROOT)/source/i18n
226                         endif
227 h.sterling     1.24 endif
228 mark.hamzy     1.42 
229                     PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
230 mateus.baur    1.44 
231                     
232                     ##################################
233                     ##
234                     ## Pegasus WMIMapper
235                     ## 
236                     ##################################
237                     
238                     ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
239                       FLAGS += -DPEGASUS_WMIMAPPER
240                     else 
241                       ifdef PEGASUS_WMIMAPPER
242                         FLAGS += -DPEGASUS_WMIMAPPER
243                       endif   
244                     endif
245                     
246 mateus.baur    1.46 ##################################
247                     ## 
248                     ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
249                     ##
250                     ##################################
251 mateus.baur    1.44 ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
252 mateus.baur    1.46   ifeq ($(CL_MAJOR_VERSION), 12)
253                         PEGASUS_WMIMAPPER_NEED_MSSDK=true
254                       endif
255                       ifeq ($(CL_MAJOR_VERSION), 13) 
256                         PEGASUS_WMIMAPPER_NEED_MSSDK=true
257                       endif
258                       ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
259                         ifndef MSSdk
260                           $(error MSSdk environment variable undefined)
261                         endif
262 mateus.baur    1.44   endif
263                     endif
264                     
265                     
266 mateus.baur    1.46 
267                     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2