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

  1 martin 1.51 #//%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.52 #//
  3 martin 1.51 #// Licensed to The Open Group (TOG) under one or more contributor license
  4             #// agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
  5             #// this work for additional information regarding copyright ownership.
  6             #// Each contributor licenses this file to you under the OpenPegasus Open
  7             #// Source License; you may not use this file except in compliance with the
  8             #// License.
  9 martin 1.52 #//
 10 martin 1.51 #// Permission is hereby granted, free of charge, to any person obtaining a
 11             #// copy of this software and associated documentation files (the "Software"),
 12             #// to deal in the Software without restriction, including without limitation
 13             #// the rights to use, copy, modify, merge, publish, distribute, sublicense,
 14             #// and/or sell copies of the Software, and to permit persons to whom the
 15             #// Software is furnished to do so, subject to the following conditions:
 16 martin 1.52 #//
 17 martin 1.51 #// The above copyright notice and this permission notice shall be included
 18             #// in all copies or substantial portions of the Software.
 19 martin 1.52 #//
 20 martin 1.51 #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.52 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.51 #// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 23             #// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
 24             #// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
 25             #// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 26             #// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 27 martin 1.52 #//
 28 martin 1.51 #//////////////////////////////////////////////////////////////////////////
 29 mike   1.1  OS_TYPE = windows
 30             OS = win32
 31             ARCHITECTURE = iX86
 32             COMPILER = msvc
 33             
 34             SYS_INCLUDES =
 35             
 36             DEPEND_INCLUDES =
 37             
 38 s.kodali 1.54 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_WIN32_WINNT=0x0600
 39 mike     1.6  #-D_WIN32_WINNT=0x0400 -DWINVER=0x0400
 40 mike     1.1  
 41 david.dillard 1.27 
 42                    #
 43                    # Determine the version of the compiler being used.
 44                    #
 45                    CL_VERSION := $(word 8, $(shell cl.exe 2>&1))
 46                    CL_MAJOR_VERSION := $(word 1, $(subst .,  , $(CL_VERSION)))
 47                    
 48 marek         1.59 VC_CL_VERSIONS := 14 15 16
 49 s.kodali      1.56 VC_CL_VERSION  := $(findstring $(CL_MAJOR_VERSION), $(VC_CL_VERSIONS))
 50 david.dillard 1.27 
 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 kumpf         1.53 #   C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) :
 67                    #   fatal error C1076: compiler limit : internal heap limit reached; use /Zm to
 68 dave.sudlik   1.39 #   specify a higher limit
 69 kumpf         1.53 #
 70 dave.sudlik   1.39 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 marek         1.59 # CL_MAJOR_VERSION 14, 15 or 16 (i.e., VC 8, VC 9 or VC 2010)
 89 david.dillard 1.27 #
 90 s.kodali      1.55 ifeq ($(CL_MAJOR_VERSION), $(VC_CL_VERSION))
 91 s.kodali      1.57     CXX_VERSION_FLAGS := -EHsc
 92 david.dillard 1.35     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 kavita.gupta  1.50     DEFINES += -D_CRT_NONSTDC_NO_DEPRECATE
 97 david.dillard 1.27 endif
 98                    
 99                    
100 kumpf         1.53 ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
101 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
102                        LINK_FLAGS += -debug
103 mike          1.1  else
104 david.dillard 1.35     FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
105 kavita.gupta  1.47     LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS) -map
106 mike          1.1  endif
107                    
108 david.dillard 1.27 
109 karl          1.9  ifdef PEGASUS_DEBUG_CIMEXCEPTION
110 david.dillard 1.27     DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
111 karl          1.9  endif
112                    
113 jim.wunderlich 1.40 # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
114 karl           1.23 # Enable the compilation of the SLP functions.
115 jim.wunderlich 1.40 #
116                     ifndef PEGASUS_ENABLE_SLP
117 a.dunfey       1.37     PEGASUS_ENABLE_SLP = true
118 joyce.j        1.34 endif
119 karl           1.23 
120 mike           1.1  RM = mu rm
121                     
122                     RMDIRHIER = mu rmdirhier
123                     
124                     MKDIRHIER = mu mkdirhier
125                     
126 jim.wunderlich 1.26 DIFF = mu compare
127                     
128                     SORT = mu sort
129                     
130 mike           1.1  COPY = mu copy
131                     
132 mike           1.4  MOVE = mu move
133                     
134 mike           1.1  CXX = cl -nologo
135                     
136                     EXE_OUT = -Fe
137                     
138                     LIB_OUT = -out:
139                     
140                     OBJ = .obj
141                     
142                     OBJ_OUT = -Fo
143                     
144                     EXE = .exe
145 tony           1.15 
146                     DLL = .dll
147                     
148                     ILK = .ilk
149                     
150                     PDB = .pdb
151                     
152                     EXP = .exp
153 mike           1.1  
154                     AR = LINK -nologo -dll
155                     
156                     LIB_PREFIX =
157                     
158                     LIB_SUFFIX = .lib
159                     
160                     TOUCH = mu touch
161                     
162                     ECHO = mu echo
163                     
164                     LEX = flex
165                     
166                     YACC = bison
167 mike           1.3  
168                     SH = bash
169 mike           1.4  
170                     YACC = bison
171 konrad.r       1.19 
172 kavita.gupta   1.47 RC = rc
173                     
174 kumpf          1.21 # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
175                     PEGASUS_DEST_LIB_DIR = bin
176 kumpf          1.53 
177 kumpf          1.22 # The Provider User Context feature (PEP 197) is not supported on Windows
178                     PEGASUS_DISABLE_PROV_USERCTXT=1
179 h.sterling     1.24 
180 h.sterling     1.33 # Windows does not support local domain sockets or the equivalent Bug 2147
181                     PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
182 h.sterling     1.30 
183 mark.hamzy     1.42 PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
184 mateus.baur    1.44 
185                     
186                     ##################################
187                     ##
188                     ## Pegasus WMIMapper
189 kumpf          1.53 ##
190 mateus.baur    1.44 ##################################
191                     
192                     ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
193                       FLAGS += -DPEGASUS_WMIMAPPER
194 kumpf          1.53 else
195 mateus.baur    1.44   ifdef PEGASUS_WMIMAPPER
196                         FLAGS += -DPEGASUS_WMIMAPPER
197 kumpf          1.53   endif
198 mateus.baur    1.44 endif
199                     
200 mateus.baur    1.46 ##################################
201 kumpf          1.53 ##
202 mateus.baur    1.46 ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
203                     ##
204                     ##################################
205 mateus.baur    1.44 ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
206 mateus.baur    1.46   ifeq ($(CL_MAJOR_VERSION), 12)
207                         PEGASUS_WMIMAPPER_NEED_MSSDK=true
208                       endif
209 kumpf          1.53   ifeq ($(CL_MAJOR_VERSION), 13)
210 mateus.baur    1.46     PEGASUS_WMIMAPPER_NEED_MSSDK=true
211                       endif
212                       ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
213                         ifndef MSSdk
214                           $(error MSSdk environment variable undefined)
215                         endif
216 mateus.baur    1.44   endif
217                     endif
218                     
219                     
220 mateus.baur    1.46 
221                     

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2