changeset 199:ee2d8f1bef5b

6931180: Migration to recent versions of MS Platform SDK Summary: Changes to enable building JDK7 with Microsoft Visual Studio 2010 Reviewed-by: ohair, art, ccheung, dcubed
author prr
date Tue, 11 May 2010 14:35:21 -0700
parents 930582f667a1
children 9718d624864c
files make/common/Defs-windows.gmk make/common/shared/Compiler-msvc.gmk make/common/shared/Defs-windows.gmk make/common/shared/Platform.gmk
diffstat 4 files changed, 87 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/make/common/Defs-windows.gmk	Thu Apr 29 14:32:40 2010 -0700
+++ b/make/common/Defs-windows.gmk	Tue May 11 14:35:21 2010 -0700
@@ -77,6 +77,11 @@
     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 @@
       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...
--- a/make/common/shared/Compiler-msvc.gmk	Thu Apr 29 14:32:40 2010 -0700
+++ b/make/common/shared/Compiler-msvc.gmk	Tue May 11 14:35:21 2010 -0700
@@ -97,6 +97,19 @@
 	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 @@
       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)
--- a/make/common/shared/Defs-windows.gmk	Thu Apr 29 14:32:40 2010 -0700
+++ b/make/common/shared/Defs-windows.gmk	Tue May 11 14:35:21 2010 -0700
@@ -222,6 +222,17 @@
     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 @@
 # 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
--- a/make/common/shared/Platform.gmk	Thu Apr 29 14:32:40 2010 -0700
+++ b/make/common/shared/Platform.gmk	Tue May 11 14:35:21 2010 -0700
@@ -333,7 +333,11 @@
   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 = ;