jdk/make/common/Defs-windows.gmk
author ohair
Tue, 29 Mar 2011 20:19:55 -0700
changeset 8828 fb3ae88d8e8d
parent 8827 f0f30d988312
child 9035 1255eb81cc2f
permissions -rw-r--r--
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#
7668
d4a77089c587 6962318: Update copyright year
ohair
parents: 5506
diff changeset
     2
# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5381
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5381
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
# accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
#
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5381
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5381
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5381
diff changeset
    23
# questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
# Makefile to specify compiler flags for programs and libraries
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
# targeted to Windows builds.  Should not contain any rules.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
# WARNING: This file is shared with other workspaces. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
#          So when it includes other files, it must use JDK_TOPDIR.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
# Get shared JDK settings
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
include $(JDK_MAKE_SHARED_DIR)/Defs.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
# CC compiler object code output directive flag value
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
CC_OBJECT_OUTPUT_FLAG = -Fo
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
CC_PROGRAM_OUTPUT_FLAG = -Fe
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
# The suffix applied to the library name for FDLIBM
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
FDDLIBM_SUFFIX = lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
# The suffix applied to scripts (.bat for windows, nothing for unix)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
SCRIPT_SUFFIX = .bat
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
# LIB_LOCATION, which for windows identifies where .exe files go, may be
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
# set by each GNUmakefile. The default is BINDIR.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
ifndef LIB_LOCATION
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
  LIB_LOCATION = $(BINDIR)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
endif # LIB_LOCATION
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
ifndef PLATFORM_SRC
30
7ea1edf98bfe 6668781: Openjdk windows cygwin build failure: no rule to make linker_md.obj target
ohair
parents: 2
diff changeset
    53
  PLATFORM_SRC  = $(BUILDDIR)/../src/windows
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
endif # PLATFORM_SRC
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
# Platform specific closed sources
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
ifndef OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
  ifndef CLOSED_PLATFORM_SRC
30
7ea1edf98bfe 6668781: Openjdk windows cygwin build failure: no rule to make linker_md.obj target
ohair
parents: 2
diff changeset
    59
    CLOSED_PLATFORM_SRC  = $(BUILDDIR)/../src/closed/windows
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
# for backwards compatability, the old "win32" is used here instead of 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
# the more proper "windows"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
PLATFORM_INCLUDE_NAME = win32
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
# The following DLL's are considered MS runtime libraries and should
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
#     not to be REBASEd, see deploy/make/common/Release.gmk.
8018
79ce40b4ab5e 6950375: Remove msvcrt.dll from the Windows JRE bundles
ohair
parents: 7669
diff changeset
    70
#     msvcr*.dll: Microsoft runtimes
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
    71
ifeq ($(COMPILER_VERSION), VS2010)
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
    72
  MSVCRNN_DLL = msvcr100.dll
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
    73
  MSVCPNN_DLL = msvcp100.dll
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
    74
  MS_RUNTIME_LIBRARIES = $(MSVCRNN_DLL)
2186
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
    75
endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
# C Compiler flag definitions
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
# Default optimization
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
#
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    84
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    85
ifndef OPTIMIZATION_LEVEL
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    86
  ifeq ($(PRODUCT), java)
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    87
    OPTIMIZATION_LEVEL = HIGHER
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    88
  else
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    89
    OPTIMIZATION_LEVEL = LOWER
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    90
  endif
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    91
endif
2398
b0e6622ee72e 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests
ohair
parents: 2186
diff changeset
    92
ifndef FASTDEBUG_OPTIMIZATION_LEVEL
b0e6622ee72e 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests
ohair
parents: 2186
diff changeset
    93
  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
b0e6622ee72e 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests
ohair
parents: 2186
diff changeset
    94
endif
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
    95
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
ifeq ($(CC_VERSION),msvc)
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
    97
  # Visual Studio compiler option definitions:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
  #   -O1      Favors reduced size over speed (-Og     -Os -Oy -Ob2 -Gs -GF -Gy)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
  #   -O2      Favors speed over reduced size (-Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
  #   -Ob2     More aggressive inlining
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
  #   -Og      Global optimizations
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
  #   -Oi      Replace some functions with intrinsic or special forms
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   103
  #   -fp:precise (should be the default)
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   104
  #            Improve floating point calculations (disables some optimizations)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
  #   -Os      Favor small code
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
  #   -Ot      Favor faster code
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
  #   -Oy      Frame pointer omission
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   108
  #   -G6      Used to be -GB?
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
  #   -GF      Pool strings in read-only memory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
  #   -Gf      Pool strings in read-write memory (the default)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
  #   -Gs      Controls stack probess
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   112
  #   -GS      Adds buffer overflow checks on stacks (the default)
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   113
  #   -EHsc    Enables exception handling 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
  #   -Gy      Function level linking only
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
  #
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   116
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   117
  CC_OPT/NONE    = -Od
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   118
  CC_OPT/LOWER   = -O2
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   119
  CC_OPT/HIGHER  = -O3
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   120
  CC_OPT/HIGHEST = -O3
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   121
  
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   122
  ifeq ($(COMPILER_VERSION), VS2010)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   123
    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   124
    AUTOMATIC_PCH_OPTION =
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   125
    GX_OPTION = -EHsc
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   126
    GZ_OPTION = -RTC1
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   127
    ifeq ($(ARCH_DATA_MODEL), 32)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   128
      CC_OPT/HIGHEST = -O2
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   129
      CC_OPT/HIGHER  = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   130
      CC_OPT/LOWER   = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   131
    else
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   132
      CC_OPT/HIGHEST = -O2
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   133
      CC_OPT/HIGHER  = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   134
      CC_OPT/LOWER   = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   135
    endif
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   136
  endif
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   137
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
else # CC_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
  # GCC not supported, but left for historical reference...
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   140
  CC_OPT/NONE     =
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   141
  CC_OPT/LOWER    = -O2
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   142
  CC_OPT/HIGHER   = -O2
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   143
  CC_OPT/HIGHEST  = -O3
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   144
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   147
CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
# Select the runtime support library carefully, need to be consistent
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
#
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   151
# Visual Studio Runtime compiler option definitions:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
#   -MD        Use dynamic multi-threaded runtime library
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
#   -MDd       Use debug version (don't use, doesn't mix with -MD DLL's)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
#   -MT        Use static multi-threaded runtime library (-ML is going away)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
#   -MTd       Use static debug version (better than -MDd, no runtime issues)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
#   -D_DEBUG   Change use of malloc/free/etc to use special debug ones (-MTd)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
#
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   158
#      NOTE: We also will use /D _STATIC_CPPLIB  so we don't need msvcpnn.dll
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
#
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   160
# If MS_RUNTIME_STATIC is requested we may have a problem, it is no longer
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   161
#     supported by VS2010
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   162
ifneq ($(MS_RUNTIME_STATIC),true)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
  MS_RUNTIME_OPTION=-MD
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
# The _DEBUG macro option (changes things like malloc to use debug version)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
MS_RUNTIME_DEBUG_OPTION=
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
MS_RC_DEBUG_OPTION=
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
# Externally set environment variable can force any build to use the debug vers
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
ifeq ($(MFC_DEBUG), true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
  ifeq ($(MS_RUNTIME_STATIC),true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
    MS_RUNTIME_OPTION=-MTd
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
  else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
    # This MS debugging flag forces a dependence on the debug
8018
79ce40b4ab5e 6950375: Remove msvcrt.dll from the Windows JRE bundles
ohair
parents: 7669
diff changeset
   174
    #     version of the runtime library (MSVCR*D.DLL), as does -MDd.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
    #     We cannot re-distribute this debug runtime.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
    MS_RUNTIME_OPTION=-MDd
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
  MS_RUNTIME_DEBUG_OPTION= -D_DEBUG
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
  MS_RC_DEBUG_OPTION= -d _DEBUG
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
# Always add _STATIC_CPPLIB definition
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
7669
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   184
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   185
# Silence the warning about using _STATIC_CPPLIB
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   186
ifneq ($(SHOW_ALL_WARNINGS),true)
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   187
  # Needed with VS2010 to turn off the deprecated warning.
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   188
  STATIC_CPPLIB_OPTION += /D _DISABLE_DEPRECATE_STATIC_CPPLIB
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   189
endif
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   190
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
ifeq ($(CC_VERSION),msvc)
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   194
  # Visual Studio compiler option definitions:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
  #   -Zi      Cause *.pdb file to be created, full debug information
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
  #   -Z7      Full debug inside the .obj, no .pdb
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
  #   -Zd      Basic debug, no local variables? In the .obj
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
  #   -Zl      Don't add runtime library name to obj file?
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
  #   -Od      Turns off optimization and speeds compilation
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
  #   -YX -Fp/.../foobar.pch   Use precompiled headers (try someday?)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
  #   -nologo  Don't print out startup message
7669
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   202
  #   /D _STATIC_CPPLIB
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   203
  #            Use static link for the C++ runtime (so msvcpnn.dll not needed)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
  #   
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
  CFLAGS_COMMON  += -Zi -nologo
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   206
  CFLAGS_OPT      = $(CC_OPT)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
  CFLAGS_DBG      = -Od $(MS_RUNTIME_DEBUG_OPTION)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   209
  CFLAGS_VS2010 += -Zc:wchar_t-
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
  # All builds get the same runtime setting
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
  CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
  LDEBUG = /debug
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
  ifeq ($(VTUNE_SUPPORT), true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
    OTHER_CFLAGS = -Z7 -Ox 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
    LDEBUG += /pdb:NONE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
  
8269
f32efe2fd5f5 7010594: Add /SAFESEH to links on windows to verify safe exceptions
ohair
parents: 8022
diff changeset
   221
  # VS2010, always need safe exception handlers, not needed on 64bit
f32efe2fd5f5 7010594: Add /SAFESEH to links on windows to verify safe exceptions
ohair
parents: 8022
diff changeset
   222
  ifeq ($(ARCH_DATA_MODEL), 32)
8827
f0f30d988312 7011718: VS2010, remove makefile logic with regards to use of VC6, VS2003, VS2005, VS2008
ohair
parents: 8269
diff changeset
   223
    LFLAGS_VS2010 +=  -SAFESEH
8269
f32efe2fd5f5 7010594: Add /SAFESEH to links on windows to verify safe exceptions
ohair
parents: 8022
diff changeset
   224
  endif
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   225
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
  # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
  BASELFLAGS = -nologo /opt:REF /incremental:no
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   228
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
  LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
  LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
# Preprocessor macro definitions
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
CPPFLAGS_COMMON = -DWIN32 -DIAL -D_LITTLE_ENDIAN
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
ifeq ($(ARCH), amd64)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
  CPPFLAGS_COMMON += -D_AMD64_ -Damd64
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
else
849
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   241
  CPPFLAGS_COMMON += -D_X86_ -Dx86 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
# Output options (use specific filenames to avoid parallel compile errors)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
#
849
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   251
# Use -wdNNNN to disable warning NNNN.
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   252
#   C4800 is a warning about bool performance casts (can't make go away)
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   253
#
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   254
COMPILER_WARNINGS_TO_IGNORE = 4800
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   255
CFLAGS_COMMON += $(COMPILER_WARNINGS_TO_IGNORE:%=-wd%)
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   256
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   257
#
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
# Treat compiler warnings as errors, if requested
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
#
849
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   260
CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
ifeq ($(COMPILER_WARNINGS_FATAL),true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
  CFLAGS_COMMON += -WX
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
7669
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   265
# Turn off some warnings by default, enable them all if asked.
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   266
ifneq ($(SHOW_ALL_WARNINGS),true)
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   267
  # The -D _CRT_SECURE_NO_DEPRECATE turns off security/deprecated warnings on
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   268
  #    the standard C library functions like strcpy.
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   269
  CFLAGS_COMMON += -D _CRT_SECURE_NO_DEPRECATE
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   270
  # The -D _CRT_NONSTDC_NO_DEPRECATE turns off deprecation warnings about using
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   271
  #    non-standard C POSIX functions.
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   272
  CFLAGS_COMMON += -D _CRT_NONSTDC_NO_DEPRECATE
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   273
endif
3ebe17bda998 6991482: Add global jdk makefile options to silence some VS2010 warnings
ohair
parents: 7668
diff changeset
   274
3222
432b8f34c3b0 6858127: Missing -DNDEBUG on Linux and Windows native code compiles
ohair
parents: 2398
diff changeset
   275
CPPFLAGS_OPT    = -DNDEBUG
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
CPPFLAGS_DBG    = -DDEBUG -DLOGGING
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
CXXFLAGS_COMMON = $(CFLAGS_COMMON)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
CXXFLAGS_OPT    = $(CFLAGS_OPT)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
CXXFLAGS_DBG    = $(CFLAGS_DBG)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
ifneq ($(LIBRARY),fdlibm)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
  EXTRA_LIBS += advapi32.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
# Path and option to link against the VM, if you have to. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
JVMLIB = $(LIBDIR)/jvm.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
JAVALIB = $(LIBDIR)/java.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
ifeq ($(CC_VERSION), msvc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
  CC_DEPEND        = -FD
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
  CC_DEPEND_FILTER = 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
else # CC_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
# not supported, but left for historical reference...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
  CC_DEPEND        = -MM
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
  CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)&!g'
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
endif # CC_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
LIBRARY_SUFFIX = dll
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
LIB_SUFFIX     = lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
# Settings for the JDI - Serviceability Agent binding.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/bin
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
SAMAP_NAME = $(LIB_PREFIX)sawindbg.map
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
ifeq ($(ARCH), ia64)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
  # SA will never be supported here.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
  INCLUDE_SA = false
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
else
2055
e3166b387ec5 6755621: Include SA binaries into Windows JDK
poonam
parents: 1776
diff changeset
   314
  INCLUDE_SA = true
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
# Settings for the VERSIONINFO tap on windows. 
30
7ea1edf98bfe 6668781: Openjdk windows cygwin build failure: no rule to make linker_md.obj target
ohair
parents: 2
diff changeset
   318
VERSIONINFO_RESOURCE = $(BUILDDIR)/../src/windows/resource/version.rc
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
ifneq ($(JDK_BUILD_NUMBER),)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
 COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
 COOKED_BUILD_NUMBER = 0
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
# If the update version contains non-numeric characters, we need
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
# to massage it into a numeric format. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
# We use the following formula:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
# Here are some examples:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
#     1.5.0    b01  ->  5,0,0,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
#     1.5.0_10 b01  ->  5,0,100,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
#     1.4.2 b01     ->  4,2,0,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
#     1.4.2_02 b01  ->  4,2,20,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
#     1.4.2_02a b01 ->  4,2,21,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
#     1.4.2_02b b01 ->  4,2,22,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
ifdef JDK_UPDATE_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
  VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
  CAB_CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
  CAB_CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
  CAB_CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
  JDK_UPDATE_META_TAG := U$(MARKETING_NUMBER)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
  ifeq ($(CAB_CHAR3),)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
    CAB_CHAR3 := 0
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
  ifeq ($(CAB_CHAR1), 0)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
    JDK_UPDATE_VER := $(CAB_CHAR2)$(CAB_CHAR3)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
  else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
    JDK_UPDATE_VER := $(CAB_CHAR1)$(CAB_CHAR2)$(CAB_CHAR3)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
  JDK_UPDATE_VER := 0
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   355
90ce3da70b43 Initial load
duke
parents:
diff changeset
   356
RC_FLAGS = /l 0x409 /r
90ce3da70b43 Initial load
duke
parents:
diff changeset
   357
90ce3da70b43 Initial load
duke
parents:
diff changeset
   358
ifeq ($(VARIANT), OPT)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
  RC_FLAGS += -d NDEBUG 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   361
  RC_FLAGS += $(MS_RC_DEBUG_OPTION)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
endif 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
847
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   364
# Values for the RC variables defined in RC_FLAGS
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   365
JDK_RC_BUILD_ID = $(FULL_VERSION)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   366
JDK_RC_COMPANY = $(COMPANY_NAME)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   367
JDK_RC_COMPONENT = $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) binary
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   368
JDK_RC_VER = \
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   369
    $(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION).$(JDK_UPDATE_VER).$(COOKED_BUILD_NUMBER)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   370
JDK_RC_COPYRIGHT = Copyright \xA9 $(COPYRIGHT_YEAR)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   371
JDK_RC_NAME = \
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   372
    $(PRODUCT_NAME) $(JDK_RC_PLATFORM_NAME) $(JDK_MINOR_VERSION) $(JDK_UPDATE_META_TAG)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   373
JDK_RC_FVER = \
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   374
    $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   376
# JDK name required here
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   377
RC_FLAGS += -d "JDK_BUILD_ID=$(JDK_RC_BUILD_ID)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   378
            -d "JDK_COMPANY=$(JDK_RC_COMPANY)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   379
            -d "JDK_COMPONENT=$(JDK_RC_COMPONENT)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   380
            -d "JDK_VER=$(JDK_RC_VER)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   381
            -d "JDK_COPYRIGHT=$(JDK_RC_COPYRIGHT)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   382
            -d "JDK_NAME=$(JDK_RC_NAME)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   383
            -d "JDK_FVER=$(JDK_RC_FVER)"
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   384
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   385
# Enable 7-Zip LZMA file (de)compression for Java Kernel if it is available
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   386
ifeq ($(ARCH_DATA_MODEL), 32)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   387
  ifneq ($(KERNEL), off)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   388
    # This is a hack to use until  7-Zip (and UPX) bundles can be put
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   389
    # under /java/devtools.
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   390
    ifndef DEPLOY_TOPDIR
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   391
      DEPLOY_TOPDIR=$(JDK_TOPDIR)/../deploy
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   392
    endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   393
    # Uncomment this block to cause build failure if above assumption false
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   394
    #DCHK = $(shell if [ ! -d $(DEPLOY_TOPDIR) ] ; then \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   395
    #  $(ECHO) deploy_not_a_peer_of_j2se ; \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   396
    #fi )
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   397
    #ifeq ($(DCHK), deploy_not_a_peer_of_j2se)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   398
    #  If a build failure points to control coming here it means
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   399
    #  it means deploy is not in the same directory
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   400
    #  as j2se. Java Kernel can't tolerate that for the time being.
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   401
    #endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   402
    EC_TMP = $(shell if [ -d $(DEPLOY_TOPDIR)/make/lzma ] ; then \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   403
      $(ECHO) true ; \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   404
    else \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   405
      $(ECHO) false ; \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   406
    fi )
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   407
    ifeq ($(EC_TMP), true)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   408
      EXTRA_COMP_INSTALL_PATH = lib\\\\deploy\\\\lzma.dll
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   409
      # Crazy but true: deploy/make/plugin/jinstall/Makefile.jkernel does
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   410
      # not include deploy/make/common/Defs-windows.gmk, either directly
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   411
      # or indirectly. But it does include this file, so redundantly declare
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   412
      # these variables that are in deploy/make/common/Defs-windows.gmk for
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   413
      # the sake of the Java Kernel part of the deploy build. Whew!
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   414
      EXTRA_COMP_LIB_NAME = lzma.dll
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   415
      EXTRA_COMP_PATH = $(OUTPUTDIR)/tmp/deploy/lzma/win32/obj
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   416
      EXTRA_COMP_CMD_PATH = $(EXTRA_COMP_PATH)/lzma.exe
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   417
      EXTRA_COMP_LIB_PATH = $(EXTRA_COMP_PATH)/$(EXTRA_COMP_LIB_NAME)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   418
    endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   419
  endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   420
endif