annotate make/windows/makefiles/compile.make @ 4155:394404b2d9bd

Removed strict requirement for GRAAL environment variable. It only needs to be set now if the graal directory is not in the directory hierarchy of GraalVM JDK.
author Doug Simon <doug.simon@oracle.com>
date Wed, 21 Dec 2011 11:25:27 +0100
parents 5def270bc147
children 719f7007c8e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 #
2233
15d6977f04b0 7017824: Add support for creating 64-bit Visual Studio projects
sla
parents: 2074
diff changeset
2 # Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
a61af66fc99e Initial load
duke
parents:
diff changeset
4 #
a61af66fc99e Initial load
duke
parents:
diff changeset
5 # This code is free software; you can redistribute it and/or modify it
a61af66fc99e Initial load
duke
parents:
diff changeset
6 # under the terms of the GNU General Public License version 2 only, as
a61af66fc99e Initial load
duke
parents:
diff changeset
7 # published by the Free Software Foundation.
a61af66fc99e Initial load
duke
parents:
diff changeset
8 #
a61af66fc99e Initial load
duke
parents:
diff changeset
9 # This code is distributed in the hope that it will be useful, but WITHOUT
a61af66fc99e Initial load
duke
parents:
diff changeset
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a61af66fc99e Initial load
duke
parents:
diff changeset
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
a61af66fc99e Initial load
duke
parents:
diff changeset
12 # version 2 for more details (a copy is included in the LICENSE file that
a61af66fc99e Initial load
duke
parents:
diff changeset
13 # accompanied this code).
a61af66fc99e Initial load
duke
parents:
diff changeset
14 #
a61af66fc99e Initial load
duke
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License version
a61af66fc99e Initial load
duke
parents:
diff changeset
16 # 2 along with this work; if not, write to the Free Software Foundation,
a61af66fc99e Initial load
duke
parents:
diff changeset
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
a61af66fc99e Initial load
duke
parents:
diff changeset
18 #
1552
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1485
diff changeset
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1485
diff changeset
20 # or visit www.oracle.com if you need additional information or have any
c18cbe5936b8 6941466: Oracle rebranding changes for Hotspot repositories
trims
parents: 1485
diff changeset
21 # questions.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
22 #
a61af66fc99e Initial load
duke
parents:
diff changeset
23 #
a61af66fc99e Initial load
duke
parents:
diff changeset
24
a61af66fc99e Initial load
duke
parents:
diff changeset
25 # Generic compiler settings
a61af66fc99e Initial load
duke
parents:
diff changeset
26 CPP=cl.exe
a61af66fc99e Initial load
duke
parents:
diff changeset
27
a61af66fc99e Initial load
duke
parents:
diff changeset
28 # CPP Flags: (these vary slightly from VC6->VS2003->VS2005 compilers)
a61af66fc99e Initial load
duke
parents:
diff changeset
29 # /nologo Supress copyright message at every cl.exe startup
a61af66fc99e Initial load
duke
parents:
diff changeset
30 # /W3 Warning level 3
a61af66fc99e Initial load
duke
parents:
diff changeset
31 # /Zi Include debugging information
a61af66fc99e Initial load
duke
parents:
diff changeset
32 # /WX Treat any warning error as a fatal error
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
33 # /MD Use dynamic multi-threaded runtime (msvcrt.dll or msvc*NN.dll)
0
a61af66fc99e Initial load
duke
parents:
diff changeset
34 # /MTd Use static multi-threaded runtime debug versions
a61af66fc99e Initial load
duke
parents:
diff changeset
35 # /O1 Optimize for size (/Os), skips /Oi
a61af66fc99e Initial load
duke
parents:
diff changeset
36 # /O2 Optimize for speed (/Ot), adds /Oi to /O1
a61af66fc99e Initial load
duke
parents:
diff changeset
37 # /Ox Old "all optimizations flag" for VC6 (in /O1)
a61af66fc99e Initial load
duke
parents:
diff changeset
38 # /Oy Use frame pointer register as GP reg (in /Ox and /O1)
a61af66fc99e Initial load
duke
parents:
diff changeset
39 # /GF Merge string constants and put in read-only memory (in /O1)
a61af66fc99e Initial load
duke
parents:
diff changeset
40 # /Gy Func level link (in /O1, allows for link-time func ordering)
a61af66fc99e Initial load
duke
parents:
diff changeset
41 # /Gs Inserts stack probes (in /O1)
a61af66fc99e Initial load
duke
parents:
diff changeset
42 # /GS Inserts security stack checks in some functions (VS2005 default)
a61af66fc99e Initial load
duke
parents:
diff changeset
43 # /Oi Use intrinsics (in /O2)
a61af66fc99e Initial load
duke
parents:
diff changeset
44 # /Od Disable all optimizations
a61af66fc99e Initial load
duke
parents:
diff changeset
45 #
a61af66fc99e Initial load
duke
parents:
diff changeset
46 # NOTE: Normally following any of the above with a '-' will turn off that flag
57
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
47 #
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
48 # 6655385: For VS2003/2005 we now specify /Oy- (disable frame pointer
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
49 # omission.) This has little to no effect on performance while vastly
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
50 # improving the quality of crash log stack traces involving jvm.dll.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
51
a61af66fc99e Initial load
duke
parents:
diff changeset
52 # These are always used in all compiles
a61af66fc99e Initial load
duke
parents:
diff changeset
53 CPP_FLAGS=/nologo /W3 /WX
a61af66fc99e Initial load
duke
parents:
diff changeset
54
a61af66fc99e Initial load
duke
parents:
diff changeset
55 # Let's add debug information always too.
a61af66fc99e Initial load
duke
parents:
diff changeset
56 CPP_FLAGS=$(CPP_FLAGS) /Zi
a61af66fc99e Initial load
duke
parents:
diff changeset
57
a61af66fc99e Initial load
duke
parents:
diff changeset
58 # Based on BUILDARCH we add some flags and select the default compiler name
a61af66fc99e Initial load
duke
parents:
diff changeset
59 !if "$(BUILDARCH)" == "ia64"
a61af66fc99e Initial load
duke
parents:
diff changeset
60 MACHINE=IA64
a61af66fc99e Initial load
duke
parents:
diff changeset
61 DEFAULT_COMPILER_NAME=VS2003
a61af66fc99e Initial load
duke
parents:
diff changeset
62 CPP_FLAGS=$(CPP_FLAGS) /D "CC_INTERP" /D "_LP64" /D "IA64"
a61af66fc99e Initial load
duke
parents:
diff changeset
63 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
64
a61af66fc99e Initial load
duke
parents:
diff changeset
65 !if "$(BUILDARCH)" == "amd64"
a61af66fc99e Initial load
duke
parents:
diff changeset
66 MACHINE=AMD64
a61af66fc99e Initial load
duke
parents:
diff changeset
67 DEFAULT_COMPILER_NAME=VS2005
a61af66fc99e Initial load
duke
parents:
diff changeset
68 CPP_FLAGS=$(CPP_FLAGS) /D "_LP64" /D "AMD64"
a61af66fc99e Initial load
duke
parents:
diff changeset
69 LP64=1
a61af66fc99e Initial load
duke
parents:
diff changeset
70 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
71
a61af66fc99e Initial load
duke
parents:
diff changeset
72 !if "$(BUILDARCH)" == "i486"
a61af66fc99e Initial load
duke
parents:
diff changeset
73 MACHINE=I386
a61af66fc99e Initial load
duke
parents:
diff changeset
74 DEFAULT_COMPILER_NAME=VS2003
a61af66fc99e Initial load
duke
parents:
diff changeset
75 CPP_FLAGS=$(CPP_FLAGS) /D "IA32"
a61af66fc99e Initial load
duke
parents:
diff changeset
76 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
77
a61af66fc99e Initial load
duke
parents:
diff changeset
78 # Sanity check, this is the default if not amd64, ia64, or i486
a61af66fc99e Initial load
duke
parents:
diff changeset
79 !ifndef DEFAULT_COMPILER_NAME
a61af66fc99e Initial load
duke
parents:
diff changeset
80 CPP=ARCH_ERROR
a61af66fc99e Initial load
duke
parents:
diff changeset
81 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
82
2027
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
83 CPP_FLAGS=$(CPP_FLAGS) /D "WIN32" /D "_WINDOWS"
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
84 # Must specify this for sharedRuntimeTrig.cpp
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
85 CPP_FLAGS=$(CPP_FLAGS) /D "VM_LITTLE_ENDIAN"
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
86
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
87 # Used for platform dispatching
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
88 CPP_FLAGS=$(CPP_FLAGS) /D TARGET_OS_FAMILY_windows
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
89 CPP_FLAGS=$(CPP_FLAGS) /D TARGET_ARCH_$(Platform_arch)
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
90 CPP_FLAGS=$(CPP_FLAGS) /D TARGET_ARCH_MODEL_$(Platform_arch_model)
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
91 CPP_FLAGS=$(CPP_FLAGS) /D TARGET_OS_ARCH_windows_$(Platform_arch)
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
92 CPP_FLAGS=$(CPP_FLAGS) /D TARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model)
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
93 CPP_FLAGS=$(CPP_FLAGS) /D TARGET_COMPILER_visCPP
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
94
aa6e219afbf1 7006354: Updates to Visual Studio project creation and development launcher
sla
parents: 1552
diff changeset
95
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
96 # MSC_VER is a 4 digit number that tells us what compiler is being used
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
97 # and is generated when the local.make file is created by build.make
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
98 # via the script get_msc_ver.sh
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
99 #
0
a61af66fc99e Initial load
duke
parents:
diff changeset
100 # If MSC_VER is set, it overrides the above default setting.
a61af66fc99e Initial load
duke
parents:
diff changeset
101 # But it should be set.
a61af66fc99e Initial load
duke
parents:
diff changeset
102 # Possible values:
a61af66fc99e Initial load
duke
parents:
diff changeset
103 # 1200 is for VC6
a61af66fc99e Initial load
duke
parents:
diff changeset
104 # 1300 and 1310 is VS2003 or VC7
a61af66fc99e Initial load
duke
parents:
diff changeset
105 # 1399 is our fake number for the VS2005 compiler that really isn't 1400
a61af66fc99e Initial load
duke
parents:
diff changeset
106 # 1400 is for VS2005
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
107 # 1500 is for VS2008
1485
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
108 # 1600 is for VS2010
0
a61af66fc99e Initial load
duke
parents:
diff changeset
109 # Do not confuse this MSC_VER with the predefined macro _MSC_VER that the
a61af66fc99e Initial load
duke
parents:
diff changeset
110 # compiler provides, when MSC_VER==1399, _MSC_VER will be 1400.
a61af66fc99e Initial load
duke
parents:
diff changeset
111 # Normally they are the same, but a pre-release of the VS2005 compilers
a61af66fc99e Initial load
duke
parents:
diff changeset
112 # in the Windows 64bit Platform SDK said it was 1400 when it was really
a61af66fc99e Initial load
duke
parents:
diff changeset
113 # closer to VS2003 in terms of option spellings, so we use 1399 for that
a61af66fc99e Initial load
duke
parents:
diff changeset
114 # 1400 version that really isn't 1400.
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
115 # See the file get_msc_ver.sh for more info.
0
a61af66fc99e Initial load
duke
parents:
diff changeset
116 !if "x$(MSC_VER)" == "x"
a61af66fc99e Initial load
duke
parents:
diff changeset
117 COMPILER_NAME=$(DEFAULT_COMPILER_NAME)
a61af66fc99e Initial load
duke
parents:
diff changeset
118 !else
a61af66fc99e Initial load
duke
parents:
diff changeset
119 !if "$(MSC_VER)" == "1200"
a61af66fc99e Initial load
duke
parents:
diff changeset
120 COMPILER_NAME=VC6
a61af66fc99e Initial load
duke
parents:
diff changeset
121 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
122 !if "$(MSC_VER)" == "1300"
a61af66fc99e Initial load
duke
parents:
diff changeset
123 COMPILER_NAME=VS2003
a61af66fc99e Initial load
duke
parents:
diff changeset
124 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
125 !if "$(MSC_VER)" == "1310"
a61af66fc99e Initial load
duke
parents:
diff changeset
126 COMPILER_NAME=VS2003
a61af66fc99e Initial load
duke
parents:
diff changeset
127 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
128 !if "$(MSC_VER)" == "1399"
a61af66fc99e Initial load
duke
parents:
diff changeset
129 # Compiler might say 1400, but if it's 14.00.30701, it isn't really VS2005
a61af66fc99e Initial load
duke
parents:
diff changeset
130 COMPILER_NAME=VS2003
a61af66fc99e Initial load
duke
parents:
diff changeset
131 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
132 !if "$(MSC_VER)" == "1400"
a61af66fc99e Initial load
duke
parents:
diff changeset
133 COMPILER_NAME=VS2005
a61af66fc99e Initial load
duke
parents:
diff changeset
134 !endif
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
135 !if "$(MSC_VER)" == "1500"
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
136 COMPILER_NAME=VS2008
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
137 !endif
1485
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
138 !if "$(MSC_VER)" == "1600"
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
139 COMPILER_NAME=VS2010
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
140 !endif
0
a61af66fc99e Initial load
duke
parents:
diff changeset
141 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
142
a61af66fc99e Initial load
duke
parents:
diff changeset
143 # By default, we do not want to use the debug version of the msvcrt.dll file
a61af66fc99e Initial load
duke
parents:
diff changeset
144 # but if MFC_DEBUG is defined in the environment it will be used.
a61af66fc99e Initial load
duke
parents:
diff changeset
145 MS_RUNTIME_OPTION = /MD
a61af66fc99e Initial load
duke
parents:
diff changeset
146 !if "$(MFC_DEBUG)" == "true"
a61af66fc99e Initial load
duke
parents:
diff changeset
147 MS_RUNTIME_OPTION = /MTd /D "_DEBUG"
a61af66fc99e Initial load
duke
parents:
diff changeset
148 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
149
a61af66fc99e Initial load
duke
parents:
diff changeset
150 # Always add the _STATIC_CPPLIB flag
2073
e0c969b97f66 6975480: VS2010 says _STATIC_CPPLIB is deprecated, may need to change this usage
zgu
parents: 1552
diff changeset
151 STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB
0
a61af66fc99e Initial load
duke
parents:
diff changeset
152 MS_RUNTIME_OPTION = $(MS_RUNTIME_OPTION) $(STATIC_CPPLIB_OPTION)
a61af66fc99e Initial load
duke
parents:
diff changeset
153 CPP_FLAGS=$(CPP_FLAGS) $(MS_RUNTIME_OPTION)
a61af66fc99e Initial load
duke
parents:
diff changeset
154
a61af66fc99e Initial load
duke
parents:
diff changeset
155 # How /GX option is spelled
a61af66fc99e Initial load
duke
parents:
diff changeset
156 GX_OPTION = /GX
a61af66fc99e Initial load
duke
parents:
diff changeset
157
a61af66fc99e Initial load
duke
parents:
diff changeset
158 # Optimization settings for various versions of the compilers and types of
a61af66fc99e Initial load
duke
parents:
diff changeset
159 # builds. Three basic sets of settings: product, fastdebug, and debug.
a61af66fc99e Initial load
duke
parents:
diff changeset
160 # These get added into CPP_FLAGS as needed by other makefiles.
a61af66fc99e Initial load
duke
parents:
diff changeset
161 !if "$(COMPILER_NAME)" == "VC6"
a61af66fc99e Initial load
duke
parents:
diff changeset
162 PRODUCT_OPT_OPTION = /Ox /Os /Gy /GF
a61af66fc99e Initial load
duke
parents:
diff changeset
163 FASTDEBUG_OPT_OPTION = /Ox /Os /Gy /GF
a61af66fc99e Initial load
duke
parents:
diff changeset
164 DEBUG_OPT_OPTION = /Od
a61af66fc99e Initial load
duke
parents:
diff changeset
165 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
166
a61af66fc99e Initial load
duke
parents:
diff changeset
167 !if "$(COMPILER_NAME)" == "VS2003"
57
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
168 PRODUCT_OPT_OPTION = /O2 /Oy-
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
169 FASTDEBUG_OPT_OPTION = /O2 /Oy-
0
a61af66fc99e Initial load
duke
parents:
diff changeset
170 DEBUG_OPT_OPTION = /Od
a61af66fc99e Initial load
duke
parents:
diff changeset
171 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
172
a61af66fc99e Initial load
duke
parents:
diff changeset
173 !if "$(COMPILER_NAME)" == "VS2005"
57
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
174 PRODUCT_OPT_OPTION = /O2 /Oy-
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
175 FASTDEBUG_OPT_OPTION = /O2 /Oy-
0
a61af66fc99e Initial load
duke
parents:
diff changeset
176 DEBUG_OPT_OPTION = /Od
a61af66fc99e Initial load
duke
parents:
diff changeset
177 GX_OPTION = /EHsc
a61af66fc99e Initial load
duke
parents:
diff changeset
178 # This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib
a61af66fc99e Initial load
duke
parents:
diff changeset
179 # on the link command line, otherwise we get missing __security_check_cookie
a61af66fc99e Initial load
duke
parents:
diff changeset
180 # externals at link time. Even with /GS-, you need bufferoverflowU.lib.
a61af66fc99e Initial load
duke
parents:
diff changeset
181 # NOTE: Currently we decided to not use /GS-
a61af66fc99e Initial load
duke
parents:
diff changeset
182 BUFFEROVERFLOWLIB = bufferoverflowU.lib
427
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
183 LINK_FLAGS = /manifest $(LINK_FLAGS) $(BUFFEROVERFLOWLIB)
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
184 # Manifest Tool - used in VS2005 and later to adjust manifests stored
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
185 # as resources inside build artifacts.
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
186 MT=mt.exe
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
187 !endif
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
188
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
189 !if "$(COMPILER_NAME)" == "VS2008"
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
190 PRODUCT_OPT_OPTION = /O2 /Oy-
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
191 FASTDEBUG_OPT_OPTION = /O2 /Oy-
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
192 DEBUG_OPT_OPTION = /Od
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
193 GX_OPTION = /EHsc
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
194 LINK_FLAGS = /manifest $(LINK_FLAGS)
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
195 # Manifest Tool - used in VS2005 and later to adjust manifests stored
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
196 # as resources inside build artifacts.
3c07cda72b7d 6764892: VS2008 changes required to compile hotspot sources
tbell
parents: 196
diff changeset
197 MT=mt.exe
0
a61af66fc99e Initial load
duke
parents:
diff changeset
198 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
199
1485
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
200 !if "$(COMPILER_NAME)" == "VS2010"
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
201 PRODUCT_OPT_OPTION = /O2 /Oy-
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
202 FASTDEBUG_OPT_OPTION = /O2 /Oy-
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
203 DEBUG_OPT_OPTION = /Od
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
204 GX_OPTION = /EHsc
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
205 LINK_FLAGS = /manifest $(LINK_FLAGS)
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
206 # Manifest Tool - used in VS2005 and later to adjust manifests stored
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
207 # as resources inside build artifacts.
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
208 MT=mt.exe
2308
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2233
diff changeset
209 !if "$(BUILDARCH)" == "i486"
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2233
diff changeset
210 LINK_FLAGS = /SAFESEH $(LINK_FLAGS)
99bd05619fa4 7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents: 2233
diff changeset
211 !endif
1485
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
212 !endif
fb57d4cf76c2 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 844
diff changeset
213
0
a61af66fc99e Initial load
duke
parents:
diff changeset
214 # Compile for space above time.
a61af66fc99e Initial load
duke
parents:
diff changeset
215 !if "$(Variant)" == "kernel"
57
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
216 PRODUCT_OPT_OPTION = /O1 /Oy-
ff0979201b06 6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents: 0
diff changeset
217 FASTDEBUG_OPT_OPTION = /O1 /Oy-
0
a61af66fc99e Initial load
duke
parents:
diff changeset
218 DEBUG_OPT_OPTION = /Od
a61af66fc99e Initial load
duke
parents:
diff changeset
219 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
220
a61af66fc99e Initial load
duke
parents:
diff changeset
221 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off
a61af66fc99e Initial load
duke
parents:
diff changeset
222 !ifdef NO_OPTIMIZATIONS
a61af66fc99e Initial load
duke
parents:
diff changeset
223 PRODUCT_OPT_OPTION = $(DEBUG_OPT_OPTION)
a61af66fc99e Initial load
duke
parents:
diff changeset
224 FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION)
a61af66fc99e Initial load
duke
parents:
diff changeset
225 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
226
a61af66fc99e Initial load
duke
parents:
diff changeset
227 # Generic linker settings
a61af66fc99e Initial load
duke
parents:
diff changeset
228 LINK=link.exe
a61af66fc99e Initial load
duke
parents:
diff changeset
229 LINK_FLAGS= $(LINK_FLAGS) kernel32.lib user32.lib gdi32.lib winspool.lib \
a61af66fc99e Initial load
duke
parents:
diff changeset
230 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
a61af66fc99e Initial load
duke
parents:
diff changeset
231 uuid.lib Wsock32.lib winmm.lib /nologo /machine:$(MACHINE) /opt:REF \
a61af66fc99e Initial load
duke
parents:
diff changeset
232 /opt:ICF,8 /map /debug
a61af66fc99e Initial load
duke
parents:
diff changeset
233
3429
5def270bc147 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 2308
diff changeset
234
5def270bc147 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 2308
diff changeset
235 !if $(MSC_VER) >= 1600
5def270bc147 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 2308
diff changeset
236 LINK_FLAGS= $(LINK_FLAGS) psapi.lib
5def270bc147 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 2308
diff changeset
237 !endif
5def270bc147 7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents: 2308
diff changeset
238
0
a61af66fc99e Initial load
duke
parents:
diff changeset
239 # Resource compiler settings
a61af66fc99e Initial load
duke
parents:
diff changeset
240 RC=rc.exe
a61af66fc99e Initial load
duke
parents:
diff changeset
241 RC_FLAGS=/D "HS_VER=$(HS_VER)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
242 /D "HS_DOTVER=$(HS_DOTVER)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
243 /D "HS_BUILD_ID=$(HS_BUILD_ID)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
244 /D "JDK_VER=$(JDK_VER)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
245 /D "JDK_DOTVER=$(JDK_DOTVER)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
246 /D "HS_COMPANY=$(HS_COMPANY)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
247 /D "HS_FILEDESC=$(HS_FILEDESC)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
248 /D "HS_COPYRIGHT=$(HS_COPYRIGHT)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
249 /D "HS_FNAME=$(HS_FNAME)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
250 /D "HS_INTERNAL_NAME=$(HS_INTERNAL_NAME)" \
a61af66fc99e Initial load
duke
parents:
diff changeset
251 /D "HS_NAME=$(HS_NAME)"
a61af66fc99e Initial load
duke
parents:
diff changeset
252
a61af66fc99e Initial load
duke
parents:
diff changeset
253 # Need this to match the CPP_FLAGS settings
a61af66fc99e Initial load
duke
parents:
diff changeset
254 !if "$(MFC_DEBUG)" == "true"
a61af66fc99e Initial load
duke
parents:
diff changeset
255 RC_FLAGS = $(RC_FLAGS) /D "_DEBUG"
a61af66fc99e Initial load
duke
parents:
diff changeset
256 !endif
a61af66fc99e Initial load
duke
parents:
diff changeset
257