(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.12 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.13 VC_CL_VERSIONS := 14 15
 49 s.kodali 1.14 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.13 # CL_MAJOR_VERSION 14 or 15 (i.e., VC 8 or VC 9)
 89 a.dunfey    1.1  #
 90 s.kodali    1.13 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 s.kodali     1.15     CXX_VERSION_FLAGS := -EHsc
100 a.dunfey     1.1      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                   RM = mu rm
123                   
124                   RMDIRHIER = mu rmdirhier
125                   
126                   MKDIRHIER = mu mkdirhier
127                   
128                   DIFF = mu compare
129 a.dunfey     1.1  
130                   SORT = mu sort
131                   
132                   COPY = mu copy
133                   
134                   MOVE = mu move
135                   
136                   CXX = cl -nologo
137                   
138                   EXE_OUT = -Fe
139                   
140                   LIB_OUT = -out:
141                   
142                   OBJ = .obj
143                   
144                   OBJ_OUT = -Fo
145                   
146                   EXE = .exe
147                   
148                   DLL = .dll
149                   
150 a.dunfey     1.1  ILK = .ilk
151                   
152                   PDB = .pdb
153                   
154                   EXP = .exp
155                   
156                   AR = LINK -nologo -dll
157                   
158                   LIB_PREFIX =
159                   
160                   LIB_SUFFIX = .lib
161                   
162                   TOUCH = mu touch
163                   
164                   ECHO = mu echo
165                   
166                   LEX = flex
167                   
168                   YACC = bison
169                   
170                   SH = bash
171 a.dunfey     1.1  
172 s.kodali     1.7  RC = rc
173                   
174 a.dunfey     1.1  # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
175                   PEGASUS_DEST_LIB_DIR = bin
176 kumpf        1.11 
177 a.dunfey     1.1  # The Provider User Context feature (PEP 197) is not supported on Windows
178                   PEGASUS_DISABLE_PROV_USERCTXT=1
179                   
180                   # Windows does not support local domain sockets or the equivalent Bug 2147
181                   PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
182                   
183                   PEGASUS_JAVA_CLASSPATH_DELIMITER = ;
184 mateus.baur  1.3  
185                   ##################################
186                   ##
187                   ## Pegasus WMIMapper
188 kumpf        1.11 ##
189 mateus.baur  1.3  ##################################
190                   
191                   ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
192                     FLAGS += -DPEGASUS_WMIMAPPER
193 kumpf        1.11 else
194 mateus.baur  1.3    ifdef PEGASUS_WMIMAPPER
195                       FLAGS += -DPEGASUS_WMIMAPPER
196 kumpf        1.11   endif
197 mateus.baur  1.3  endif
198                   
199                   ##################################
200 kumpf        1.11 ##
201 mateus.baur  1.3  ## The newer compiler versions need neither MS Platform SDK installed nor MSSdk variable defined.
202                   ##
203                   ##################################
204                   ifeq ($(PEGASUS_BUILD_WMIMAPPER),true)
205                     ifeq ($(CL_MAJOR_VERSION), 12)
206                       PEGASUS_WMIMAPPER_NEED_MSSDK=true
207                     endif
208 kumpf        1.11   ifeq ($(CL_MAJOR_VERSION), 13)
209 mateus.baur  1.3      PEGASUS_WMIMAPPER_NEED_MSSDK=true
210                     endif
211                     ifeq ($(PEGASUS_WMIMAPPER_NEED_MSSDK),true)
212                       ifndef MSSdk
213                         $(error MSSdk environment variable undefined)
214                       endif
215                     endif
216                   endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2