Mercurial > hg > truffle
annotate make/windows/makefiles/compile.make @ 7267:a4b84ba6dc2e
Introduction of the Truffle API for efficient implementation of dynamic languages on top of the Graal VM. New projects com.oracle.truffle.api for the API definition and com.oracle.truffle.api.test for API tests and documentation.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Tue, 18 Dec 2012 15:33:55 +0100 |
parents | 74c359c4a9e5 |
children | 6b748c9e1845 |
rev | line source |
---|---|
0 | 1 # |
6020
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
2 # Copyright (c) 1997, 2012, 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 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
55 CXX_FLAGS=/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 |
0 | 113 # Do not confuse this MSC_VER with the predefined macro _MSC_VER that the |
114 # compiler provides, when MSC_VER==1399, _MSC_VER will be 1400. | |
115 # Normally they are the same, but a pre-release of the VS2005 compilers | |
116 # in the Windows 64bit Platform SDK said it was 1400 when it was really | |
117 # closer to VS2003 in terms of option spellings, so we use 1399 for that | |
118 # 1400 version that really isn't 1400. | |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
119 # See the file get_msc_ver.sh for more info. |
0 | 120 !if "x$(MSC_VER)" == "x" |
121 COMPILER_NAME=$(DEFAULT_COMPILER_NAME) | |
122 !else | |
123 !if "$(MSC_VER)" == "1200" | |
124 COMPILER_NAME=VC6 | |
125 !endif | |
126 !if "$(MSC_VER)" == "1300" | |
127 COMPILER_NAME=VS2003 | |
128 !endif | |
129 !if "$(MSC_VER)" == "1310" | |
130 COMPILER_NAME=VS2003 | |
131 !endif | |
132 !if "$(MSC_VER)" == "1399" | |
133 # Compiler might say 1400, but if it's 14.00.30701, it isn't really VS2005 | |
134 COMPILER_NAME=VS2003 | |
135 !endif | |
136 !if "$(MSC_VER)" == "1400" | |
137 COMPILER_NAME=VS2005 | |
138 !endif | |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
139 !if "$(MSC_VER)" == "1500" |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
140 COMPILER_NAME=VS2008 |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
141 !endif |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
142 !if "$(MSC_VER)" == "1600" |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
143 COMPILER_NAME=VS2010 |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
144 !endif |
0 | 145 !endif |
146 | |
147 # By default, we do not want to use the debug version of the msvcrt.dll file | |
148 # but if MFC_DEBUG is defined in the environment it will be used. | |
149 MS_RUNTIME_OPTION = /MD | |
150 !if "$(MFC_DEBUG)" == "true" | |
151 MS_RUNTIME_OPTION = /MTd /D "_DEBUG" | |
152 !endif | |
153 | |
154 # 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
|
155 STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB |
0 | 156 MS_RUNTIME_OPTION = $(MS_RUNTIME_OPTION) $(STATIC_CPPLIB_OPTION) |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
157 CXX_FLAGS=$(CXX_FLAGS) $(MS_RUNTIME_OPTION) |
0 | 158 |
159 # How /GX option is spelled | |
160 GX_OPTION = /GX | |
161 | |
162 # Optimization settings for various versions of the compilers and types of | |
163 # 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
|
164 # These get added into CXX_FLAGS as needed by other makefiles. |
0 | 165 !if "$(COMPILER_NAME)" == "VC6" |
166 PRODUCT_OPT_OPTION = /Ox /Os /Gy /GF | |
167 FASTDEBUG_OPT_OPTION = /Ox /Os /Gy /GF | |
168 DEBUG_OPT_OPTION = /Od | |
169 !endif | |
170 | |
171 !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
|
172 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
|
173 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
0 | 174 DEBUG_OPT_OPTION = /Od |
175 !endif | |
176 | |
177 !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
|
178 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
|
179 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
0 | 180 DEBUG_OPT_OPTION = /Od |
181 GX_OPTION = /EHsc | |
182 # This VS2005 compiler has /GS as a default and requires bufferoverflowU.lib | |
183 # on the link command line, otherwise we get missing __security_check_cookie | |
184 # externals at link time. Even with /GS-, you need bufferoverflowU.lib. | |
185 # NOTE: Currently we decided to not use /GS- | |
186 BUFFEROVERFLOWLIB = bufferoverflowU.lib | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
187 LD_FLAGS = /manifest $(LD_FLAGS) $(BUFFEROVERFLOWLIB) |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
188 # 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
|
189 # as resources inside build artifacts. |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
190 !if "x$(MT)" == "x" |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
191 MT=mt.exe |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
192 !endif |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
193 !endif |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
194 |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
195 !if "$(COMPILER_NAME)" == "VS2008" |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
196 PRODUCT_OPT_OPTION = /O2 /Oy- |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
197 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
198 DEBUG_OPT_OPTION = /Od |
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
199 GX_OPTION = /EHsc |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
200 LD_FLAGS = /manifest $(LD_FLAGS) |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
201 # 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
|
202 # as resources inside build artifacts. |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
203 !if "x$(MT)" == "x" |
427
3c07cda72b7d
6764892: VS2008 changes required to compile hotspot sources
tbell
parents:
196
diff
changeset
|
204 MT=mt.exe |
0 | 205 !endif |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
206 !endif |
0 | 207 |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
208 !if "$(COMPILER_NAME)" == "VS2010" |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
209 PRODUCT_OPT_OPTION = /O2 /Oy- |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
210 FASTDEBUG_OPT_OPTION = /O2 /Oy- |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
211 DEBUG_OPT_OPTION = /Od |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
212 GX_OPTION = /EHsc |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
213 LD_FLAGS = /manifest $(LD_FLAGS) |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
214 # 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
|
215 # as resources inside build artifacts. |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
216 !if "x$(MT)" == "x" |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
217 MT=mt.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
218 !endif |
2308
99bd05619fa4
7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents:
2233
diff
changeset
|
219 !if "$(BUILDARCH)" == "i486" |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
220 LD_FLAGS = /SAFESEH $(LD_FLAGS) |
2308
99bd05619fa4
7017110: Add /SAFESEH to links on windows 32bit to verify safe exceptions
zgu
parents:
2233
diff
changeset
|
221 !endif |
1485
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
222 !endif |
fb57d4cf76c2
6931180: Migration to recent versions of MS Platform SDK
prr
parents:
844
diff
changeset
|
223 |
0 | 224 # Compile for space above time. |
225 !if "$(Variant)" == "kernel" | |
57
ff0979201b06
6655385: Disable frame pointer omission in jvm.dll on Windows for better crash logs
sbohne
parents:
0
diff
changeset
|
226 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
|
227 FASTDEBUG_OPT_OPTION = /O1 /Oy- |
0 | 228 DEBUG_OPT_OPTION = /Od |
229 !endif | |
230 | |
231 # If NO_OPTIMIZATIONS is defined in the environment, turn everything off | |
232 !ifdef NO_OPTIMIZATIONS | |
233 PRODUCT_OPT_OPTION = $(DEBUG_OPT_OPTION) | |
234 FASTDEBUG_OPT_OPTION = $(DEBUG_OPT_OPTION) | |
235 !endif | |
236 | |
237 # Generic linker settings | |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
238 !if "x$(LD)" == "x" |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
239 LD=link.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
240 !endif |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
241 LD_FLAGS= $(LD_FLAGS) kernel32.lib user32.lib gdi32.lib winspool.lib \ |
0 | 242 comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ |
243 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
|
244 /opt:ICF,8 |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
245 !if "$(ENABLE_FULL_DEBUG_SYMBOLS)" == "1" |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
246 LD_FLAGS= $(LD_FLAGS) /map /debug |
d652a62d6e03
7102323: RFE: enable Full Debug Symbols Phase 1 on Solaris
dcubed
parents:
4891
diff
changeset
|
247 !endif |
0 | 248 |
3833
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
249 |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
250 !if $(MSC_VER) >= 1600 |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
251 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
|
252 !endif |
b1cbb0907b36
7016797: Hotspot: securely/restrictive load dlls and new API for loading system dlls
zgu
parents:
2308
diff
changeset
|
253 |
0 | 254 # Resource compiler settings |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
255 !if "x$(RC)" == "x" |
0 | 256 RC=rc.exe |
5897
7292cff45988
7141244: build-infra merge: Include $(SPEC) in makefiles and make variables overridable
erikj
parents:
4891
diff
changeset
|
257 !endif |
0 | 258 RC_FLAGS=/D "HS_VER=$(HS_VER)" \ |
259 /D "HS_DOTVER=$(HS_DOTVER)" \ | |
260 /D "HS_BUILD_ID=$(HS_BUILD_ID)" \ | |
261 /D "JDK_VER=$(JDK_VER)" \ | |
262 /D "JDK_DOTVER=$(JDK_DOTVER)" \ | |
263 /D "HS_COMPANY=$(HS_COMPANY)" \ | |
264 /D "HS_FILEDESC=$(HS_FILEDESC)" \ | |
265 /D "HS_COPYRIGHT=$(HS_COPYRIGHT)" \ | |
266 /D "HS_FNAME=$(HS_FNAME)" \ | |
267 /D "HS_INTERNAL_NAME=$(HS_INTERNAL_NAME)" \ | |
268 /D "HS_NAME=$(HS_NAME)" | |
269 | |
4891
719f7007c8e8
7141242: build-infra merge: Rename CPP->CXX and LINK->LD
erikj
parents:
3833
diff
changeset
|
270 # Need this to match the CXX_FLAGS settings |
0 | 271 !if "$(MFC_DEBUG)" == "true" |
272 RC_FLAGS = $(RC_FLAGS) /D "_DEBUG" | |
273 !endif | |
274 |