Mercurial > hg > truffle
annotate make/windows/makefiles/compile.make @ 12176:88c255656030
8016155: SIGBUS when running Kitchensink with ParallelScavenge and ParallelOld
Summary: When using NUMA and large pages we need to ease the requirement on which node the memory should be allocated on. To avoid the SIGBUS we now use the memory policy MPOL_PREFERRED, which prefers a certain node, instead of MPOL_BIND, which requires a certain node.
Reviewed-by: jmasa, pliden
Contributed-by: stefan.johansson@oracle.com
author | mgerdin |
---|---|
date | Thu, 22 Aug 2013 10:50:41 +0200 |
parents | 33c52908bcdb |
children | febab3a8f203 7638e35cabc6 |
rev | line source |
---|---|
0 | 1 # |
11144
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
2 # Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
0 | 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 # | |
5 # This code is free software; you can redistribute it and/or modify it | |
6 # under the terms of the GNU General Public License version 2 only, as | |
7 # published by the Free Software Foundation. | |
8 # | |
9 # This code is distributed in the hope that it will be useful, but WITHOUT | |
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
12 # version 2 for more details (a copy is included in the LICENSE file that | |
13 # accompanied this code). | |
14 # | |
15 # You should have received a copy of the GNU General Public License version | |
16 # 2 along with this work; if not, write to the Free Software Foundation, | |
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
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 | 22 # |
23 # | |
24 | |
25 # Generic compiler settings | |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
26 !if "x$(CXX)" == "x" |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
27 CXX=cl.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
28 !endif |
0 | 29 |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
30 # CXX Flags: (these vary slightly from VC6->VS2003->VS2005 compilers) |
0 | 31 # /nologo Supress copyright message at every cl.exe startup |
32 # /W3 Warning level 3 | |
33 # /Zi Include debugging information | |
34 # /WX Treat any warning error as a fatal error | |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
35 # /MD Use dynamic multi-threaded runtime (msvcrt.dll or msvc*NN.dll) |
0 | 36 # /MTd Use static multi-threaded runtime debug versions |
37 # /O1 Optimize for size (/Os), skips /Oi | |
38 # /O2 Optimize for speed (/Ot), adds /Oi to /O1 | |
39 # /Ox Old "all optimizations flag" for VC6 (in /O1) | |
40 # /Oy Use frame pointer register as GP reg (in /Ox and /O1) | |
41 # /GF Merge string constants and put in read-only memory (in /O1) | |
42 # /Gy Func level link (in /O1, allows for link-time func ordering) | |
43 # /Gs Inserts stack probes (in /O1) | |
44 # /GS Inserts security stack checks in some functions (VS2005 default) | |
45 # /Oi Use intrinsics (in /O2) | |
46 # /Od Disable all optimizations | |
47 # | |
48 # 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
|
49 # |
ff0979201b06
6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents:
0
diff
changeset
|
50 # 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
|
51 # 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
|
52 # improving the quality of crash log stack traces involving jvm.dll. |
0 | 53 |
54 # These are always used in all compiles | |
10214 | 55 CXX_FLAGS=$(EXTRA_CFLAGS) /nologo /W3 /WX |
0 | 56 |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
57 # Let's add debug information when Full Debug Symbols is enabled |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
58 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
59 CXX_FLAGS=$(CXX_FLAGS) /Zi |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
60 !endif |
0 | 61 |
62 # Based on BUILDARCH we add some flags and select the default compiler name | |
63 !if "$(BUILDARCH)" == "ia64" | |
64 MACHINE=IA64 | |
65 DEFAULT_COMPILER_NAME=VS2003 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
66 CXX_FLAGS=$(CXX_FLAGS) /D "CC_INTERP" /D "_LP64" /D "IA64" |
0 | 67 !endif |
68 | |
69 !if "$(BUILDARCH)" == "amd64" | |
70 MACHINE=AMD64 | |
71 DEFAULT_COMPILER_NAME=VS2005 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
72 CXX_FLAGS=$(CXX_FLAGS) /D "_LP64" /D "AMD64" |
0 | 73 LP64=1 |
74 !endif | |
75 | |
76 !if "$(BUILDARCH)" == "i486" | |
77 MACHINE=I386 | |
78 DEFAULT_COMPILER_NAME=VS2003 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
79 CXX_FLAGS=$(CXX_FLAGS) /D "IA32" |
0 | 80 !endif |
81 | |
82 # Sanity check, this is the default if not amd64, ia64, or i486 | |
83 !ifndef DEFAULT_COMPILER_NAME | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
84 CXX=ARCH_ERROR |
0 | 85 !endif |
86 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
87 CXX_FLAGS=$(CXX_FLAGS) /D "WIN32" /D "_WINDOWS" |
2027
aa6e219afbf1
7006354: Updates to Visual Studio project creation and development launcher
sla
parents:
1552
diff
changeset
|
88 # Must specify this for sharedRuntimeTrig.cpp |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
89 CXX_FLAGS=$(CXX_FLAGS) /D "VM_LITTLE_ENDIAN" |
2027
aa6e219afbf1
7006354: Updates to Visual Studio project creation and development launcher
sla
parents:
1552
diff
changeset
|
90 |
aa6e219afbf1
7006354: Updates to Visual Studio project creation and development launcher
sla
parents:
1552
diff
changeset
|
91 # Used for platform dispatching |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
92 CXX_FLAGS=$(CXX_FLAGS) /D TARGET_OS_FAMILY_windows |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
93 CXX_FLAGS=$(CXX_FLAGS) /D TARGET_ARCH_$(Platform_arch) |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
94 CXX_FLAGS=$(CXX_FLAGS) /D TARGET_ARCH_MODEL_$(Platform_arch_model) |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
95 CXX_FLAGS=$(CXX_FLAGS) /D TARGET_OS_ARCH_windows_$(Platform_arch) |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
96 CXX_FLAGS=$(CXX_FLAGS) /D TARGET_OS_ARCH_MODEL_windows_$(Platform_arch_model) |
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
97 CXX_FLAGS=$(CXX_FLAGS) /D TARGET_COMPILER_visCPP |
2027
aa6e219afbf1
7006354: Updates to Visual Studio project creation and development launcher
sla
parents:
1552
diff
changeset
|
98 |
aa6e219afbf1
7006354: Updates to Visual Studio project creation and development launcher
sla
parents:
1552
diff
changeset
|
99 |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
100 # 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
|
101 # 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
|
102 # via the script get_msc_ver.sh |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
103 # |
0 | 104 # If MSC_VER is set, it overrides the above default setting. |
105 # But it should be set. | |
106 # Possible values: | |
107 # 1200 is for VC6 | |
108 # 1300 and 1310 is VS2003 or VC7 | |
109 # 1399 is our fake number for the VS2005 compiler that really isn't 1400 | |
110 # 1400 is for VS2005 | |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
111 # 1500 is for VS2008 |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
112 # 1600 is for VS2010 |
11144
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
113 # 1700 is for VS2012 |
0 | 114 # Do not confuse this MSC_VER with the predefined macro _MSC_VER that the |
115 # compiler provides, when MSC_VER==1399, _MSC_VER will be 1400. | |
116 # Normally they are the same, but a pre-release of the VS2005 compilers | |
117 # in the Windows 64bit Platform SDK said it was 1400 when it was really | |
118 # closer to VS2003 in terms of option spellings, so we use 1399 for that | |
119 # 1400 version that really isn't 1400. | |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
120 # See the file get_msc_ver.sh for more info. |
0 | 121 !if "x$(MSC_VER)" == "x" |
122 COMPILER_NAME=$(DEFAULT_COMPILER_NAME) | |
123 !else | |
124 !if "$(MSC_VER)" == "1200" | |
125 COMPILER_NAME=VC6 | |
126 !endif | |
127 !if "$(MSC_VER)" == "1300" | |
128 COMPILER_NAME=VS2003 | |
129 !endif | |
130 !if "$(MSC_VER)" == "1310" | |
131 COMPILER_NAME=VS2003 | |
132 !endif | |
133 !if "$(MSC_VER)" == "1399" | |
134 # Compiler might say 1400, but if it's 14.00.30701, it isn't really VS2005 | |
135 COMPILER_NAME=VS2003 | |
136 !endif | |
137 !if "$(MSC_VER)" == "1400" | |
138 COMPILER_NAME=VS2005 | |
139 !endif | |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
140 !if "$(MSC_VER)" == "1500" |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
141 COMPILER_NAME=VS2008 |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
142 !endif |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
143 !if "$(MSC_VER)" == "1600" |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
144 COMPILER_NAME=VS2010 |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
145 !endif |
11144
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
146 !if "$(MSC_VER)" == "1700" |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
147 COMPILER_NAME=VS2012 |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
148 !endif |
0 | 149 !endif |
150 | |
151 # By default, we do not want to use the debug version of the msvcrt.dll file | |
152 # but if MFC_DEBUG is defined in the environment it will be used. | |
153 MS_RUNTIME_OPTION = /MD | |
154 !if "$(MFC_DEBUG)" == "true" | |
155 MS_RUNTIME_OPTION = /MTd /D "_DEBUG" | |
156 !endif | |
157 | |
11144
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
158 # VS2012 and later won't work with: |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
159 # /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
160 !if "$(MSC_VER)" < "1700" |
0 | 161 # 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
|
162 STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB |
0 | 163 MS_RUNTIME_OPTION = $(MS_RUNTIME_OPTION) $(STATIC_CPPLIB_OPTION) |
11144
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
164 !endif |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
165 CXX_FLAGS=$(CXX_FLAGS) $(MS_RUNTIME_OPTION) |
0 | 166 |
167 # How /GX option is spelled | |
168 GX_OPTION = /GX | |
169 | |
170 # Optimization settings for various versions of the compilers and types of | |
171 # builds. Three basic sets of settings: product, fastdebug, and debug. | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
172 # These get added into CXX_FLAGS as needed by other makefiles. |
0 | 173 !if "$(COMPILER_NAME)" == "VC6" |
174 PRODUCT_OPT_OPTION = /Ox /Os /Gy /GF | |
175 FASTDEBUG_OPT_OPTION = /Ox /Os /Gy /GF | |
176 DEBUG_OPT_OPTION = /Od | |
177 !endif | |
178 | |
179 !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
|
180 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
|
181 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
0 | 182 DEBUG_OPT_OPTION = /Od |
183 !endif | |
184 | |
185 !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
|
186 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
|
187 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
0 | 188 DEBUG_OPT_OPTION = /Od |
189 GX_OPTION = /EHsc | |
190 # This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib | |
191 # on the link command line, otherwise we get missing __security_check_cookie | |
192 # externals at link time. Even with /GS-, you need bufferoverflowU.lib. | |
193 # NOTE: Currently we decided to not use /GS- | |
194 BUFFEROVERFLOWLIB = bufferoverflowU.lib | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
195 LD_FLAGS = /manifest $(LD_FLAGS) $(BUFFEROVERFLOWLIB) |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
196 # 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
|
197 # as resources inside build artifacts. |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
198 !if "x$(MT)" == "x" |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
199 MT=mt.exe |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
200 !endif |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
201 !endif |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
202 |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
203 !if "$(COMPILER_NAME)" == "VS2008" |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
204 PRODUCT_OPT_OPTION = /O2 /Oy- |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
205 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
206 DEBUG_OPT_OPTION = /Od |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
207 GX_OPTION = /EHsc |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
208 LD_FLAGS = /manifest $(LD_FLAGS) |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
209 # 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
|
210 # as resources inside build artifacts. |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
211 !if "x$(MT)" == "x" |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
212 MT=mt.exe |
0 | 213 !endif |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
214 !endif |
0 | 215 |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
216 !if "$(COMPILER_NAME)" == "VS2010" |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
217 PRODUCT_OPT_OPTION = /O2 /Oy- |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
218 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
219 DEBUG_OPT_OPTION = /Od |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
220 GX_OPTION = /EHsc |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
221 LD_FLAGS = /manifest $(LD_FLAGS) |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
222 # 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
|
223 # as resources inside build artifacts. |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
224 !if "x$(MT)" == "x" |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
225 MT=mt.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
226 !endif |
2308
99bd05619fa4
7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents:
2233
diff
changeset
|
227 !if "$(BUILDARCH)" == "i486" |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
228 LD_FLAGS = /SAFESEH $(LD_FLAGS) |
2308
99bd05619fa4
7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents:
2233
diff
changeset
|
229 !endif |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
230 !endif |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
231 |
11144
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
232 !if "$(COMPILER_NAME)" == "VS2012" |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
233 PRODUCT_OPT_OPTION = /O2 /Oy- |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
234 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
235 DEBUG_OPT_OPTION = /Od |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
236 GX_OPTION = /EHsc |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
237 LD_FLAGS = /manifest $(LD_FLAGS) |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
238 # Manifest Tool - used in VS2005 and later to adjust manifests stored |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
239 # as resources inside build artifacts. |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
240 !if "x$(MT)" == "x" |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
241 MT=mt.exe |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
242 !endif |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
243 !if "$(BUILDARCH)" == "i486" |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
244 LD_FLAGS = /SAFESEH $(LD_FLAGS) |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
245 !endif |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
246 !endif |
33c52908bcdb
8015759: hotspot changes needed to compile with Visual Studio 2012
dholmes
parents:
10214
diff
changeset
|
247 |
0 | 248 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off |
249 !ifdef NO_OPTIMIZATIONS | |
250 PRODUCT_OPT_OPTION = $(DEBUG_OPT_OPTION) | |
251 FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION) | |
252 !endif | |
253 | |
254 # Generic linker settings | |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
255 !if "x$(LD)" == "x" |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
256 LD=link.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
257 !endif |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
258 LD_FLAGS= $(LD_FLAGS) kernel32.lib user32.lib gdi32.lib winspool.lib \ |
0 | 259 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ |
260 uuid.lib Wsock32.lib winmm.lib /nologo /machine:$(MACHINE) /opt:REF \ | |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
261 /opt:ICF,8 |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
262 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
263 LD_FLAGS= $(LD_FLAGS) /map /debug |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
264 !endif |
0 | 265 |
3833
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
266 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
267 !if $(MSC_VER) >= 1600 |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
268 LD_FLAGS= $(LD_FLAGS) psapi.lib |
3833
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
269 !endif |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
270 |
0 | 271 # Resource compiler settings |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
272 !if "x$(RC)" == "x" |
0 | 273 RC=rc.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
274 !endif |
0 | 275 RC_FLAGS=/D "HS_VER=$(HS_VER)" \ |
276 /D "HS_DOTVER=$(HS_DOTVER)" \ | |
277 /D "HS_BUILD_ID=$(HS_BUILD_ID)" \ | |
278 /D "JDK_VER=$(JDK_VER)" \ | |
279 /D "JDK_DOTVER=$(JDK_DOTVER)" \ | |
280 /D "HS_COMPANY=$(HS_COMPANY)" \ | |
281 /D "HS_FILEDESC=$(HS_FILEDESC)" \ | |
282 /D "HS_COPYRIGHT=$(HS_COPYRIGHT)" \ | |
283 /D "HS_FNAME=$(HS_FNAME)" \ | |
284 /D "HS_INTERNAL_NAME=$(HS_INTERNAL_NAME)" \ | |
285 /D "HS_NAME=$(HS_NAME)" | |
286 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
287 # Need this to match the CXX_FLAGS settings |
0 | 288 !if "$(MFC_DEBUG)" == "true" |
289 RC_FLAGS = $(RC_FLAGS) /D "_DEBUG" | |
290 !endif | |
291 |