Sun, 02 May 2010 15:49:15 -0700
Merge
duke@1 | 1 | # |
xdono@49 | 2 | # Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved. |
duke@1 | 3 | # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@1 | 4 | # |
duke@1 | 5 | # This code is free software; you can redistribute it and/or modify it |
duke@1 | 6 | # under the terms of the GNU General Public License version 2 only, as |
duke@1 | 7 | # published by the Free Software Foundation. Sun designates this |
duke@1 | 8 | # particular file as subject to the "Classpath" exception as provided |
duke@1 | 9 | # by Sun in the LICENSE file that accompanied this code. |
duke@1 | 10 | # |
duke@1 | 11 | # This code is distributed in the hope that it will be useful, but WITHOUT |
duke@1 | 12 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@1 | 13 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@1 | 14 | # version 2 for more details (a copy is included in the LICENSE file that |
duke@1 | 15 | # accompanied this code). |
duke@1 | 16 | # |
duke@1 | 17 | # You should have received a copy of the GNU General Public License version |
duke@1 | 18 | # 2 along with this work; if not, write to the Free Software Foundation, |
duke@1 | 19 | # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@1 | 20 | # |
duke@1 | 21 | # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, |
duke@1 | 22 | # CA 95054 USA or visit www.sun.com if you need additional information or |
duke@1 | 23 | # have any questions. |
duke@1 | 24 | # |
duke@1 | 25 | |
duke@1 | 26 | # |
duke@1 | 27 | # MSVC Compiler settings |
duke@1 | 28 | # |
duke@1 | 29 | |
duke@1 | 30 | ifeq ($(PLATFORM), windows) |
duke@1 | 31 | CC = $(COMPILER_PATH)cl |
duke@1 | 32 | CPP = $(COMPILER_PATH)cl |
duke@1 | 33 | CXX = $(COMPILER_PATH)cl |
duke@1 | 34 | CCC = $(COMPILER_PATH)cl |
duke@1 | 35 | LIBEXE = $(COMPILER_PATH)lib |
duke@1 | 36 | LINK = $(COMPILER_PATH)link |
duke@1 | 37 | RC = $(MSDEVTOOLS_PATH)rc |
duke@1 | 38 | LINK32 = $(LINK) |
duke@1 | 39 | RSC = $(RC) |
duke@1 | 40 | |
duke@1 | 41 | # Fill in unknown values |
duke@1 | 42 | COMPILER_NAME=Unknown MSVC Compiler |
duke@1 | 43 | COMPILER_VERSION= |
duke@1 | 44 | REQUIRED_CC_VER= |
duke@1 | 45 | REQUIRED_LINK_VER= |
duke@1 | 46 | |
duke@1 | 47 | # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake |
duke@1 | 48 | NMAKE = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo |
duke@1 | 49 | |
tbell@33 | 50 | # Compiler version and type (Always get word after "Version") |
ohair@114 | 51 | ifndef CC_VER |
ohair@114 | 52 | CC_VER := $(shell $(CC) 2>&1 | $(HEAD) -n 1 | $(SED) 's/.*\(Version.*\)/\1/' | $(NAWK) '{print $$2}') |
ohair@114 | 53 | export CC_VER |
ohair@114 | 54 | endif |
ohair@114 | 55 | |
duke@1 | 56 | # SDK-64 and MSVC6 put REBASE.EXE in a different places - go figure... |
duke@1 | 57 | ifeq ($(ARCH_DATA_MODEL), 32) |
ohair@114 | 58 | ifndef LINK_VER |
ohair@114 | 59 | LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}') |
ohair@114 | 60 | export LINK_VER |
ohair@114 | 61 | endif |
duke@1 | 62 | CC_MAJORVER :=$(call MajorVersion,$(CC_VER)) |
duke@1 | 63 | ifeq ($(CC_MAJORVER), 13) |
duke@1 | 64 | # This should be: CC_VER=13.10.3077 LINK_VER=7.10.3077 |
tbell@33 | 65 | REQUIRED_CC_VER = 13.10.3077 |
tbell@33 | 66 | REQUIRED_LINK_VER = 7.10.3077 |
duke@1 | 67 | COMPILER_NAME=Visual Studio .NET 2003 Professional C++ |
duke@1 | 68 | COMPILER_VERSION=VS2003 |
duke@1 | 69 | REBASE = $(COMPILER_PATH)../../Common7/Tools/Bin/rebase |
duke@1 | 70 | MTL = $(COMPILER_PATH)../../Common7/Tools/Bin/midl |
duke@1 | 71 | ifndef COMPILER_PATH |
duke@1 | 72 | COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) |
duke@1 | 73 | endif |
duke@1 | 74 | endif |
duke@1 | 75 | ifeq ($(CC_MAJORVER), 14) |
tbell@33 | 76 | # This should be: CC_VER=14.00.50727.42 LINK_VER=8.00.50727.42 |
tbell@33 | 77 | REQUIRED_CC_VER = 14.00.50727.42 |
tbell@33 | 78 | REQUIRED_LINK_VER = 8.00.50727.42 |
tbell@33 | 79 | COMPILER_NAME=Visual Studio 8 |
duke@1 | 80 | COMPILER_VERSION=VS2005 |
duke@1 | 81 | REBASE = $(COMPILER_PATH)../../Common8/Tools/Bin/rebase |
duke@1 | 82 | MTL = $(COMPILER_PATH)../../Common8/Tools/Bin/midl |
duke@1 | 83 | ifndef COMPILER_PATH |
duke@1 | 84 | COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) |
duke@1 | 85 | endif |
duke@1 | 86 | endif |
tbell@33 | 87 | ifeq ($(CC_MAJORVER), 15) |
tbell@33 | 88 | # This should be: CC_VER=15.00.21022.08 LINK_VER=9.00.21022.08 |
tbell@33 | 89 | REQUIRED_CC_VER = 15.00.21022.08 |
tbell@33 | 90 | REQUIRED_LINK_VER = 9.00.21022.08 |
tbell@33 | 91 | COMPILER_NAME=Visual Studio 9 |
tbell@33 | 92 | COMPILER_VERSION=VS2008 |
tbell@33 | 93 | #rebase and midl moved out of Visual Studio into the SDK: |
tbell@33 | 94 | REBASE = $(MSDEVTOOLS_PATH)/rebase |
tbell@33 | 95 | MTL = $(MSDEVTOOLS_PATH)/midl.exe |
tbell@33 | 96 | ifndef COMPILER_PATH |
tbell@33 | 97 | COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) |
tbell@33 | 98 | endif |
tbell@33 | 99 | endif |
duke@1 | 100 | else |
tbell@33 | 101 | # else ARCH_DATA_MODEL is 64 |
ohair@114 | 102 | ifndef LINK_VER |
ohair@114 | 103 | LINK_VER := $(shell $(LINK) | $(HEAD) -n 1 | $(NAWK) '{print $$6}') |
ohair@114 | 104 | export LINK_VER |
ohair@114 | 105 | endif |
duke@1 | 106 | CC_MAJORVER :=$(call MajorVersion,$(CC_VER)) |
duke@1 | 107 | CC_MINORVER :=$(call MinorVersion,$(CC_VER)) |
duke@1 | 108 | CC_MICROVER :=$(call MicroVersion,$(CC_VER)) |
duke@1 | 109 | ifeq ($(ARCH), ia64) |
duke@1 | 110 | REQUIRED_CC_VER = 13.00.9337.7 |
duke@1 | 111 | REQUIRED_LINK_VER = 7.00.9337.7 |
duke@1 | 112 | endif |
duke@1 | 113 | ifeq ($(ARCH), amd64) |
duke@1 | 114 | REQUIRED_CC_VER = 14.00.40310.41 |
duke@1 | 115 | REQUIRED_LINK_VER = 8.00.40310.39 |
duke@1 | 116 | endif |
duke@1 | 117 | ifeq ($(CC_MAJORVER), 13) |
duke@1 | 118 | ifeq ($(ARCH), ia64) |
duke@1 | 119 | # This should be: CC_VER=13.00.9337.7 LINK_VER=7.00.9337.7 |
duke@1 | 120 | COMPILER_NAME=Microsoft Platform SDK - November 2001 Edition |
duke@1 | 121 | COMPILER_VERSION=VS2003 |
duke@1 | 122 | endif |
duke@1 | 123 | endif |
duke@1 | 124 | ifeq ($(CC_MAJORVER), 14) |
duke@1 | 125 | ifeq ($(ARCH), amd64) |
duke@1 | 126 | ifeq ($(CC_MICROVER), 30701) |
duke@1 | 127 | # This should be: CC_VER=14.00.30701 LINK_VER=8.00.30701 |
duke@1 | 128 | # WARNING: it says 14, but it is such an early build it doesn't |
duke@1 | 129 | # have all the VS2005 compiler option changes, so treat |
duke@1 | 130 | # this like a VS2003 compiler. |
duke@1 | 131 | COMPILER_NAME=Microsoft Platform SDK - February 2003 Edition |
duke@1 | 132 | COMPILER_VERSION=VS2003 |
duke@1 | 133 | else |
duke@1 | 134 | # This should be: CC_VER=14.00.40310.41 LINK_VER=8.00.40310.39 |
duke@1 | 135 | COMPILER_NAME=Microsoft Platform SDK - April 2005 Edition (3790.1830) |
duke@1 | 136 | COMPILER_VERSION=VS2005 |
duke@1 | 137 | endif |
duke@1 | 138 | endif |
duke@1 | 139 | endif |
ohair@57 | 140 | ifeq ($(CC_MAJORVER), 15) |
ohair@57 | 141 | # This should be: CC_VER=15.00.21022.8 LINK_VER=9.00.21022.8 |
ohair@57 | 142 | REQUIRED_CC_VER = 15.00.21022.8 |
ohair@57 | 143 | REQUIRED_LINK_VER = 9.00.21022.8 |
ohair@57 | 144 | COMPILER_NAME=Windows SDK 6.1 Visual Studio 9 |
ohair@57 | 145 | COMPILER_VERSION=VS2008 |
ohair@57 | 146 | RC = $(MSSDK61)/bin/x64/rc |
ohair@57 | 147 | REBASE = $(MSSDK61/bin/x64/rebase |
ohair@57 | 148 | else |
ohair@57 | 149 | # This will cause problems if ALT_COMPILER_PATH is defined to "" |
ohair@57 | 150 | # which is a directive to use the PATH. |
ohair@57 | 151 | REBASE = $(COMPILER_PATH)../REBASE |
ohair@57 | 152 | endif |
duke@1 | 153 | ifndef COMPILER_PATH |
duke@1 | 154 | COMPILER_PATH := $(error COMPILER_PATH cannot be empty here) |
duke@1 | 155 | endif |
duke@1 | 156 | endif |
duke@1 | 157 | ifndef COMPILER_VERSION |
duke@1 | 158 | COMPILER_VERSION := $(error COMPILER_VERSION cannot be empty here) |
duke@1 | 159 | endif |
duke@1 | 160 | # Shared library generation flag |
duke@1 | 161 | SHARED_LIBRARY_FLAG = -LD |
duke@1 | 162 | endif |
duke@1 | 163 |