(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.42.22.1 # Determine the version of Windows being used.
 53                         # IPv6 is not supported on Windows 2000 (earliest Windows version supported
 54                         # by Pegasus), nor by the VC 6 compiler (CL_MAJOR_VERSION is 12 for VC 6).
 55                         #
 56                         WIN_VERSION := $(shell ver)
 57                         ifeq ($(findstring [Version 5.0.,$(WIN_VERSION)),[Version 5.0.)
 58                             PEGASUS_ENABLE_IPV6 = false
 59                         endif
 60                         ifeq ($(CL_MAJOR_VERSION), 12)
 61                             PEGASUS_ENABLE_IPV6 = false
 62                         endif
 63                         
 64                         
 65                         #
 66 david.dillard 1.27      # The flags set here should be valid for VC 6.
 67                         #
 68 dave.sudlik   1.39      # The -Zm105 flag was added as part of bug 4418 to resolve this compile error:
 69                         #   C:\Program Files\Microsoft Visual Studio\VC98\include\xlocale(467) : 
 70                         #   fatal error C1076: compiler limit : internal heap limit reached; use /Zm to 
 71                         #   specify a higher limit
 72                         # 
 73                         CXX_VERSION_FLAGS := -GX -Zm105
 74 david.dillard 1.35      CXX_VERSION_DEBUG_FLAGS :=
 75                         CXX_VERSION_RELEASE_FLAGS :=
 76                         LINK_VERSION_RELEASE_FLAGS :=
 77 david.dillard 1.27      
 78                         
 79                         #
 80                         # CL_MAJOR_VERSION 13 is VC 7
 81                         #
 82                         ifeq ($(CL_MAJOR_VERSION), 13)
 83 david.dillard 1.35          CXX_VERSION_FLAGS := -Wp64 -EHsc
 84                             CXX_VERSION_DEBUG_FLAGS := -Gs
 85                             CXX_VERSION_RELEASE_FLAGS := -Gs -GF -Gy
 86                             LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 87 david.dillard 1.27      endif
 88                         
 89                         
 90                         #
 91                         # CL_MAJOR_VERSION 14 is VC 8
 92                         #
 93                         ifeq ($(CL_MAJOR_VERSION), 14)
 94 david.dillard 1.35          CXX_VERSION_FLAGS := -Wp64 -EHsc
 95                             CXX_VERSION_DEBUG_FLAGS := -RTCc -RTCsu
 96                             CXX_VERSION_RELEASE_FLAGS := -GF -GL -Gy
 97                             LINK_VERSION_RELEASE_FLAGS := /LTCG /OPT:REF /OPT:ICF=5 /OPT:NOWIN98
 98 david.dillard 1.27          DEFINES += -D_CRT_SECURE_NO_DEPRECATE
 99                         endif
100                         
101                         
102 aruran.ms     1.38      ifdef PEGASUS_USE_DEBUG_BUILD_OPTIONS 
103 david.dillard 1.35          FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_DEBUG_FLAGS) -GR -W3 -Od -Zi -MDd -DDEBUG -Fd$(OBJ_DIR)/
104                             LINK_FLAGS += -debug
105 mike          1.1       else
106 david.dillard 1.35          FLAGS = $(CXX_VERSION_FLAGS) $(CXX_VERSION_RELEASE_FLAGS) -GR -W3 -O2 -MD
107                             LINK_FLAGS += $(LINK_VERSION_RELEASE_FLAGS)
108 mike          1.1       endif
109                         
110 david.dillard 1.27      
111 karl          1.9       ifdef PEGASUS_DEBUG_CIMEXCEPTION
112 david.dillard 1.27          DEFINES += -DPEGASUS_DEBUG_CIMEXCEPTION
113 karl          1.9       endif
114                         
115 jim.wunderlich 1.40      # if PEGASUS_ENABLE_SLP is already set then honor the users preference else
116 karl           1.23      # Enable the compilation of the SLP functions.
117 jim.wunderlich 1.40      #
118                          ifndef PEGASUS_ENABLE_SLP
119 a.dunfey       1.37          PEGASUS_ENABLE_SLP = true
120 joyce.j        1.34      endif
121 karl           1.23      
122 karl           1.11      # ATTN KS 20020927 - Add flag to allow conditional testing of interoperability
123                          # changes during interoperability tests.
124                          ifdef PEGASUS_SNIA_INTEROP_TEST
125 david.dillard  1.27          DEFINES+= -DPEGASUS_SNIA_INTEROP_TEST
126 karl           1.11      endif
127 kumpf          1.22      
128 mike           1.1       RM = mu rm
129                          
130                          RMDIRHIER = mu rmdirhier
131                          
132                          MKDIRHIER = mu mkdirhier
133                          
134 jim.wunderlich 1.26      DIFF = mu compare
135                          
136                          SORT = mu sort
137                          
138 mike           1.1       COPY = mu copy
139                          
140 mike           1.4       MOVE = mu move
141                          
142 mike           1.1       CXX = cl -nologo
143                          
144                          EXE_OUT = -Fe
145                          
146                          LIB_OUT = -out:
147                          
148                          OBJ = .obj
149                          
150                          OBJ_OUT = -Fo
151                          
152                          EXE = .exe
153 tony           1.15      
154                          DLL = .dll
155                          
156                          ILK = .ilk
157                          
158                          PDB = .pdb
159                          
160                          EXP = .exp
161 mike           1.1       
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                          
172                          LEX = flex
173                          
174                          YACC = bison
175 mike           1.3       
176                          SH = bash
177 mike           1.4       
178                          YACC = bison
179 konrad.r       1.19      
180 kumpf          1.21      # Windows DLLs are installed in the $(PEGASUS_HOME)/bin directory
181                          PEGASUS_DEST_LIB_DIR = bin
182 kumpf          1.22       
183                          # The Provider User Context feature (PEP 197) is not supported on Windows
184                          PEGASUS_DISABLE_PROV_USERCTXT=1
185 h.sterling     1.24      
186 h.sterling     1.33      # Windows does not support local domain sockets or the equivalent Bug 2147
187                          PEGASUS_DISABLE_LOCAL_DOMAIN_SOCKET=1
188 h.sterling     1.30      
189 h.sterling     1.24      # l10n
190                          ifdef PEGASUS_HAS_MESSAGES
191 david.dillard  1.27          DEFINES += -DPEGASUS_HAS_MESSAGES
192                              ifdef ICU_ROOT
193 h.sterling     1.30              MSG_COMPILE = genrb
194                                  MSG_FLAGS =
195                                  MSG_SOURCE_EXT = .txt
196                                  MSG_COMPILE_EXT = .res
197                                  CNV_ROOT_CMD = cnv2rootbundle
198 h.sterling     1.24      
199                          ##################################
200                          ##
201                          ## ICU_NO_UPPERCASE_ROOT if set, specifies NOT to uppercase the root resource bundle,
202                          ## default is to uppercase the root resource bundle##
203                          ##################################
204                          
205                          ifdef ICU_NO_UPPERCASE_ROOT
206 david.dillard  1.27          CNV_ROOT_FLAGS =
207 h.sterling     1.24      else
208 david.dillard  1.27          CNV_ROOT_FLAGS = -u
209 h.sterling     1.24      endif
210                          
211                          ####################################
212                          ##
213                          ##   ICU_ROOT_BUNDLE_LANG if set, specifies the language that the root resource bundle will be generated from
214                          ##   defaults to _en if not set.  if set, for any directory containing resource bundles,
215                          ##   there must exist a file name: package(the value of ICU_ROOT_BUNDLE_LANG).txt or the make messages target will fail
216                          ##
217                          ##   We have to use the full path library because the cl /Fe command in program-windows.mak does
218                          ##   not take libpath as an argument (as far as I can tell)
219                          ####################################
220                          
221                          ifdef ICU_ROOT_BUNDLE_LANG
222 david.dillard  1.27          MSG_ROOT_SOURCE = $(ICU_ROOT_BUNDLE_LANG)
223 h.sterling     1.24      else
224 david.dillard  1.27          MSG_ROOT_SOURCE = _en
225 h.sterling     1.24      endif
226 david.dillard  1.27              DEFINES += -DPEGASUS_HAS_ICU
227                                  EXTRA_LIBRARIES += $(ICU_INSTALL)/lib/icuuc.lib $(ICU_INSTALL)/lib/icuin.lib $(ICU_INSTALL)/lib/icudt.lib
228                                  SYS_INCLUDES += -I$(ICU_ROOT)/source/common -I$(ICU_ROOT)/source/i18n
229                              endif
230 h.sterling     1.24      endif
231 mark.hamzy     1.42      
232                          PEGASUS_JAVA_CLASSPATH_DELIMITER = ;

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2