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