Merge
This commit is contained in:
commit
4f076f9b13
@ -66,3 +66,4 @@ cf26288a114be67c39f2758959ce50b60f5ae330 jdk7-b85
|
||||
7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89
|
||||
425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90
|
||||
97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91
|
||||
5f5c33d417f3a14706b09a4a95e65fa7b6fa54d6 jdk7-b92
|
||||
|
@ -183,13 +183,13 @@
|
||||
<tr>
|
||||
<td>Windows X86 (32-bit)</td>
|
||||
<td>Windows XP</td>
|
||||
<td>Microsoft Visual Studio C++ 2008 Standard Edition</td>
|
||||
<td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
|
||||
<td>JDK 6u14 FCS </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Windows X64 (64-bit)</td>
|
||||
<td>Windows Server 2003 - Enterprise x64 Edition</td>
|
||||
<td>Microsoft Platform SDK - April 2005</td>
|
||||
<td>Microsoft Visual Studio C++ 2010 Professional Edition</td>
|
||||
<td>JDK 6u14 FCS </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -789,11 +789,7 @@
|
||||
</li>
|
||||
<li>
|
||||
Install the
|
||||
<a href="#msvc">Microsoft Visual Studio Compilers</a> (32-bit).
|
||||
</li>
|
||||
<li>
|
||||
Install the
|
||||
<a href="#mssdk">Microsoft Platform SDK</a>.
|
||||
<a href="#msvc">Microsoft Visual Studio Compilers</a>).
|
||||
</li>
|
||||
<li>
|
||||
Setup all environment variables for compilers
|
||||
@ -964,13 +960,28 @@
|
||||
</blockquote>
|
||||
<strong><a name="msvc">Windows i586: Microsoft Visual Studio Compilers</a></strong>
|
||||
<blockquote>
|
||||
<p>
|
||||
<b>BEGIN WARNING</b>: At this time (Spring/Summer 2010) JDK 7 is starting a transition to
|
||||
use the newest VS2010 Microsoft compilers. These build instructions are updated
|
||||
to show where we are going. We have a QA process to go through before
|
||||
official builds actually use VS2010. So for now, official builds are
|
||||
still using VS2003. No other compilers are known to build the entire JDK,
|
||||
including non-open portions.
|
||||
So for now you should be able to build with either VS2003 or VS2010.
|
||||
We do not guarantee that VS2008 will work, although there is sufficient
|
||||
makefile support to make at least basic JDK builds plausible.
|
||||
Visual Studio 2010 Express compilers are likely to be able to build all the
|
||||
"open" sources, with only small adjustments, but this has yet to be made
|
||||
to work. Also we have not yet seen the 7.1 Windows SDK with the 64 bit
|
||||
compilers. <b>END WARNING.</b>
|
||||
<p>
|
||||
The 32-bit OpenJDK Windows build
|
||||
requires
|
||||
Microsoft Visual Studio C++ 2008 (VS2008) Standard
|
||||
Microsoft Visual Studio C++ 2010 (VS2010) Professional
|
||||
Edition compiler.
|
||||
The compiler and other tools are expected to reside
|
||||
in the location defined by the variable
|
||||
<tt>VS90COMNTOOLS</tt> which
|
||||
<tt>VS100COMNTOOLS</tt> which
|
||||
is set by the Microsoft Visual Studio installer.
|
||||
<p>
|
||||
Once the compiler is installed,
|
||||
@ -982,36 +993,21 @@
|
||||
prior to building the
|
||||
OpenJDK.
|
||||
The above environment variables <b>MUST</b> be set.
|
||||
This compiler also contains the Windows SDK v 7.0a,
|
||||
which is an update to the Windows 7 SDK.
|
||||
<p>
|
||||
<b>WARNING:</b> Make sure you check out the
|
||||
<a href="#cygwin">CYGWIN link.exe WARNING</a>.
|
||||
The path <tt>/usr/bin</tt> must be after the path to the
|
||||
Visual Studio product.
|
||||
</blockquote>
|
||||
<strong><a name="mssdk">Windows: Microsoft Platform SDK</a></strong>
|
||||
<strong><a name="mssdk">Windows x64: Microsoft Visual Studio Compilers</a></strong>
|
||||
<blockquote>
|
||||
On <b>X64</b>, the Microsoft Platform Software
|
||||
Development Kit (SDK), April 2005 Edition compiler,
|
||||
is required for building the OpenJDK
|
||||
because it contains the C/C++ compiler.
|
||||
You will need to minimally install the Core SDK and
|
||||
the MDAC SDK features of this compiler.
|
||||
<p>
|
||||
Once the Platform SDK is installed,
|
||||
it is recommended that you run <tt>SetEnv.Cmd /X64</tt>
|
||||
to set the compiler environment variables
|
||||
<tt>MSSDK</tt>,
|
||||
<tt>MSTOOLS</tt>,
|
||||
<tt>INCLUDE</tt>,
|
||||
<tt>LIB</tt>, and
|
||||
<tt>PATH</tt>
|
||||
prior to building the
|
||||
OpenJDK.
|
||||
The above environment variables <b>MUST</b> be set.
|
||||
<p>
|
||||
This Platform SDK compiler is only used on X64 builds
|
||||
but other parts of the Platform SDK may be used
|
||||
for the X86 builds.
|
||||
On <b>X64</b>, the set up is much the same in VS2010
|
||||
except that you run <tt>amd64\VCVARS64.BAT</tt>
|
||||
to set the compiler environment variables.
|
||||
Previously 64 builds had used the 64 bit compiler in
|
||||
an unbundled Windows SDK but this is no longer necessary.
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
@ -1314,40 +1310,16 @@
|
||||
but it's normally found via the DirectX environment variable
|
||||
<tt>DXSDK_DIR</tt>.
|
||||
</blockquote>
|
||||
<strong><a name="msvcrt"><tt>MSVCRT.DLL</tt></a></strong>
|
||||
<strong><a name="msvcrt"><tt>MSVCR100.DLL</tt></a></strong>
|
||||
<blockquote>
|
||||
<strong>i586 only:</strong>
|
||||
The OpenJDK 32-bit build requires access to a redistributable
|
||||
<tt>MSVCRT.DLL</tt>.
|
||||
If the <tt>MSVCRT.DLL</tt> is not installed in
|
||||
the system32 directory set the
|
||||
The OpenJDK build requires access to a redistributable
|
||||
<tt>MSVCR100.DLL</tt>.
|
||||
This is usually picked up automatically from the redist
|
||||
directories of Visual Studio 2010.
|
||||
If this cannot be found set the
|
||||
<a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
|
||||
variable to the location of this file.
|
||||
<p>
|
||||
<strong>X64 only:</strong>
|
||||
The OpenJDK 64-bit build requires access to a redistributable
|
||||
<tt>MSVCRT.DLL</tt>, which is
|
||||
usually supplied by the
|
||||
<a href="#mssdk">Platform SDK</a>.
|
||||
If it is not available from the Platform SDK,
|
||||
set the
|
||||
<a href="#ALT_MSVCRT_DLL_PATH"><tt>ALT_MSVCRT_DLL_PATH</tt></a>
|
||||
variable to the location of this file.
|
||||
</blockquote>
|
||||
<strong><tt><a name="msvcr90">MSVCR90.DLL</a></tt></strong>
|
||||
<blockquote>
|
||||
<strong>i586 only:</strong>
|
||||
The
|
||||
OpenJDK
|
||||
build requires access to a redistributable
|
||||
<tt>MSVCR90.DLL</tt> which should be
|
||||
supplied by the
|
||||
<a href="#msvc">Visual Studio product</a>.
|
||||
If the <tt>MSVCR90.DLL</tt> is not available from the
|
||||
Visual Studio product
|
||||
set the
|
||||
<a href="#ALT_MSVCR90_DLL_PATH"><tt>ALT_MSVCR90_DLL_PATH</tt></a>
|
||||
variable to the location of this file.
|
||||
</blockquote>
|
||||
</blockquote>
|
||||
<!-- ------------------------------------------------------ -->
|
||||
@ -1623,11 +1595,10 @@
|
||||
The location of the
|
||||
<a href="#msvcrt"><tt>MSVCRT.DLL</tt></a>.
|
||||
</dd>
|
||||
<dt><tt><a name="ALT_MSVCR90_DLL_PATH">ALT_MSVCR90_DLL_PATH</a></tt> </dt>
|
||||
<dt><tt><a name="ALT_MSVCRNN_DLL_PATH">ALT_MSVCRNN_DLL_PATH</a></tt> </dt>
|
||||
<dd>
|
||||
<strong>i586 only:</strong>
|
||||
The location of the
|
||||
<a href="#msvcr90"><tt>MSVCR90.DLL</tt></a>.
|
||||
<a href="#msvcrt"><tt>MSVCR100.DLL</tt></a>.
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
|
@ -66,3 +66,4 @@ c67a9df7bc0ca291f08f9a9cc05cb78ea15d25e6 jdk7-b85
|
||||
bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89
|
||||
56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90
|
||||
bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91
|
||||
930582f667a13391cd0b3e41e8cb760f55e3a5c0 jdk7-b92
|
||||
|
@ -77,6 +77,11 @@ ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
MSVCPNN_DLL = msvcp90.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
MSVCRNN_DLL = msvcr100.dll
|
||||
MSVCPNN_DLL = msvcp100.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
endif
|
||||
|
||||
# C Compiler flag definitions
|
||||
@ -175,6 +180,20 @@ ifeq ($(CC_VERSION),msvc)
|
||||
CC_LOWER_OPT = -O1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -EHsc
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
else
|
||||
CC_HIGHEST_OPT = -O2
|
||||
CC_HIGHER_OPT = -O1
|
||||
CC_LOWER_OPT = -O1
|
||||
endif
|
||||
endif
|
||||
CC_NO_OPT = -Od
|
||||
else # CC_VERSION
|
||||
# GCC not supported, but left for historical reference...
|
||||
|
@ -97,6 +97,19 @@ ifeq ($(PLATFORM), windows)
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 16)
|
||||
# This should be: CC_VER=16.00.30319.01 LINK_VER=10.00.30319.01
|
||||
REQUIRED_CC_VER = 16.00.30319.01
|
||||
REQUIRED_LINK_VER = 10.00.30319.01
|
||||
COMPILER_NAME=Visual Studio 10
|
||||
COMPILER_VERSION=VS2010
|
||||
#rebase and midl moved out of Visual Studio into the SDK:
|
||||
REBASE = $(MSDEVTOOLS_PATH)/rebase
|
||||
MTL = $(MSDEVTOOLS_PATH)/midl.exe
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
# else ARCH_DATA_MODEL is 64
|
||||
ifndef LINK_VER
|
||||
@ -144,11 +157,21 @@ ifeq ($(PLATFORM), windows)
|
||||
COMPILER_NAME=Windows SDK 6.1 Visual Studio 9
|
||||
COMPILER_VERSION=VS2008
|
||||
RC = $(MSSDK61)/bin/x64/rc
|
||||
REBASE = $(MSSDK61/bin/x64/rebase
|
||||
REBASE = $(MSSDK61)/bin/x64/rebase
|
||||
else
|
||||
# This will cause problems if ALT_COMPILER_PATH is defined to ""
|
||||
# which is a directive to use the PATH.
|
||||
REBASE = $(COMPILER_PATH)../REBASE
|
||||
ifeq ($(CC_MAJORVER), 16)
|
||||
# This should be: CC_VER=16.00.30319.01 LINK_VER=9.00.30319.01
|
||||
REQUIRED_CC_VER = 16.00.30319.01
|
||||
REQUIRED_LINK_VER = 10.00.30319.01
|
||||
COMPILER_NAME=Microsoft Visual Studio 10
|
||||
COMPILER_VERSION=VS2010
|
||||
RC = $(MSSDK7)/bin/x64/rc
|
||||
REBASE = $(MSSDK7)/bin/x64/rebase
|
||||
else
|
||||
# This will cause problems if ALT_COMPILER_PATH is defined to ""
|
||||
# which is a directive to use the PATH.
|
||||
REBASE = $(COMPILER_PATH)../REBASE
|
||||
endif
|
||||
endif
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
|
@ -222,6 +222,17 @@ ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifneq ($(subst MSDev98,OLDOLDOLD,$(SHORTMSVCDIR)),$(SHORTMSVCDIR))
|
||||
SHORTMSVCDIR :=
|
||||
endif
|
||||
# If we still don't have it, look for VS100COMNTOOLS, setup by installer?
|
||||
ifeq ($(SHORTMSVCDIR),)
|
||||
ifdef VS100COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
|
||||
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs100tools),)
|
||||
SHORTMSVCDIR :=$(_vs100tools)/../../Vc
|
||||
endif
|
||||
endif
|
||||
export SHORTMSVCDIR
|
||||
# If we still don't have it, look for VS71COMNTOOLS, setup by installer?
|
||||
ifeq ($(SHORTMSVCDIR),)
|
||||
ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
|
||||
@ -272,24 +283,35 @@ endif
|
||||
# Compilers for 64bit are from SDK
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
ifndef SHORTCOMPILERBIN
|
||||
xMSSDK61 :="C:/Program Files/Microsoft SDKs/Windows/v6.1/"
|
||||
MSSDK61 :=$(call FullPath,$(xMSSDK61))
|
||||
xVS2008 :="C:/Program Files (x86)/Microsoft Visual Studio 9.0/"
|
||||
_vs2008 :=$(call FullPath,$(xVS2008))
|
||||
ifneq ($(_vs2008),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/$(ARCH)
|
||||
endif
|
||||
ifdef VS100COMNTOOLS # /Common7/Tools directory, use ../../Vc
|
||||
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
|
||||
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs100tools),)
|
||||
SHORTCOMPILERBIN :=$(_vs100tools)/../../Vc/bin/amd64
|
||||
xMSSDK70 :="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/"
|
||||
MSSDK7 :=$(call FullPath,$(xMSSDK70))
|
||||
export MSSDK7
|
||||
else
|
||||
ifneq ($(SHORTPSDK),)
|
||||
xMSSDK61 :="C:/Program Files/Microsoft SDKs/Windows/v6.1/"
|
||||
MSSDK61 :=$(call FullPath,$(xMSSDK61))
|
||||
xVS2008 :="C:/Program Files (x86)/Microsoft Visual Studio 9.0/"
|
||||
_vs2008 :=$(call FullPath,$(xVS2008))
|
||||
ifneq ($(_vs2008),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64
|
||||
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64/x86/$(ARCH)
|
||||
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/$(ARCH)
|
||||
endif
|
||||
else
|
||||
ifneq ($(SHORTPSDK),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64/x86/$(ARCH)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@ -333,7 +333,11 @@ ifeq ($(PLATFORM), windows)
|
||||
endif
|
||||
ARCH_FAMILY = $(ARCH)
|
||||
# Where is unwanted output to be delivered?
|
||||
DEV_NULL = NUL
|
||||
ifeq ($(USING_CYGWIN),true)
|
||||
DEV_NULL = /dev/null
|
||||
else
|
||||
DEV_NULL = NUL
|
||||
endif
|
||||
export DEV_NULL
|
||||
# Classpath separator
|
||||
CLASSPATH_SEPARATOR = ;
|
||||
|
@ -92,3 +92,4 @@ e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87
|
||||
605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90
|
||||
e0a1a502e402dbe7bf2d9102b4084a7e79a99a9b jdk7-b91
|
||||
25f53b53aaa3eb8b2d5391a1e8de9a76ae1dd8a2 hs18-b03
|
||||
3221d1887d30341bedfdac1dbf365ea41beff20f jdk7-b92
|
||||
|
@ -58,11 +58,11 @@ LINK_VER="$1"
|
||||
fi
|
||||
|
||||
if [ "x$LINK_VER" != "x800" -a "x$LINK_VER" != "x900" ]; then
|
||||
$DUMPBIN /symbols *.obj | "$GREP" "??_7.*@@6B@" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
|
||||
$DUMPBIN /symbols *.obj | "$GREP" "??_7.*@@6B@" | "$GREP" -v "type_info" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
|
||||
else
|
||||
# Can't use pipes when calling cl.exe or link.exe from IDE. Using transit file vm3.def
|
||||
$DUMPBIN /OUT:vm3.def /symbols *.obj
|
||||
"$CAT" vm3.def | "$GREP" "??_7.*@@6B@" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
|
||||
"$CAT" vm3.def | "$GREP" "??_7.*@@6B@" | "$GREP" -v "type_info" | "$AWK" '{print $7}' | "$SORT" | "$UNIQ" > vm2.def
|
||||
"$RM" -f vm3.def
|
||||
fi
|
||||
|
||||
|
@ -92,6 +92,7 @@ CPP=ARCH_ERROR
|
||||
# 1399 is our fake number for the VS2005 compiler that really isn't 1400
|
||||
# 1400 is for VS2005
|
||||
# 1500 is for VS2008
|
||||
# 1600 is for VS2010
|
||||
# Do not confuse this MSC_VER with the predefined macro _MSC_VER that the
|
||||
# compiler provides, when MSC_VER==1399, _MSC_VER will be 1400.
|
||||
# Normally they are the same, but a pre-release of the VS2005 compilers
|
||||
@ -121,6 +122,9 @@ COMPILER_NAME=VS2005
|
||||
!if "$(MSC_VER)" == "1500"
|
||||
COMPILER_NAME=VS2008
|
||||
!endif
|
||||
!if "$(MSC_VER)" == "1600"
|
||||
COMPILER_NAME=VS2010
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Add what version of the compiler we think this is to the compile line
|
||||
@ -183,6 +187,17 @@ LINK_FLAGS = /manifest $(LINK_FLAGS)
|
||||
MT=mt.exe
|
||||
!endif
|
||||
|
||||
!if "$(COMPILER_NAME)" == "VS2010"
|
||||
PRODUCT_OPT_OPTION = /O2 /Oy-
|
||||
FASTDEBUG_OPT_OPTION = /O2 /Oy-
|
||||
DEBUG_OPT_OPTION = /Od
|
||||
GX_OPTION = /EHsc
|
||||
LINK_FLAGS = /manifest $(LINK_FLAGS)
|
||||
# Manifest Tool - used in VS2005 and later to adjust manifests stored
|
||||
# as resources inside build artifacts.
|
||||
MT=mt.exe
|
||||
!endif
|
||||
|
||||
# Compile for space above time.
|
||||
!if "$(Variant)" == "kernel"
|
||||
PRODUCT_OPT_OPTION = /O1 /Oy-
|
||||
|
@ -55,6 +55,8 @@ ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),)
|
||||
MAKE_ARGS += Platform_arch_model=ia64
|
||||
endif
|
||||
|
||||
# http://support.microsoft.com/kb/888731 : this can be either
|
||||
# AMD64 for AMD, or EM64T for Intel chips.
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
@ -67,6 +69,19 @@ ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
|
||||
# NB later OS versions than 2003 may report "Intel64"
|
||||
ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) "EM64T\|Intel64"),)
|
||||
ARCH_DATA_MODEL=64
|
||||
PLATFORM=windows-amd64
|
||||
VM_PLATFORM=windows_amd64
|
||||
HS_ARCH=x86
|
||||
MAKE_ARGS += LP64=1
|
||||
MAKE_ARGS += ARCH=x86
|
||||
MAKE_ARGS += BUILDARCH=amd64
|
||||
MAKE_ARGS += Platform_arch=x86
|
||||
MAKE_ARGS += Platform_arch_model=x86_64
|
||||
endif
|
||||
|
||||
JDK_INCLUDE_SUBDIR=win32
|
||||
|
||||
# HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined
|
||||
|
@ -27,9 +27,9 @@
|
||||
all: checkCL checkLink
|
||||
|
||||
checkCL:
|
||||
@ if "$(MSC_VER)" NEQ "1310" if "$(MSC_VER)" NEQ "1399" if "$(MSC_VER)" NEQ "1400" if "$(MSC_VER)" NEQ "1500" \
|
||||
@ if "$(MSC_VER)" NEQ "1310" if "$(MSC_VER)" NEQ "1399" if "$(MSC_VER)" NEQ "1400" if "$(MSC_VER)" NEQ "1500" if "$(MSC_VER)" NEQ "1600" \
|
||||
echo *** WARNING *** unrecognized cl.exe version $(MSC_VER) ($(RAW_MSC_VER)). Use FORCE_MSC_VER to override automatic detection.
|
||||
|
||||
checkLink:
|
||||
@ if "$(LINK_VER)" NEQ "710" if "$(LINK_VER)" NEQ "800" if "$(LINK_VER)" NEQ "900" \
|
||||
@ if "$(LINK_VER)" NEQ "710" if "$(LINK_VER)" NEQ "800" if "$(LINK_VER)" NEQ "900" if "$(LINK_VER)" NEQ "1000" \
|
||||
echo *** WARNING *** unrecognized link.exe version $(LINK_VER) ($(RAW_LINK_VER)). Use FORCE_LINK_VER to override automatic detection.
|
||||
|
@ -290,7 +290,7 @@ void HeapRegion::setup_heap_region_size(uintx min_heap_size) {
|
||||
// Recalculate the region size to make sure it's a power of
|
||||
// 2. This means that region_size is the largest power of 2 that's
|
||||
// <= what we've calculated so far.
|
||||
region_size = 1 << region_size_log;
|
||||
region_size = ((uintx)1 << region_size_log);
|
||||
|
||||
// Now make sure that we don't go over or under our limits.
|
||||
if (region_size < MIN_REGION_SIZE) {
|
||||
|
@ -41,6 +41,26 @@
|
||||
# pragma optimize ( "", off )
|
||||
#endif
|
||||
|
||||
/* The above workaround now causes more problems with the latest MS compiler.
|
||||
* Visual Studio 2010's /GS option tries to guard against buffer overruns.
|
||||
* /GS is on by default if you specify optimizations, which we do globally
|
||||
* via /W3 /O2. However the above selective turning off of optimizations means
|
||||
* that /GS issues a warning "4748". And since we treat warnings as errors (/WX)
|
||||
* then the compilation fails. There are several possible solutions
|
||||
* (1) Remove that pragma above as obsolete with VS2010 - requires testing.
|
||||
* (2) Stop treating warnings as errors - would be a backward step
|
||||
* (3) Disable /GS - may help performance but you lose the security checks
|
||||
* (4) Disable the warning with "#pragma warning( disable : 4748 )"
|
||||
* (5) Disable planting the code with __declspec(safebuffers)
|
||||
* I've opted for (5) although we should investigate the local performance
|
||||
* benefits of (1) and global performance benefit of (3).
|
||||
*/
|
||||
#if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER >= 1600))
|
||||
#define SAFEBUF __declspec(safebuffers)
|
||||
#else
|
||||
#define SAFEBUF
|
||||
#endif
|
||||
|
||||
#include <math.h>
|
||||
|
||||
// VM_LITTLE_ENDIAN is #defined appropriately in the Makefiles
|
||||
@ -235,7 +255,7 @@ one = 1.0,
|
||||
two24B = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
|
||||
twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
|
||||
|
||||
static int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int *ipio2) {
|
||||
static SAFEBUF int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const int *ipio2) {
|
||||
int jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
|
||||
double z,fw,f[20],fq[20],q[20];
|
||||
|
||||
@ -451,7 +471,7 @@ pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
|
||||
pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
|
||||
pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
|
||||
|
||||
static int __ieee754_rem_pio2(double x, double *y) {
|
||||
static SAFEBUF int __ieee754_rem_pio2(double x, double *y) {
|
||||
double z,w,t,r,fn;
|
||||
double tx[3];
|
||||
int e0,i,j,nx,n,ix,hx,i0;
|
||||
|
@ -66,3 +66,4 @@ d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88
|
||||
d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89
|
||||
c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90
|
||||
b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91
|
||||
e6a40e4bb10499fb6ee9db71ab5654e5a17ab75b jdk7-b92
|
||||
|
@ -66,3 +66,4 @@ f051045fe94a48fae1097f90cbd9227e6aae6b7e jdk7-b81
|
||||
bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89
|
||||
ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90
|
||||
cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91
|
||||
df7c033f6a11c0973ab0e74701b1248aee9b659f jdk7-b92
|
||||
|
@ -66,3 +66,4 @@ b3c69282f6d3c90ec21056cd1ab70dc0c895b069 jdk7-b88
|
||||
4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89
|
||||
7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90
|
||||
08a31cab971fcad4695e913d0f3be7bde3a90747 jdk7-b91
|
||||
f2dce7210cc00453c23e53edeec7156f112ca382 jdk7-b92
|
||||
|
@ -152,7 +152,7 @@ $(UNPACK_EXE): $(UNPACK_EXE_FILES_o) updatefiles winres
|
||||
$(prep-target)
|
||||
$(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX)
|
||||
ifdef MT
|
||||
$(MT) /manifest $(TEMPDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1
|
||||
$(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1
|
||||
endif
|
||||
$(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE)
|
||||
$(install-module-file)
|
||||
|
@ -86,6 +86,11 @@ ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
MSVCPNN_DLL = msvcp90.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
MSVCRNN_DLL = msvcr100.dll
|
||||
MSVCPNN_DLL = msvcp100.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
@ -94,6 +99,11 @@ ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
MSVCPNN_DLL = msvcp90.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
MSVCRNN_DLL = msvcr100.dll
|
||||
MSVCPNN_DLL = msvcp100.dll
|
||||
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
|
||||
endif
|
||||
endif
|
||||
|
||||
EXTRA_LFLAGS += /LIBPATH:$(DXSDK_LIB_PATH)
|
||||
@ -155,6 +165,7 @@ ifeq ($(CC_VERSION),msvc)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -GX
|
||||
GZ_OPTION = -GZ
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_OPT/HIGHEST = -Ox -Gy -Os -GB
|
||||
CC_OPT/HIGHER = -Ox -Gy -Os -GB
|
||||
@ -171,6 +182,7 @@ ifeq ($(CC_VERSION),msvc)
|
||||
AUTOMATIC_PCH_OPTION = -YX
|
||||
# Also known as VC7 compiler
|
||||
GX_OPTION = -GX
|
||||
GZ_OPTION = -GZ
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
# Lowered opt level to try and reduce footprint, dll size especially.
|
||||
# Was: CC_OPT/HIGHEST = -O2 -G6
|
||||
@ -190,6 +202,7 @@ ifeq ($(CC_VERSION),msvc)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
# VS2005 compiler, only with Platform SDK right now?
|
||||
GX_OPTION = -EHsc
|
||||
GZ_OPTION = -RTC1
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_OPT/HIGHEST = -O2
|
||||
CC_OPT/HIGHER = -O1
|
||||
@ -204,6 +217,23 @@ ifeq ($(CC_VERSION),msvc)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -EHsc
|
||||
GZ_OPTION = -RTC1
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_OPT/HIGHEST = -O2
|
||||
CC_OPT/HIGHER = -O1
|
||||
CC_OPT/LOWER = -O1
|
||||
else
|
||||
CC_OPT/HIGHEST = -O2
|
||||
CC_OPT/HIGHER = -O1
|
||||
CC_OPT/LOWER = -O1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
# Automatic precompiled header option to use (if COMPILE_APPROACH=batch)
|
||||
AUTOMATIC_PCH_OPTION =
|
||||
GX_OPTION = -EHsc
|
||||
GZ_OPTION = -RTC1
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
CC_OPT/HIGHEST = -O2
|
||||
CC_OPT/HIGHER = -O1
|
||||
@ -282,6 +312,13 @@ ifeq ($(CC_VERSION),msvc)
|
||||
CFLAGS_OPT = $(CC_OPT)
|
||||
CFLAGS_DBG = -Od $(MS_RUNTIME_DEBUG_OPTION)
|
||||
|
||||
# REMIND: I don't see where CFLAGS_VS2005 is used. I suspect its
|
||||
# pulled in as a combined "CFLAGS_$(COMPILER_VERSION)" string
|
||||
# but the lack of this isn't causing any apparent build problems
|
||||
# with VS 2010 but it could be causing compiler warnings.
|
||||
# For now, I will add it for all cases :
|
||||
CFLAGS_VS2010 += -Zc:wchar_t-
|
||||
#
|
||||
# Starting from VS2005 the wchar_t is handled as a built-in C/C++ data type
|
||||
# by default. However, we expect the wchar_t to be a typedef to the
|
||||
# unsigned short data type. The -Zc:wchar_t- option restores the old
|
||||
@ -317,6 +354,7 @@ ifeq ($(CC_VERSION),msvc)
|
||||
|
||||
# VS2008 has bufferoverflow baked in:
|
||||
LFLAGS_VS2008 =
|
||||
LFLAGS_VS2010 =
|
||||
|
||||
# LFLAGS are the flags given to $(LINK) and used to build the actual DLL file
|
||||
BASELFLAGS = -nologo /opt:REF /incremental:no
|
||||
|
@ -357,6 +357,9 @@ initial-module-image-jdk:: initial-module-image-jdk-setup \
|
||||
$(MKDIR) -p $(JDK_MODULE_IMAGE_DIR)/bin
|
||||
$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
|
||||
$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
|
||||
endif
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifeq ($(COMPILER_VERSION), VS2003)
|
||||
$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_MODULE_IMAGE_DIR)/bin
|
||||
|
@ -749,6 +749,8 @@ initial-image-jre-sol64:: initial-image-jre-setup \
|
||||
$(RM) `$(FIND) $(JRE_IMAGE_DIR)/lib -name 'ir.idl'`
|
||||
|
||||
# Construct an initial jre image (initial jdk jre) no trimming or stripping
|
||||
# See "initial-image-jdk-setup" for an explanation of the rm of
|
||||
# drive names like C:
|
||||
initial-image-jre:: initial-image-jre-setup \
|
||||
$(JRE_LICENSES) $(JRE_DOCFILES) \
|
||||
$(RT_JAR) $(RESOURCES_JAR) $(JSSE_JAR) \
|
||||
@ -759,6 +761,10 @@ initial-image-jre:: initial-image-jre-setup \
|
||||
$(MKDIR) -p $(JRE_IMAGE_DIR)/lib/applet
|
||||
@# Copy in lib directory
|
||||
$(CD) $(OUTPUTDIR) && $(FIND) lib -depth | $(CPIO) -pdum $(JRE_IMAGE_DIR)
|
||||
ifeq ($(USING_CYGWIN),true)
|
||||
$(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]:
|
||||
$(RM) -rf $(OUTPUTDIR)/[A-Za-z]:
|
||||
endif
|
||||
@# Make sure all directories are read/execute for everyone
|
||||
$(CHMOD) a+rx `$(FIND) $(JRE_IMAGE_DIR) -type d`
|
||||
@# Remove some files from the jre area
|
||||
@ -858,11 +864,27 @@ endif
|
||||
######################################################
|
||||
# Note: cpio ($(CPIO)) sometimes leaves directories without rx access.
|
||||
|
||||
# REMIND: the $(RM) calls for patterns like c:, d: following $(CPIO)
|
||||
# are because the 1.7.x versions of cygwin's cpio command drops these
|
||||
# in the working directory if the output path begins with that pattern
|
||||
# The one for the output jre subdirectory gets there because cpio sees its
|
||||
# own dropping in the input jre subdirectory. Need to remove both of these.
|
||||
# We can remove these RM's if someone figures out how to stop cpio from
|
||||
# leaving these there.
|
||||
# Note that its a real problem not because this directory can end up in the
|
||||
# bundle (I think it won't since it not in bin or lib and those are the
|
||||
# only places from which we copy everything), but because the presence
|
||||
# of this file causes cygwin's find to bomb out, thus breaking the build
|
||||
# in "install".
|
||||
initial-image-jdk-setup:
|
||||
$(RM) -r $(JDK_IMAGE_DIR)
|
||||
$(MKDIR) -p $(JDK_IMAGE_DIR)/jre
|
||||
($(CD) $(JRE_IMAGE_DIR) && $(FIND) . -depth -print \
|
||||
| $(CPIO) -pdum $(JDK_IMAGE_DIR)/jre )
|
||||
ifeq ($(USING_CYGWIN),true)
|
||||
$(RM) -rf $(JRE_IMAGE_DIR)/[A-Za-z]:
|
||||
$(RM) -rf $(JDK_IMAGE_DIR)/jre/[A-Za-z]:
|
||||
endif
|
||||
$(RM) -rf $(JDK_IMAGE_DIR)/jre/man
|
||||
$(CHMOD) a+rx `$(FIND) $(JDK_IMAGE_DIR) -type d`
|
||||
|
||||
@ -923,6 +945,9 @@ initial-image-jdk:: initial-image-jdk-setup \
|
||||
$(MKDIR) -p $(JDK_IMAGE_DIR)/bin
|
||||
$(CP) $(BINDIR)/*$(EXE_SUFFIX) $(JDK_IMAGE_DIR)/bin
|
||||
$(CP) $(BINDIR)/jli.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
|
||||
ifeq ($(COMPILER_VERSION), VS2010)
|
||||
$(CP) $(BINDIR)/msvc*100.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
|
||||
endif
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
ifeq ($(COMPILER_VERSION), VS2003)
|
||||
$(CP) $(BINDIR)/msvc*71.$(LIBRARY_SUFFIX) $(JDK_IMAGE_DIR)/bin
|
||||
|
@ -67,7 +67,7 @@ ifeq ($(PLATFORM), windows)
|
||||
COMPILER_VERSION=VS2005
|
||||
REBASE = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase
|
||||
MTL = $(COMPILER_PATH)../../Common8/Tools/Bin/midl
|
||||
MT = $(MSDEVTOOLS_PATH)mt
|
||||
MT = $(MSDEVTOOLS_PATH)/mt
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
@ -83,6 +83,17 @@ ifeq ($(PLATFORM), windows)
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 16)
|
||||
COMPILER_NAME=Visual Studio 10
|
||||
COMPILER_VERSION=VS2010
|
||||
#rebase and midl moved out of Visual Studio into the SDK:
|
||||
REBASE = $(MSDEVTOOLS_PATH)/rebase
|
||||
MTL = $(MSDEVTOOLS_PATH)/midl.exe
|
||||
MT = $(MSDEVTOOLS_PATH)mt
|
||||
ifndef COMPILER_PATH
|
||||
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
# else ARCH_DATA_MODEL is 64
|
||||
LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
|
||||
@ -122,6 +133,15 @@ ifeq ($(PLATFORM), windows)
|
||||
COMPILER_VERSION=VS2008
|
||||
RC = $(MSSDK61)/Bin/X64/rc.exe
|
||||
MT = $(MSSDK61)/Bin/X64/mt.exe
|
||||
MTL = $(MSSDK61)/Bin/X64/midl.exe
|
||||
endif
|
||||
ifeq ($(CC_MAJORVER), 16)
|
||||
COMPILER_NAME=Microsoft Visual Studio 10 (16.00.30319.01)
|
||||
COMPILER_VERSION=VS2010
|
||||
RC = $(MSDEVTOOLS_PATH)/Bin/x64/rc.exe
|
||||
RSC = $(MSDEVTOOLS_PATH)/Bin/x64/rc.exe
|
||||
MT = $(MSDEVTOOLS_PATH)/Bin/x64/mt.exe
|
||||
MTL = $(MSDEVTOOLS_PATH)/Bin/X64/midl.exe
|
||||
endif
|
||||
# This will cause problems if ALT_COMPILER_PATH is defined to ""
|
||||
# which is a directive to use the PATH.
|
||||
|
@ -165,10 +165,10 @@ ifeq ($(PLATFORM), windows)
|
||||
REQUIRED_DXSDK_VER = 0x0900
|
||||
ifeq ($(CC_VERSION),msvc)
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
REQUIRED_COMPILER_NAME = Visual Studio 9
|
||||
REQUIRED_COMPILER_VERSION = VS2008
|
||||
REQUIRED_CC_VER = 15.00.21022.08
|
||||
REQUIRED_LINK_VER = 9.00.21022.08
|
||||
REQUIRED_COMPILER_NAME = Visual Studio 10
|
||||
REQUIRED_COMPILER_VERSION = VS2010
|
||||
REQUIRED_CC_VER = 16.00.30319.01
|
||||
REQUIRED_LINK_VER = 10.00.30319.01
|
||||
else
|
||||
ifeq ($(ARCH), ia64)
|
||||
REQUIRED_COMPILER_NAME = Microsoft Platform SDK - November 2001 Edition
|
||||
@ -177,10 +177,10 @@ ifeq ($(PLATFORM), windows)
|
||||
REQUIRED_LINK_VER = 7.00.9337.7
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
REQUIRED_COMPILER_NAME = Microsoft Windows SDK with Visual Studio 9 (6001.18000.367)
|
||||
REQUIRED_COMPILER_VERSION = VS2008
|
||||
REQUIRED_CC_VER = 15.00.21022.08
|
||||
REQUIRED_LINK_VER = 9.00.21022.08
|
||||
REQUIRED_COMPILER_NAME = Visual Studio 10
|
||||
REQUIRED_COMPILER_VERSION = VS2010
|
||||
REQUIRED_CC_VER = 16.00.30319.01
|
||||
REQUIRED_LINK_VER = 10.00.30319.01
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@ -248,26 +248,34 @@ ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
# If we still don't have it, look for VSnnCOMNTOOLS (newest first),
|
||||
# set by installer?
|
||||
ifeq ($(_msvc_dir),)
|
||||
ifdef VS90COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS90COMNTOOLS :="$(subst \,/,$(VS90COMNTOOLS))"
|
||||
_vs90tools :=$(call FullPath,$(xVS90COMNTOOLS))
|
||||
ifdef VS100COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
|
||||
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs90tools),)
|
||||
_msvc_dir :=$(_vs90tools)/../../Vc
|
||||
ifneq ($(_vs100tools),)
|
||||
_msvc_dir :=$(_vs100tools)/../../Vc
|
||||
else
|
||||
ifdef VS80COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS80COMNTOOLS :="$(subst \,/,$(VS80COMNTOOLS))"
|
||||
_vs80tools :=$(call FullPath,$(xVS80COMNTOOLS))
|
||||
ifdef VS90COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS90COMNTOOLS :="$(subst \,/,$(VS90COMNTOOLS))"
|
||||
_vs90tools :=$(call FullPath,$(xVS90COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs80tools),)
|
||||
_msvc_dir :=$(_vs80tools)/../../Vc
|
||||
ifneq ($(_vs90tools),)
|
||||
_msvc_dir :=$(_vs90tools)/../../Vc
|
||||
else
|
||||
ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
|
||||
xVS71COMNTOOLS :="$(subst \,/,$(VS71COMNTOOLS))"
|
||||
_vs71tools :=$(call FullPath,$(xVS71COMNTOOLS))
|
||||
ifdef VS80COMNTOOLS # /Common/Tools directory, use ../../Vc
|
||||
xVS80COMNTOOLS :="$(subst \,/,$(VS80COMNTOOLS))"
|
||||
_vs80tools :=$(call FullPath,$(xVS80COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs71tools),)
|
||||
_msvc_dir :=$(_vs71tools)/../../Vc7
|
||||
ifneq ($(_vs80tools),)
|
||||
_msvc_dir :=$(_vs80tools)/../../Vc
|
||||
else
|
||||
ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
|
||||
xVS71COMNTOOLS :="$(subst \,/,$(VS71COMNTOOLS))"
|
||||
_vs71tools :=$(call FullPath,$(xVS71COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs71tools),)
|
||||
_msvc_dir :=$(_vs71tools)/../../Vc7
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@ -276,12 +284,15 @@ ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
_compiler_bin :=$(_msvc_dir)/Bin
|
||||
# Assume PlatformSDK is in VS71 (will be empty if VS90)
|
||||
_ms_sdk :=$(call FullPath,$(_msvc_dir)/PlatformSDK)
|
||||
# Assume VS90, then VS80, then VS71
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC90.CRT)
|
||||
# Assume VS100, then VS90, then VS80, then VS71
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC100.CRT)
|
||||
ifeq ($(_redist_sdk),)
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC80.CRT)
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC90.CRT)
|
||||
ifeq ($(_redist_sdk),)
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/../SDK/v1.1/Bin)
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/redist/x86/Microsoft.VC80.CRT)
|
||||
ifeq ($(_redist_sdk),)
|
||||
_redist_sdk :=$(call FullPath,$(_msvc_dir)/../SDK/v1.1/Bin)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@ -316,23 +327,40 @@ ifeq ($(_ms_sdk),)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Compilers for 64bit are from SDK
|
||||
# Compilers for 64bit may be from SDK. For VS 2010 we use those.
|
||||
# The Express compilers don't contain 64 bit compilers, so in
|
||||
# that case, you additionally need the SDK. At this time,
|
||||
# there's no 64 bit SDK available that has VS 2010.
|
||||
# Presumably SDK v7.1 will provide that and we may want to update
|
||||
# the logic here to work with that.
|
||||
# However official builds will use the Professional version.
|
||||
ifeq ($(ARCH_DATA_MODEL), 64)
|
||||
xVS2008 :="$(_program_files32)/Microsoft Visual Studio 9.0/"
|
||||
VS2008 :=$(call FullPath,$(xVS2008))
|
||||
ifneq ($(VS2008),)
|
||||
_compiler_bin :=$(VS2008)/VC/Bin/$(ARCH)
|
||||
xMSSDK61 :="$(_program_files)/Microsoft SDKs/Windows/v6.1/"
|
||||
MSSDK61 :=$(call FullPath,$(xMSSDK61))
|
||||
_redist_sdk :=$(VS2008)/VC/redist/x86/Microsoft.VC90.CRT
|
||||
ifdef VS100COMNTOOLS # /Common7/Tools directory, use ../../Vc
|
||||
xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
|
||||
_vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
|
||||
endif
|
||||
ifneq ($(_vs100tools),)
|
||||
_compiler_bin :=$(_vs100tools)/../../Vc/bin/amd64
|
||||
_redist_sdk :=$(_vs100tools)/../../Vc/redist/x64/Microsoft.VC100.CRT
|
||||
xMSSDK70 :="$(_program_files32)/Microsoft SDKs/Windows/v7.0a/"
|
||||
MSSDK70 :=$(call FullPath,$(xMSSDK70))
|
||||
else
|
||||
ifneq ($(_ms_sdk),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
_compiler_bin :=$(_ms_sdk)/Bin/Win64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
_compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH)
|
||||
_redist_sdk :=$(_ms_sdk)/redist/win64/AMD64
|
||||
xVS2008 :="$(_program_files32)/Microsoft Visual Studio 9.0/"
|
||||
VS2008 :=$(call FullPath,$(xVS2008))
|
||||
ifneq ($(VS2008),)
|
||||
_compiler_bin :=$(VS2008)/VC/Bin/$(ARCH)
|
||||
xMSSDK61 :="$(_program_files)/Microsoft SDKs/Windows/v6.1/"
|
||||
MSSDK61 :=$(call FullPath,$(xMSSDK61))
|
||||
_redist_sdk :=$(VS2008)/VC/redist/x86/Microsoft.VC90.CRT
|
||||
else
|
||||
ifneq ($(_ms_sdk),)
|
||||
ifeq ($(ARCH), ia64)
|
||||
_compiler_bin :=$(_ms_sdk)/Bin/Win64
|
||||
endif
|
||||
ifeq ($(ARCH), amd64)
|
||||
_compiler_bin :=$(_ms_sdk)/Bin/Win64/x86/$(ARCH)
|
||||
_redist_sdk :=$(_ms_sdk)/redist/win64/AMD64
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@ -454,10 +482,14 @@ MSVCRT_DLL_PATH:=$(call AltCheckValue,MSVCRT_DLL_PATH)
|
||||
ifeq ($(ARCH_DATA_MODEL), 32)
|
||||
_NEEDS_MSVCRNN = true
|
||||
else
|
||||
ifeq ($(VS2008),)
|
||||
_NEEDS_MSVCRNN = false
|
||||
else
|
||||
ifneq ($(VS2010),)
|
||||
_NEEDS_MSVCRNN = true
|
||||
else
|
||||
ifneq ($(VS2008),)
|
||||
_NEEDS_MSVCRNN = true
|
||||
else
|
||||
_NEEDS_MSVCRNN = false
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -557,6 +589,17 @@ else
|
||||
endif
|
||||
CSCRIPT:=$(call AltCheckSpaces,CSCRIPT)
|
||||
|
||||
# CABARC: path to cabarc.exe (used in creating install bundles)
|
||||
ifdef ALT_CABARC
|
||||
xALT_CABARC :="$(subst \,/,$(ALT_CABARC))"
|
||||
CABARC =$(xALT_CABARC)
|
||||
else
|
||||
_CABARC1 :=$(_system_root)/system32/cabarc.exe
|
||||
_CABARC2 :=$(DEVTOOLS_PATH)cabarc.exe
|
||||
CABARC :=$(call FileExists,$(_CABARC1),$(_CABARC2))
|
||||
endif
|
||||
CABARC:=$(call AltCheckSpaces,CABARC)
|
||||
|
||||
# MSIVAL2: path to msival2.exe (used in validating install msi files)
|
||||
ifdef ALT_MSIVAL2
|
||||
xALT_MSIVAL2 :="$(subst \,/,$(ALT_MSIVAL2))"
|
||||
|
@ -275,7 +275,12 @@ ifeq ($(PLATFORM), windows)
|
||||
endif
|
||||
ARCH_FAMILY = $(ARCH)
|
||||
# Where is unwanted output to be delivered?
|
||||
DEV_NULL = NUL
|
||||
# MKS uses the special file "NUL", cygwin uses the customary unix file.
|
||||
ifeq ($(USING_CYGWIN),true)
|
||||
DEV_NULL = /dev/null
|
||||
else
|
||||
DEV_NULL = NUL
|
||||
endif
|
||||
export DEV_NULL
|
||||
# Classpath separator
|
||||
CLASSPATH_SEPARATOR = ;
|
||||
|
@ -33,14 +33,16 @@
|
||||
#include "defines.h"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER > 1400
|
||||
#if _MSC_VER > 1400 && _MSC_VER < 1600
|
||||
|
||||
/*
|
||||
* When building for Microsoft Windows, main has a dependency on msvcr??.dll.
|
||||
*
|
||||
* When using Visual Studio 2005 or later, that must be recorded in
|
||||
* When using Visual Studio 2005 or 2008, that must be recorded in
|
||||
* the [java,javaw].exe.manifest file.
|
||||
*
|
||||
* As of VS2010 (ver=1600), the runtimes again no longer need manifests.
|
||||
*
|
||||
* Reference:
|
||||
* C:/Program Files/Microsoft SDKs/Windows/v6.1/include/crtdefs.h
|
||||
*/
|
||||
@ -67,7 +69,7 @@
|
||||
"publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")
|
||||
|
||||
#endif /* _M_AMD64 */
|
||||
#endif /* _MSC_VER > 1400 */
|
||||
#endif /* _MSC_VER > 1400 && _MSC_VER < 1600 */
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
/*
|
||||
|
@ -148,11 +148,18 @@ LoadMSVCRT()
|
||||
* assumed to be present in the "JRE path" directory. If it is not found
|
||||
* there (or "JRE path" fails to resolve), skip the explicit load and let
|
||||
* nature take its course, which is likely to be a failure to execute.
|
||||
* This is clearly completely specific to the exact compiler version
|
||||
* which isn't very nice, but its hardly the only place.
|
||||
* No attempt to look for compiler versions in between 2003 and 2010
|
||||
* as we aren't supporting building with those.
|
||||
*/
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER < 1400
|
||||
#define CRT_DLL "msvcr71.dll"
|
||||
#endif
|
||||
#if _MSC_VER >= 1600
|
||||
#define CRT_DLL "msvcr100.dll"
|
||||
#endif
|
||||
#ifdef CRT_DLL
|
||||
if (GetJREPath(crtpath, MAXPATHLEN)) {
|
||||
(void)JLI_StrCat(crtpath, "\\bin\\" CRT_DLL); /* Add crt dll */
|
||||
|
@ -29,7 +29,10 @@
|
||||
|
||||
#define STRICT
|
||||
#ifndef _WIN32_WINNT
|
||||
#define _WIN32_WINNT 0x0400
|
||||
/* REMIND : 0x500 means Windows 2000 .. seems like we can update
|
||||
* for Windows XP when we move the SDK and build platform
|
||||
*/
|
||||
#define _WIN32_WINNT 0x0500
|
||||
#endif
|
||||
#define _ATL_APARTMENT_THREADED
|
||||
|
||||
|
@ -29,7 +29,10 @@
|
||||
|
||||
#define STRICT
|
||||
#ifndef _WIN32_WINNT
|
||||
#define _WIN32_WINNT 0x0400
|
||||
/* REMIND : 0x500 means Windows 2000 .. seems like we can update
|
||||
* for Windows XP when we move the SDK and build platform
|
||||
*/
|
||||
#define _WIN32_WINNT 0x0500
|
||||
#endif
|
||||
#define _ATL_APARTMENT_THREADED
|
||||
|
||||
|
@ -36,7 +36,10 @@
|
||||
|
||||
#define STRICT
|
||||
#ifndef _WIN32_WINNT
|
||||
#define _WIN32_WINNT 0x0400
|
||||
/* REMIND : 0x500 means Windows 2000 .. seems like we can update
|
||||
* for Windows XP when we move the SDK and build platform
|
||||
*/
|
||||
#define _WIN32_WINNT 0x0500
|
||||
#endif
|
||||
#define _ATL_APARTMENT_THREADED
|
||||
|
||||
|
@ -233,7 +233,19 @@ void AwtDesktopProperties::GetNonClientParameters() {
|
||||
//
|
||||
NONCLIENTMETRICS ncmetrics;
|
||||
|
||||
ncmetrics.cbSize = sizeof(ncmetrics);
|
||||
// Fix for 6944516: specify correct size for ncmetrics on WIN2K/XP
|
||||
// Microsoft recommend to subtract the size of 'iPaddedBorderWidth' field
|
||||
// when running on XP. However this can't be referenced at compile time
|
||||
// with the older SDK, so there use 'lfMessageFont' plus its size.
|
||||
if (!IS_WINVISTA) {
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600) {
|
||||
ncmetrics.cbSize = offsetof(NONCLIENTMETRICS, iPaddedBorderWidth);
|
||||
#else
|
||||
ncmetrics.cbSize = offsetof(NONCLIENTMETRICS,lfMessageFont) + sizeof(LOGFONT);
|
||||
#endif
|
||||
} else {
|
||||
ncmetrics.cbSize = sizeof(ncmetrics);
|
||||
}
|
||||
VERIFY( SystemParametersInfo(SPI_GETNONCLIENTMETRICS, ncmetrics.cbSize, &ncmetrics, FALSE) );
|
||||
|
||||
SetFontProperty( TEXT("win.frame.captionFont"), ncmetrics.lfCaptionFont );
|
||||
|
@ -29,21 +29,16 @@
|
||||
//we need <new> inclusion for STL "new" oprators set.
|
||||
#define bad_alloc zbad_alloc
|
||||
#include <new>
|
||||
#pragma pop_macro("bad_alloc")
|
||||
//"bad_alloc" is undefined from here
|
||||
|
||||
//we need to include any STL container before <awt.h> inclusion due to
|
||||
//"new" re-redefinition that is in conflict with in-place new allocator
|
||||
//applied in STL.
|
||||
#if defined(_DEBUG) || defined(DEBUG)
|
||||
//forward declaration of "new" operator from <awt.h>
|
||||
extern void * operator new(size_t size, const char * filename, int linenumber);
|
||||
//"new" operator definition that is consistent with re-defined
|
||||
//in <awt.h> "delete" operator
|
||||
void * operator new(size_t size) {return operator new(size, "stl", 1);}
|
||||
extern void * operator new(size_t size, const char * filename, int linenumber);
|
||||
void * operator new(size_t size) {return operator new(size, "stl", 1);}
|
||||
#endif
|
||||
#include <map>
|
||||
|
||||
#pragma pop_macro("bad_alloc")
|
||||
//"bad_alloc" is undefined from here
|
||||
|
||||
#include <awt.h>
|
||||
#include <shlobj.h>
|
||||
|
||||
|
@ -758,7 +758,7 @@ AwtTextArea::HandleEvent(MSG *msg, BOOL synthetic)
|
||||
si.cbSize = sizeof(SCROLLINFO);
|
||||
si.fMask = SIF_POS | SIF_RANGE | SIF_PAGE;
|
||||
int actualScrollLines =
|
||||
abs(platfScrollLines * (*delta_accum / WHEEL_DELTA));
|
||||
abs((int)(platfScrollLines * (*delta_accum / WHEEL_DELTA)));
|
||||
for (int i = 0; i < actualScrollLines; i++) {
|
||||
if (::GetScrollInfo(hWnd, sb_type, &si)) {
|
||||
if ((wm_msg == WM_VSCROLL)
|
||||
|
Loading…
Reference in New Issue
Block a user