corba/make/common/shared/Compiler-msvc.gmk
changeset 1347 1b32e0d45be0
parent 4 02bb8761fcce
child 1642 fc350fcb122a
equal deleted inserted replaced
1266:c2036bf76829 1347:1b32e0d45be0
    45   REQUIRED_LINK_VER=
    45   REQUIRED_LINK_VER=
    46   
    46   
    47   # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
    47   # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
    48   NMAKE          = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
    48   NMAKE          = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
    49 
    49 
       
    50   # Compiler version and type (Always get word after "Version")
       
    51   CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}')
       
    52   
    50   # SDK-64 and MSVC6 put REBASE.EXE in a different places - go figure...
    53   # SDK-64 and MSVC6 put REBASE.EXE in a different places - go figure...
    51   ifeq ($(ARCH_DATA_MODEL), 32)
    54   ifeq ($(ARCH_DATA_MODEL), 32)
    52     CC_VER  := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$8}')
       
    53     LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
    55     LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
    54     CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$5}')
       
    55     CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
    56     CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
    56     REQUIRED_CCTYPE = Optimizing
       
    57     REQUIRED_CC_VER = 13.10.3077
       
    58     REQUIRED_LINK_VER = 7.10.3077
       
    59     ifeq ($(CC_MAJORVER), 12)
       
    60       # This should be: CC_VER=12.00.8168 LINK_VER=6.00.8447
       
    61       COMPILER_NAME=Visual C++ 6.0 Professional + VC6-SP 3
       
    62       COMPILER_VERSION=VC6
       
    63       REBASE     = $(COMPILER_PATH)rebase
       
    64       MTL        = $(COMPILER_PATH)midl
       
    65     endif
       
    66     ifeq ($(CC_MAJORVER), 13)
    57     ifeq ($(CC_MAJORVER), 13)
    67       # This should be: CC_VER=13.10.3077 LINK_VER=7.10.3077
    58       # This should be: CC_VER=13.10.3077 LINK_VER=7.10.3077
       
    59       REQUIRED_CC_VER = 13.10.3077
       
    60       REQUIRED_LINK_VER = 7.10.3077
    68       COMPILER_NAME=Visual Studio .NET 2003 Professional C++
    61       COMPILER_NAME=Visual Studio .NET 2003 Professional C++
    69       COMPILER_VERSION=VS2003
    62       COMPILER_VERSION=VS2003
    70       REBASE     = $(COMPILER_PATH)../../Common7/Tools/Bin/rebase
    63       REBASE     = $(COMPILER_PATH)../../Common7/Tools/Bin/rebase
    71       MTL        = $(COMPILER_PATH)../../Common7/Tools/Bin/midl
    64       MTL        = $(COMPILER_PATH)../../Common7/Tools/Bin/midl
    72       ifndef COMPILER_PATH
    65       ifndef COMPILER_PATH
    73 	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
    66 	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
    74       endif
    67       endif
    75     endif
    68     endif
    76     ifeq ($(CC_MAJORVER), 14)
    69     ifeq ($(CC_MAJORVER), 14)
    77       # This should be: CC_VER=14.00.0000 LINK_VER=8.00.0000
    70       # This should be: CC_VER=14.00.50727.42 LINK_VER=8.00.50727.42
    78       # NOTE: This compiler has not been tried yet on 32bit systems
    71       REQUIRED_CC_VER = 14.00.50727.42
    79       COMPILER_NAME=Visual Studio .NET 2005
    72       REQUIRED_LINK_VER = 8.00.50727.42
       
    73       COMPILER_NAME=Visual Studio 8
    80       COMPILER_VERSION=VS2005
    74       COMPILER_VERSION=VS2005
    81       REBASE     = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase
    75       REBASE     = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase
    82       MTL        = $(COMPILER_PATH)../../Common8/Tools/Bin/midl
    76       MTL        = $(COMPILER_PATH)../../Common8/Tools/Bin/midl
    83       ifndef COMPILER_PATH
    77       ifndef COMPILER_PATH
    84 	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
    78 	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
    85       endif
    79       endif
    86     endif
    80     endif
       
    81     ifeq ($(CC_MAJORVER), 15)
       
    82       # This should be: CC_VER=15.00.21022.08 LINK_VER=9.00.21022.08
       
    83       REQUIRED_CC_VER = 15.00.21022.08
       
    84       REQUIRED_LINK_VER = 9.00.21022.08
       
    85       COMPILER_NAME=Visual Studio 9
       
    86       COMPILER_VERSION=VS2008
       
    87       #rebase and midl moved out of Visual Studio into the SDK:
       
    88       REBASE     = $(MSDEVTOOLS_PATH)/rebase
       
    89       MTL        = $(MSDEVTOOLS_PATH)/midl.exe
       
    90       ifndef COMPILER_PATH
       
    91 	COMPILER_PATH := $(error COMPILER_PATH cannot be empty here)
       
    92       endif
       
    93     endif
    87   else
    94   else
    88     CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$7}')
    95     # else ARCH_DATA_MODEL is 64
    89     LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
    96     LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}')
    90     CC_TYPE := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(NAWK) '{print $$4}')
       
    91     CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
    97     CC_MAJORVER :=$(call MajorVersion,$(CC_VER))
    92     CC_MINORVER :=$(call MinorVersion,$(CC_VER))
    98     CC_MINORVER :=$(call MinorVersion,$(CC_VER))
    93     CC_MICROVER :=$(call MicroVersion,$(CC_VER))
    99     CC_MICROVER :=$(call MicroVersion,$(CC_VER))
    94     ifeq ($(ARCH), ia64)
   100     ifeq ($(ARCH), ia64)
    95       REQUIRED_CC_VER = 13.00.9337.7
   101       REQUIRED_CC_VER = 13.00.9337.7