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

  1 martin 1.9 #//%LICENSE////////////////////////////////////////////////////////////////
  2 martin 1.10 #//
  3 martin 1.9  #// 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.10 #//
 10 martin 1.9  #// 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.10 #//
 17 martin 1.9  #// The above copyright notice and this permission notice shall be included
 18             #// in all copies or substantial portions of the Software.
 19 martin 1.10 #//
 20 martin 1.9  #// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 21 martin 1.10 #// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 22 martin 1.9  #// 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.10 #//
 28 martin 1.9  #//////////////////////////////////////////////////////////////////////////
 29 a.dunfey 1.1  OS_TYPE = windows
 30               OS = win64
 31               ARCHITECTURE = X86X64
 32               COMPILER = msvc
 33               
 34               SYS_INCLUDES =
 35               
 36               DEPEND_INCLUDES =
 37               
 38 s.kodali 1.11.2.1 DEFINES = -DPEGASUS_PLATFORM_$(PEGASUS_PLATFORM) -D_WIN32_WINNT=0x0600
 39 a.dunfey 1.1      #-D_WIN32_WINNT=0x0400 -DWINVER=0x0400
 40                   
 41                   
 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 s.kodali 1.11.2.2 VC_CL_VERSIONS := 14 15
 49                   VC_CL_VERSION  := $(findstring $(CL_MAJOR_VERSION), $(VC_CL_VERSIONS))
 50 dave.sudlik 1.2      
 51                      #
 52                      # Determine the version of Windows being used.
 53                      # IPv6 is not supported on Windows 2000 (earliest Windows version supported
 54 dave.sudlik 1.4      # 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.2      #
 57                      ifeq ($(CL_MAJOR_VERSION), 12)
 58                          PEGASUS_ENABLE_IPV6 = false
 59                      endif
 60                      
 61                      
 62 a.dunfey    1.1      #
 63                      # The flags set here should be valid for VC 6.
 64                      #
 65                      # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
 66 kumpf       1.11     #   C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) :
 67                      #   fatal error C1076: compiler limit : internal heap limit reached; use /Zm to
 68 a.dunfey    1.1      #   specify a higher limit
 69 kumpf       1.11     #
 70 a.dunfey    1.1      CXX_VERSION_FLAGS := -Zm105
 71                      CXX_VERSION_DEBUG_FLAGS :=
 72                      CXX_VERSION_RELEASE_FLAGS :=
 73                      LINK_VERSION_RELEASE_FLAGS :=
 74                      
 75                      
 76                      #
 77                      # CL_MAJOR_VERSION 13 is VC 7
 78                      #
 79                      ifeq ($(CL_MAJOR_VERSION), 13)
 80                          CXX_VERSION_FLAGS := -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                      endif
 85                      
 86                      
 87                      #
 88 s.kodali    1.11.2.2 # CL_MAJOR_VERSION 14 or 15 (i.e., VC 8 or VC 9)
 89 a.dunfey    1.1      #
 90 s.kodali    1.11.2.2 ifeq ($(CL_MAJOR_VERSION), $(VC_CL_VERSION))
 91 a.dunfey    1.1          CXX_VERSION_FLAGS := -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                          DEFINES += -D_CRT_SECURE_NO_DEPRECATE
 96 kavita.gupta 1.8          DEFINES += -D_CRT_NONSTDC_NO_DEPRECATE
 97 a.dunfey     1.1      endif
 98                       
 99                           CXX_VERSION_FLAGS := -Wp64 -EHsc
100                           CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
101                       
102 kumpf        1.11     ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS
103 a.dunfey     1.1          FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
104                           LINK_FLAGS += -debug
105                       else
106                           FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
107 s.kodali     1.7          LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS) -map
108 a.dunfey     1.1      endif
109                       
110                       
111                       ifdef PEGASUS_DEBUG_CIMEXCEPTION
112                           DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
113                       endif
114                       
115                       # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
116                       # Enable the compilation of the SLP functions.
117                       #
118                       ifndef PEGASUS_ENABLE_SLP
119                           PEGASUS_ENABLE_SLP = true
120                       endif
121                       
122                       # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
123                       # changes during interoperability tests.
124                       ifdef PEGASUS_SNIA_INTEROP_TEST
125                           DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
126                       endif
127                       
128                       RM = mu rm
129 a.dunfey     1.1      
130                       RMDIRHIER = mu rmdirhier
131                       
132                       MKDIRHIER = mu mkdirhier
133                       
134                       DIFF = mu compare
135                       
136                       SORT = mu sort
137                       
138                       COPY = mu copy
139                       
140                       MOVE = mu move
141                       
142                       CXX = cl -nologo
143                       
144                       EXE_OUT = -Fe
145                       
146                       LIB_OUT = -out:
147                       
148                       OBJ = .obj
149                       
150 a.dunfey     1.1      OBJ_OUT = -Fo
151                       
152                       EXE = .exe
153                       
154                       DLL = .dll
155                       
156                       ILK = .ilk
157                       
158                       PDB = .pdb
159                       
160                       EXP = .exp
161                       
162                       AR = LINK -nologo -dll
163                       
164                       LIB_PREFIX =
165                       
166                       LIB_SUFFIX = .lib
167                       
168                       TOUCH = mu touch
169                       
170                       ECHO = mu echo
171 a.dunfey     1.1      
172                       LEX = flex
173                       
174                       YACC = bison
175                       
176                       SH = bash
177                       
178 s.kodali     1.7      RC = rc
179                       
180 a.dunfey     1.1      # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
181                       PEGASUS_DEST_LIB_DIR = bin
182 kumpf        1.11     
183 a.dunfey     1.1      # The Provider User Context feature (PEP 197) is not supported on Windows
184                       PEGASUS_DISABLE_PROV_USERCTXT=1
185                       
186                       # Windows does not support local domain sockets or the equivalent Bug 2147
187                       PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
188                       
189                       PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
190 mateus.baur  1.3      
191                       ##################################
192                       ##
193                       ## Pegasus WMIMapper
194 kumpf        1.11     ##
195 mateus.baur  1.3      ##################################
196                       
197                       ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
198                         FLAGS += -DPEGASUS_WMIMAPPER
199 kumpf        1.11     else
200 mateus.baur  1.3        ifdef PEGASUS_WMIMAPPER
201                           FLAGS += -DPEGASUS_WMIMAPPER
202 kumpf        1.11       endif
203 mateus.baur  1.3      endif
204                       
205                       ##################################
206 kumpf        1.11     ##
207 mateus.baur  1.3      ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
208                       ##
209                       ##################################
210                       ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
211                         ifeq ($(CL_MAJOR_VERSION), 12)
212                           PEGASUS_WMIMAPPER_NEED_MSSDK=true
213                         endif
214 kumpf        1.11       ifeq ($(CL_MAJOR_VERSION), 13)
215 mateus.baur  1.3          PEGASUS_WMIMAPPER_NEED_MSSDK=true
216                         endif
217                         ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
218                           ifndef MSSdk
219                             $(error MSSdk environment variable undefined)
220                           endif
221                         endif
222                       endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2