提交 71e715b5 编写于 作者: M mikejwre

Merge

...@@ -77,6 +77,11 @@ ifeq ($(ARCH_DATA_MODEL), 32) ...@@ -77,6 +77,11 @@ ifeq ($(ARCH_DATA_MODEL), 32)
MSVCPNN_DLL = msvcp90.dll MSVCPNN_DLL = msvcp90.dll
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL) MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
endif endif
ifeq ($(COMPILER_VERSION), VS2010)
MSVCRNN_DLL = msvcr100.dll
MSVCPNN_DLL = msvcp100.dll
MS_RUNTIME_LIBRARIES += $(MSVCRNN_DLL)
endif
endif endif
# C Compiler flag definitions # C Compiler flag definitions
...@@ -175,6 +180,20 @@ ifeq ($(CC_VERSION),msvc) ...@@ -175,6 +180,20 @@ ifeq ($(CC_VERSION),msvc)
CC_LOWER_OPT = -O1 CC_LOWER_OPT = -O1
endif endif
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 CC_NO_OPT = -Od
else # CC_VERSION else # CC_VERSION
# GCC not supported, but left for historical reference... # GCC not supported, but left for historical reference...
......
...@@ -97,6 +97,19 @@ ifeq ($(PLATFORM), windows) ...@@ -97,6 +97,19 @@ ifeq ($(PLATFORM), windows)
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
endif endif
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
# else ARCH_DATA_MODEL is 64 # else ARCH_DATA_MODEL is 64
ifndef LINK_VER ifndef LINK_VER
...@@ -144,11 +157,21 @@ ifeq ($(PLATFORM), windows) ...@@ -144,11 +157,21 @@ ifeq ($(PLATFORM), windows)
COMPILER_NAME=Windows SDK 6.1 Visual Studio 9 COMPILER_NAME=Windows SDK 6.1 Visual Studio 9
COMPILER_VERSION=VS2008 COMPILER_VERSION=VS2008
RC = $(MSSDK61)/bin/x64/rc RC = $(MSSDK61)/bin/x64/rc
REBASE = $(MSSDK61/bin/x64/rebase REBASE = $(MSSDK61)/bin/x64/rebase
else else
# This will cause problems if ALT_COMPILER_PATH is defined to "" ifeq ($(CC_MAJORVER), 16)
# which is a directive to use the PATH. # This should be: CC_VER=16.00.30319.01 LINK_VER=9.00.30319.01
REBASE = $(COMPILER_PATH)../REBASE 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 endif
ifndef COMPILER_PATH ifndef COMPILER_PATH
COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
......
...@@ -222,6 +222,17 @@ ifeq ($(ARCH_DATA_MODEL), 32) ...@@ -222,6 +222,17 @@ ifeq ($(ARCH_DATA_MODEL), 32)
ifneq ($(subst MSDev98,OLDOLDOLD,$(SHORTMSVCDIR)),$(SHORTMSVCDIR)) ifneq ($(subst MSDev98,OLDOLDOLD,$(SHORTMSVCDIR)),$(SHORTMSVCDIR))
SHORTMSVCDIR := SHORTMSVCDIR :=
endif 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? # If we still don't have it, look for VS71COMNTOOLS, setup by installer?
ifeq ($(SHORTMSVCDIR),) ifeq ($(SHORTMSVCDIR),)
ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7 ifdef VS71COMNTOOLS # /Common/Tools directory, use ../../Vc7
...@@ -272,24 +283,35 @@ endif ...@@ -272,24 +283,35 @@ endif
# Compilers for 64bit are from SDK # Compilers for 64bit are from SDK
ifeq ($(ARCH_DATA_MODEL), 64) ifeq ($(ARCH_DATA_MODEL), 64)
ifndef SHORTCOMPILERBIN ifndef SHORTCOMPILERBIN
xMSSDK61 :="C:/Program Files/Microsoft SDKs/Windows/v6.1/" ifdef VS100COMNTOOLS # /Common7/Tools directory, use ../../Vc
MSSDK61 :=$(call FullPath,$(xMSSDK61)) xVS100COMNTOOLS :="$(subst \,/,$(VS100COMNTOOLS))"
xVS2008 :="C:/Program Files (x86)/Microsoft Visual Studio 9.0/" _vs100tools :=$(call FullPath,$(xVS100COMNTOOLS))
_vs2008 :=$(call FullPath,$(xVS2008)) endif
ifneq ($(_vs2008),) ifneq ($(_vs100tools),)
ifeq ($(ARCH), ia64) SHORTCOMPILERBIN :=$(_vs100tools)/../../Vc/bin/amd64
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64 xMSSDK70 :="C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/"
endif MSSDK7 :=$(call FullPath,$(xMSSDK70))
ifeq ($(ARCH), amd64) export MSSDK7
SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/$(ARCH)
endif
else 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) ifeq ($(ARCH), ia64)
SHORTCOMPILERBIN :=$(SHORTPSDK)/Bin/Win64 SHORTCOMPILERBIN :=$(_vs2008)/VC/Bin/x86_ia64
endif endif
ifeq ($(ARCH), amd64) 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 endif
endif endif
......
...@@ -333,7 +333,11 @@ ifeq ($(PLATFORM), windows) ...@@ -333,7 +333,11 @@ ifeq ($(PLATFORM), windows)
endif endif
ARCH_FAMILY = $(ARCH) ARCH_FAMILY = $(ARCH)
# Where is unwanted output to be delivered? # 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 export DEV_NULL
# Classpath separator # Classpath separator
CLASSPATH_SEPARATOR = ; CLASSPATH_SEPARATOR = ;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册