jdk/make/common/Defs-windows.gmk
author alanb
Tue, 07 Sep 2010 08:36:10 +0100
changeset 6532 46e43203603e
parent 5506 202f599c92aa
child 7668 d4a77089c587
permissions -rw-r--r--
6971706: sun/nio/cs/ext/* classes are duplicated between rt.jar, charsets.jar, and localedata.jar Reviewed-by: ohair
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 5381
diff changeset
     2
# Copyright (c) 1999, 2009, 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
HPIS = windows
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
# LIB_LOCATION, which for windows identifies where .exe files go, may be
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
# set by each GNUmakefile. The default is BINDIR.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
ifndef LIB_LOCATION
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
  LIB_LOCATION = $(BINDIR)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
endif # LIB_LOCATION
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
ifndef PLATFORM_SRC
30
7ea1edf98bfe 6668781: Openjdk windows cygwin build failure: no rule to make linker_md.obj target
ohair
parents: 2
diff changeset
    54
  PLATFORM_SRC  = $(BUILDDIR)/../src/windows
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
endif # PLATFORM_SRC
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
# Platform specific closed sources
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
ifndef OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
  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
    60
    CLOSED_PLATFORM_SRC  = $(BUILDDIR)/../src/closed/windows
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
# for backwards compatability, the old "win32" is used here instead of 
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
# the more proper "windows"
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
PLATFORM_INCLUDE_NAME = win32
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
PLATFORM_INCLUDE      = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
# The following DLL's are considered MS runtime libraries and should
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
#     not to be REBASEd, see deploy/make/common/Release.gmk.
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    71
#     msvcrt.dll, msvcrnn.dll [msvcr71 or msvcr80 or msvcr90] : Microsoft runtimes
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
MS_RUNTIME_LIBRARIES = msvcrt.dll
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
  ifeq ($(COMPILER_VERSION), VS2003)
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    75
    MSVCRNN_DLL = msvcr71.dll
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    76
    MSVCPNN_DLL = msvcp71.dll
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    77
    MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    78
  endif
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    79
  ifeq ($(COMPILER_VERSION), VS2005)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    80
    MSVCRNN_DLL = msvcr80.dll
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    81
    MSVCPNN_DLL = msvcp80.dll
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    82
    MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    83
  endif
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    84
  ifeq ($(COMPILER_VERSION), VS2008)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    85
    MSVCRNN_DLL = msvcr90.dll
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    86
    MSVCPNN_DLL = msvcp90.dll
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
    87
    MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
  endif
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
    89
  ifeq ($(COMPILER_VERSION), VS2010)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
    90
    MSVCRNN_DLL = msvcr100.dll
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
    91
    MSVCPNN_DLL = msvcp100.dll
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
    92
    MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
    93
  endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
2186
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
    96
ifeq ($(ARCH_DATA_MODEL), 64)
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
    97
  ifeq ($(COMPILER_VERSION), VS2008)
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
    98
    MSVCRNN_DLL = msvcr90.dll
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
    99
    MSVCPNN_DLL = msvcp90.dll
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
   100
    MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
   101
  endif
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   102
  ifeq ($(COMPILER_VERSION), VS2010)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   103
    MSVCRNN_DLL = msvcr100.dll
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   104
    MSVCPNN_DLL = msvcp100.dll
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   105
    MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   106
  endif
2186
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
   107
endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
# C Compiler flag definitions
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
# Default optimization
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
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
   118
  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
   119
    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
   120
  else
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   121
    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
   122
  endif
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   123
endif
2398
b0e6622ee72e 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests
ohair
parents: 2186
diff changeset
   124
ifndef FASTDEBUG_OPTIMIZATION_LEVEL
b0e6622ee72e 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests
ohair
parents: 2186
diff changeset
   125
  FASTDEBUG_OPTIMIZATION_LEVEL = LOWER
b0e6622ee72e 6604458: linux_x64-fastdebug-c2 fails on hyperbolic trig tests
ohair
parents: 2186
diff changeset
   126
endif
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   127
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
ifeq ($(CC_VERSION),msvc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
  # Visual Studio .NET 2003 or VS2003 compiler option definitions:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
  #   -O1      Favors reduced size over speed (-Og     -Os -Oy -Ob2 -Gs -GF -Gy)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
  #   -O2      Favors speed over reduced size (-Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
  #   -Ox      Full optimization (use -O2)    (-Og -Oi -Ot -Oy -Ob2)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
  #              (Removed in Visual Studio 2005 or VS2005)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
  #   -Ob2     More aggressive inlining
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
  #   -Og      Global optimizations
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
  #   -Oi      Replace some functions with intrinsic or special forms
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
  #   -Op      Improve floating point calculations (disables some optimizations)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
  #              (Replaced with -fp:precise in VS2005, /Op is default now)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
  #   -Os      Favor small code
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
  #   -Ot      Favor faster code
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
  #   -Oy      Frame pointer omission
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
  #   -GB      Optimize for pentium (old VC6 option?)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
  #   -G6      VS2003 version of -GB?
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
  #   -GF      Pool strings in read-only memory
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
  #   -Gf      Pool strings in read-write memory (the default)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
  #   -Gs      Controls stack probess
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
  #   -GS      Adds buffer overflow checks on stacks
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
  #              (Default in VS2005)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
  #   -GX      Enables exception handling 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
  #              (Replaced with /EHsc in VS2005)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
  #   -Gy      Function level linking only
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
  #
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
  # NOTE: With VC6, -Ox included -Gs.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
  # NOTE: With VC6, -Ox, -O1, and -O2 used -Ob1, not -Ob2.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
  # NOTE: With VC6, -O1 and -O2 used -Gf, not -GF.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
  #
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   157
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   158
  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
   159
  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
   160
  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
   161
  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
   162
  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
  ifeq ($(COMPILER_VERSION), VC6)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
    # VC6 (6.2) msvc compiler (the way Tiger and early Mustang were built)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
    AUTOMATIC_PCH_OPTION =
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
    GX_OPTION = -GX
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   168
    GZ_OPTION = -GZ
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
    ifeq ($(ARCH_DATA_MODEL), 32)
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   170
      CC_OPT/HIGHEST = -Ox -Gy -Os -GB
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   171
      CC_OPT/HIGHER  = -Ox -Gy -Os -GB
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   172
      CC_OPT/LOWER   = -Ox -Gy -Os -GB
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
    else
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   174
      CC_OPT/HIGHEST = -Ox -Gy -Op
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   175
      CC_OPT/HIGHER  = -Ox -Gy -Op
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   176
      CC_OPT/LOWER   = -Ox -Gy -Op
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
    endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
  endif
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   179
  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
  ifeq ($(COMPILER_VERSION), VS2003)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
    AUTOMATIC_PCH_OPTION = -YX
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
    # Also known as VC7 compiler
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
    GX_OPTION = -GX
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   185
    GZ_OPTION = -GZ
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
    ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
      # Lowered opt level to try and reduce footprint, dll size especially.
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   188
      #     Was: CC_OPT/HIGHEST = -O2 -G6
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   189
      #     Was: 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
   190
      CC_OPT/HIGHEST = -O2
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   191
      CC_OPT/HIGHER  = -O1
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   192
      CC_OPT/LOWER   = -O1
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
    else
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   194
      CC_OPT/HIGHEST = -O2 -Op
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   195
      CC_OPT/HIGHER  = -O2 -Op
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   196
      CC_OPT/LOWER   = -O1 -Op
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
    endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
  endif
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   199
  
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
  ifeq ($(COMPILER_VERSION), VS2005)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
    AUTOMATIC_PCH_OPTION =
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
    # VS2005 compiler, only with Platform SDK right now?
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
    GX_OPTION = -EHsc
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   205
    GZ_OPTION = -RTC1
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
    ifeq ($(ARCH_DATA_MODEL), 32)
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   207
      CC_OPT/HIGHEST = -O2
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   208
      CC_OPT/HIGHER  = -O1
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   209
      CC_OPT/LOWER   = -O1
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
    else
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   211
      CC_OPT/HIGHEST = -O2
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   212
      CC_OPT/HIGHER  = -O1
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   213
      CC_OPT/LOWER   = -O1
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
    endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
  endif
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   216
  ifeq ($(COMPILER_VERSION), VS2008)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   217
    # Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   218
    AUTOMATIC_PCH_OPTION =
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   219
    GX_OPTION = -EHsc
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   220
    GZ_OPTION = -RTC1
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   221
    ifeq ($(ARCH_DATA_MODEL), 32)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   222
      CC_OPT/HIGHEST = -O2
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   223
      CC_OPT/HIGHER  = -O1
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   224
      CC_OPT/LOWER   = -O1
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   225
    else
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   226
      CC_OPT/HIGHEST = -O2
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   227
      CC_OPT/HIGHER  = -O1
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   228
      CC_OPT/LOWER   = -O1
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   229
    endif
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   230
  endif
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   231
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   232
  ifeq ($(COMPILER_VERSION), VS2010)
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   233
    # 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
   234
    AUTOMATIC_PCH_OPTION =
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   235
    GX_OPTION = -EHsc
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   236
    GZ_OPTION = -RTC1
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   237
    ifeq ($(ARCH_DATA_MODEL), 32)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   238
      CC_OPT/HIGHEST = -O2
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   239
      CC_OPT/HIGHER  = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   240
      CC_OPT/LOWER   = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   241
    else
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   242
      CC_OPT/HIGHEST = -O2
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   243
      CC_OPT/HIGHER  = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   244
      CC_OPT/LOWER   = -O1
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   245
    endif
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   246
  endif
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   247
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
else # CC_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
  # 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
   250
  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
   251
  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
   252
  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
   253
  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
   254
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
917
75261da60fff 6729772: 64-bit build with SS12 compiler: SIGSEGV (0xb) at pc=0x0000000000000048, pid=14826, tid=2
ohair
parents: 715
diff changeset
   257
CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL))
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
# Select the runtime support library carefully, need to be consistent
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
# VS2003 compiler option definitions:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
#   -MD        Use dynamic multi-threaded runtime library
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
#   -MDd       Use debug version (don't use, doesn't mix with -MD DLL's)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
#   -MT        Use static multi-threaded runtime library (-ML is going away)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
#   -MTd       Use static debug version (better than -MDd, no runtime issues)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
#   -D_DEBUG   Change use of malloc/free/etc to use special debug ones (-MTd)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
#
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   268
#      NOTE: We also will use /D _STATIC_CPPLIB  so we don't need msvcpnn.dll
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
#
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   270
# If MS_RUNTIME_STATIC is requested, use -MT only with VS2003.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
ifeq ($(MS_RUNTIME_STATIC),true)
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   272
  ifeq ($(COMPILER_VERSION), VS2003)
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   273
    MS_RUNTIME_OPTION=-MT
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   274
  endif
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
  MS_RUNTIME_OPTION=-MD
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
# The _DEBUG macro option (changes things like malloc to use debug version)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
MS_RUNTIME_DEBUG_OPTION=
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
MS_RC_DEBUG_OPTION=
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
# Externally set environment variable can force any build to use the debug vers
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
ifeq ($(MFC_DEBUG), true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
  ifeq ($(MS_RUNTIME_STATIC),true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
    MS_RUNTIME_OPTION=-MTd
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
  else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
    # This MS debugging flag forces a dependence on the debug
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
    #     version of the runtime library (MSVCRTD.DLL), as does -MDd.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
    #     We cannot re-distribute this debug runtime.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
    MS_RUNTIME_OPTION=-MDd
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
  MS_RUNTIME_DEBUG_OPTION= -D_DEBUG
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
  MS_RC_DEBUG_OPTION= -d _DEBUG
90ce3da70b43 Initial load
duke
parents:
diff changeset
   293
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
# Always add _STATIC_CPPLIB definition
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
STATIC_CPPLIB_OPTION = /D _STATIC_CPPLIB
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
MS_RUNTIME_OPTION += $(STATIC_CPPLIB_OPTION)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
90ce3da70b43 Initial load
duke
parents:
diff changeset
   299
ifeq ($(CC_VERSION),msvc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
  # VS2003 compiler option definitions:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
  #   -Zi      Cause *.pdb file to be created, full debug information
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
  #   -Z7      Full debug inside the .obj, no .pdb
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
  #   -Zd      Basic debug, no local variables? In the .obj
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
  #   -Zl      Don't add runtime library name to obj file?
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
  #   -Od      Turns off optimization and speeds compilation
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
  #   -YX -Fp/.../foobar.pch   Use precompiled headers (try someday?)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
  #   -nologo  Don't print out startup message
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
  #   /D _STATIC_CPPLIB  
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   309
  #            Use static link for the C++ runtime (so msvcpnn.dll not needed)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
  #   
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
  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
   312
  CFLAGS_OPT      = $(CC_OPT)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
  CFLAGS_DBG      = -Od $(MS_RUNTIME_DEBUG_OPTION)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   315
  # REMIND: I don't see where CFLAGS_VS2005 is used. I suspect its
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   316
  # pulled in as a combined "CFLAGS_$(COMPILER_VERSION)" string
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   317
  # but the lack of this isn't causing any apparent build problems
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   318
  # with VS 2010 but it could be causing compiler warnings.
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   319
  # For now, I  will add it for all cases :
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   320
  CFLAGS_VS2010 += -Zc:wchar_t-
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   321
  #
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
  # Starting from VS2005 the wchar_t is handled as a built-in C/C++ data type
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
  # by default. However, we expect the wchar_t to be a typedef to the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
  # unsigned short data type. The -Zc:wchar_t- option restores the old
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
  # behavior (as seen in VS2003) to avoid massive code modifications.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
  # When/if our code will be "C/C++ Standard"-compliant (at least in the area
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
  # of handling the wchar_t type), the option won't be necessary.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
  ifeq ($(ARCH_DATA_MODEL), 32)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
    CFLAGS_VS2005 += -Zc:wchar_t-
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
  else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
    # The 64bit Platform SDK we use (April 2005) doesn't like this option
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
    ifneq ($(CC_VER), 14.00.40310.41)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
      CFLAGS_VS2005 += -Zc:wchar_t-
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
    endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
  # All builds get the same runtime setting
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
  CFLAGS_COMMON += $(MS_RUNTIME_OPTION) $(CFLAGS_$(COMPILER_VERSION))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
  LDEBUG = /debug
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
  ifeq ($(VTUNE_SUPPORT), true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
    OTHER_CFLAGS = -Z7 -Ox 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
    LDEBUG += /pdb:NONE
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
  # The new Platform SDK and VS2005 has /GS as a default and requires 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
  #    bufferoverflowU.lib on the link command line, otherwise 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
  #    we get missing __security_check_cookie externals at link time. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
  BUFFEROVERFLOWLIB = bufferoverflowU.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
  # Always add bufferoverflowU.lib to VS2005 link commands (pack uses LDDFLAGS)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
  LFLAGS_VS2005 = $(BUFFEROVERFLOWLIB)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   354
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   355
  # VS2008 has bufferoverflow baked in:
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   356
  LFLAGS_VS2008 = 
5381
d6d64a42ff51 6931180: Migration to recent versions of MS Platform SDK
prr
parents: 3229
diff changeset
   357
  LFLAGS_VS2010 = 
1776
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   358
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   359
  # LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
90ce3da70b43 Initial load
duke
parents:
diff changeset
   360
  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
   361
ifdef MT
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   362
    # VS2005, VS2008, and beyond: ask LINK to generate manifests for .dll & .exe
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   363
    BASELFLAGS += /manifest
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   364
endif
33e9405ab91b 6754862: jdk/src/windows/bin/java_md.c: hardcoded reference to msvcr71.dll
tbell
parents: 919
diff changeset
   365
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
  LFLAGS = $(BASELFLAGS) $(LDEBUG) $(EXTRA_LFLAGS) $(LFLAGS_$(COMPILER_VERSION))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
  LDDFLAGS += $(LFLAGS_$(COMPILER_VERSION))
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
  
90ce3da70b43 Initial load
duke
parents:
diff changeset
   369
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   372
# Preprocessor macro definitions
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
CPPFLAGS_COMMON = -DWIN32 -DIAL -D_LITTLE_ENDIAN
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
ifeq ($(ARCH), amd64)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
  CPPFLAGS_COMMON += -D_AMD64_ -Damd64
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
else
849
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   378
  CPPFLAGS_COMMON += -D_X86_ -Dx86 
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
CPPFLAGS_COMMON += -DWIN32_LEAN_AND_MEAN
90ce3da70b43 Initial load
duke
parents:
diff changeset
   381
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
# Output options (use specific filenames to avoid parallel compile errors)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   384
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
CFLAGS_COMMON += -Fd$(OBJDIR)/$(basename $(@F)).pdb -Fm$(OBJDIR)/$(basename $(@F)).map
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
#
849
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   388
# Use -wdNNNN to disable warning NNNN.
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   389
#   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
   390
#
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   391
COMPILER_WARNINGS_TO_IGNORE = 4800
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   392
CFLAGS_COMMON += $(COMPILER_WARNINGS_TO_IGNORE:%=-wd%)
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   393
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   394
#
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
# Treat compiler warnings as errors, if requested
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
#
849
be386e469547 6727683: Cleanup use of COMPILER_WARNINGS_FATAL in makefiles
ohair
parents: 847
diff changeset
   397
CFLAGS_COMMON += -W$(COMPILER_WARNING_LEVEL)
2186
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
   398
# Turn off security warnings about using the standard C library function strcpy
53da56fa3bf9 6816311: Changes to allow builds with latest Windows SDK 6.1 on 64bit Windows 2003
ohair
parents: 2055
diff changeset
   399
CFLAGS_COMMON += -D _CRT_SECURE_NO_DEPRECATE
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   400
ifeq ($(COMPILER_WARNINGS_FATAL),true)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   401
  CFLAGS_COMMON += -WX
90ce3da70b43 Initial load
duke
parents:
diff changeset
   402
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   403
3222
432b8f34c3b0 6858127: Missing -DNDEBUG on Linux and Windows native code compiles
ohair
parents: 2398
diff changeset
   404
CPPFLAGS_OPT    = -DNDEBUG
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   405
CPPFLAGS_DBG    = -DDEBUG -DLOGGING
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
CXXFLAGS_COMMON = $(CFLAGS_COMMON)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   408
CXXFLAGS_OPT    = $(CFLAGS_OPT)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   409
CXXFLAGS_DBG    = $(CFLAGS_DBG)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   410
90ce3da70b43 Initial load
duke
parents:
diff changeset
   411
ifneq ($(LIBRARY),fdlibm)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   412
  EXTRA_LIBS += advapi32.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   413
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   414
90ce3da70b43 Initial load
duke
parents:
diff changeset
   415
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   416
# Path and option to link against the VM, if you have to. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   417
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   418
JVMLIB = $(LIBDIR)/jvm.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   419
JAVALIB = $(LIBDIR)/java.lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   420
90ce3da70b43 Initial load
duke
parents:
diff changeset
   421
ifeq ($(CC_VERSION), msvc)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   422
  CC_DEPEND        = -FD
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
  CC_DEPEND_FILTER = 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   424
else # CC_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   425
# not supported, but left for historical reference...
90ce3da70b43 Initial load
duke
parents:
diff changeset
   426
  CC_DEPEND        = -MM
90ce3da70b43 Initial load
duke
parents:
diff changeset
   427
  CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)&!g'
90ce3da70b43 Initial load
duke
parents:
diff changeset
   428
endif # CC_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   429
90ce3da70b43 Initial load
duke
parents:
diff changeset
   430
LIBRARY_SUFFIX = dll
90ce3da70b43 Initial load
duke
parents:
diff changeset
   431
LIB_SUFFIX     = lib
90ce3da70b43 Initial load
duke
parents:
diff changeset
   432
90ce3da70b43 Initial load
duke
parents:
diff changeset
   433
# Settings for the JDI - Serviceability Agent binding.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   434
HOTSPOT_SALIB_PATH   = $(HOTSPOT_IMPORT_PATH)/jre/bin
90ce3da70b43 Initial load
duke
parents:
diff changeset
   435
SALIB_NAME = $(LIB_PREFIX)sawindbg.$(LIBRARY_SUFFIX)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   436
SAMAP_NAME = $(LIB_PREFIX)sawindbg.map
90ce3da70b43 Initial load
duke
parents:
diff changeset
   437
SAPDB_NAME = $(LIB_PREFIX)sawindbg.pdb
90ce3da70b43 Initial load
duke
parents:
diff changeset
   438
90ce3da70b43 Initial load
duke
parents:
diff changeset
   439
ifeq ($(ARCH), ia64)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   440
  # SA will never be supported here.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   441
  INCLUDE_SA = false
90ce3da70b43 Initial load
duke
parents:
diff changeset
   442
else
2055
e3166b387ec5 6755621: Include SA binaries into Windows JDK
poonam
parents: 1776
diff changeset
   443
  INCLUDE_SA = true
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   444
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   445
90ce3da70b43 Initial load
duke
parents:
diff changeset
   446
# 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
   447
VERSIONINFO_RESOURCE = $(BUILDDIR)/../src/windows/resource/version.rc
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   448
90ce3da70b43 Initial load
duke
parents:
diff changeset
   449
ifneq ($(JDK_BUILD_NUMBER),)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   450
 COOKED_BUILD_NUMBER = $(shell $(ECHO) $(JDK_BUILD_NUMBER) | $(SED) -e 's/^b//' -e 's/^0//')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   451
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   452
 COOKED_BUILD_NUMBER = 0
90ce3da70b43 Initial load
duke
parents:
diff changeset
   453
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   454
90ce3da70b43 Initial load
duke
parents:
diff changeset
   455
# If the update version contains non-numeric characters, we need
90ce3da70b43 Initial load
duke
parents:
diff changeset
   456
# to massage it into a numeric format. 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   457
# We use the following formula:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   458
# JDK_UPDATE_VER = JDK_UPDATE_VERSION * 10 + EXCEPTION_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   459
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   460
# Here are some examples:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   461
#     1.5.0    b01  ->  5,0,0,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   462
#     1.5.0_10 b01  ->  5,0,100,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   463
#     1.4.2 b01     ->  4,2,0,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   464
#     1.4.2_02 b01  ->  4,2,20,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   465
#     1.4.2_02a b01 ->  4,2,21,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   466
#     1.4.2_02b b01 ->  4,2,22,1
90ce3da70b43 Initial load
duke
parents:
diff changeset
   467
ifdef JDK_UPDATE_VERSION
90ce3da70b43 Initial load
duke
parents:
diff changeset
   468
  VTMP := $(shell $(ECHO) $(JDK_UPDATE_VERSION) | $(TR) "abcde" "12345")
90ce3da70b43 Initial load
duke
parents:
diff changeset
   469
  CAB_CHAR1 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 1, 1);}')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   470
  CAB_CHAR2 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 2, 1);}')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   471
  CAB_CHAR3 := $(shell $(ECHO) $(VTMP) | $(NAWK) '{print substr($$1, 3, 1);}')
90ce3da70b43 Initial load
duke
parents:
diff changeset
   472
  JDK_UPDATE_META_TAG := U$(MARKETING_NUMBER)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   473
  ifeq ($(CAB_CHAR3),)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   474
    CAB_CHAR3 := 0
90ce3da70b43 Initial load
duke
parents:
diff changeset
   475
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   476
  ifeq ($(CAB_CHAR1), 0)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   477
    JDK_UPDATE_VER := $(CAB_CHAR2)$(CAB_CHAR3)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   478
  else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   479
    JDK_UPDATE_VER := $(CAB_CHAR1)$(CAB_CHAR2)$(CAB_CHAR3)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   480
  endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   481
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   482
  JDK_UPDATE_VER := 0
90ce3da70b43 Initial load
duke
parents:
diff changeset
   483
endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   484
90ce3da70b43 Initial load
duke
parents:
diff changeset
   485
RC_FLAGS = /l 0x409 /r
90ce3da70b43 Initial load
duke
parents:
diff changeset
   486
90ce3da70b43 Initial load
duke
parents:
diff changeset
   487
ifeq ($(VARIANT), OPT)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   488
  RC_FLAGS += -d NDEBUG 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   489
else
90ce3da70b43 Initial load
duke
parents:
diff changeset
   490
  RC_FLAGS += $(MS_RC_DEBUG_OPTION)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   491
endif 
90ce3da70b43 Initial load
duke
parents:
diff changeset
   492
847
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   493
# 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
   494
JDK_RC_BUILD_ID = $(FULL_VERSION)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   495
JDK_RC_COMPANY = $(COMPANY_NAME)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   496
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
   497
JDK_RC_VER = \
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   498
    $(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
   499
JDK_RC_COPYRIGHT = Copyright \xA9 $(COPYRIGHT_YEAR)
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   500
JDK_RC_NAME = \
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   501
    $(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
   502
JDK_RC_FVER = \
530bfef1ed6f 6548261: Use of SE in make/common/Defs-windows.gmk
ohair
parents: 715
diff changeset
   503
    $(JDK_MINOR_VERSION),$(JDK_MICRO_VERSION),$(JDK_UPDATE_VER),$(COOKED_BUILD_NUMBER)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   504
3111
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   505
# JDK name required here
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   506
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
   507
            -d "JDK_COMPANY=$(JDK_RC_COMPANY)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   508
            -d "JDK_COMPONENT=$(JDK_RC_COMPONENT)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   509
            -d "JDK_VER=$(JDK_RC_VER)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   510
            -d "JDK_COPYRIGHT=$(JDK_RC_COPYRIGHT)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   511
            -d "JDK_NAME=$(JDK_RC_NAME)" \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   512
            -d "JDK_FVER=$(JDK_RC_FVER)"
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   513
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   514
# 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
   515
ifeq ($(ARCH_DATA_MODEL), 32)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   516
  ifneq ($(KERNEL), off)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   517
    # 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
   518
    # under /java/devtools.
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   519
    ifndef DEPLOY_TOPDIR
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   520
      DEPLOY_TOPDIR=$(JDK_TOPDIR)/../deploy
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   521
    endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   522
    # 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
   523
    #DCHK = $(shell if [ ! -d $(DEPLOY_TOPDIR) ] ; then \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   524
    #  $(ECHO) deploy_not_a_peer_of_j2se ; \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   525
    #fi )
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   526
    #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
   527
    #  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
   528
    #  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
   529
    #  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
   530
    #endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   531
    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
   532
      $(ECHO) true ; \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   533
    else \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   534
      $(ECHO) false ; \
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   535
    fi )
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   536
    ifeq ($(EC_TMP), true)
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   537
      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
   538
      # 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
   539
      # 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
   540
      # 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
   541
      # 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
   542
      # 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
   543
      EXTRA_COMP_LIB_NAME = lzma.dll
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   544
      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
   545
      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
   546
      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
   547
    endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   548
  endif
fefdeafb7ab9 6797688: Umbrella: Merge all JDK 6u4 - 6u12 deployment code into JDK7
herrick
parents: 2398
diff changeset
   549
endif