Wed, 15 Dec 2010 07:11:31 -0800
7006354: Updates to Visual Studio project creation and development launcher
Summary: Updates to Visual Studio project creation and development launcher
Reviewed-by: stefank, coleenp
1 #
2 # Copyright (c) 2006, 2008, Oracle and/or its affiliates. All rights reserved.
3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 #
5 # This code is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License version 2 only, as
7 # published by the Free Software Foundation.
8 #
9 # This code is distributed in the hope that it will be useful, but WITHOUT
10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 # version 2 for more details (a copy is included in the LICENSE file that
13 # accompanied this code).
14 #
15 # You should have received a copy of the GNU General Public License version
16 # 2 along with this work; if not, write to the Free Software Foundation,
17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 #
19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 # or visit www.oracle.com if you need additional information or have any
21 # questions.
22 #
23 #
25 # The common definitions for hotspot windows builds.
26 # Include the top level defs.make under make directory instead of this one.
27 # This file is included into make/defs.make.
28 # On windows it is only used to construct parameters for
29 # make/windows/build.make when make/Makefile is used to build VM.
31 SLASH_JAVA ?= J:
32 PATH_SEP = ;
34 # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name
35 ifeq ($(ARCH_DATA_MODEL),32)
36 ARCH_DATA_MODEL=32
37 PLATFORM=windows-i586
38 VM_PLATFORM=windows_i486
39 HS_ARCH=x86
40 MAKE_ARGS += ARCH=x86
41 MAKE_ARGS += BUILDARCH=i486
42 MAKE_ARGS += Platform_arch=x86
43 MAKE_ARGS += Platform_arch_model=x86_32
44 endif
46 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) x86),)
47 ARCH_DATA_MODEL=32
48 PLATFORM=windows-i586
49 VM_PLATFORM=windows_i486
50 HS_ARCH=x86
51 MAKE_ARGS += ARCH=x86
52 MAKE_ARGS += BUILDARCH=i486
53 MAKE_ARGS += Platform_arch=x86
54 MAKE_ARGS += Platform_arch_model=x86_32
55 endif
57 ifneq ($(ARCH_DATA_MODEL),32)
58 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) ia64),)
59 ARCH_DATA_MODEL=64
60 PLATFORM=windows-ia64
61 VM_PLATFORM=windows_ia64
62 HS_ARCH=ia64
63 MAKE_ARGS += LP64=1
64 MAKE_ARGS += ARCH=ia64
65 MAKE_ARGS += BUILDARCH=ia64
66 MAKE_ARGS += Platform_arch=ia64
67 MAKE_ARGS += Platform_arch_model=ia64
68 endif
70 # http://support.microsoft.com/kb/888731 : this can be either
71 # AMD64 for AMD, or EM64T for Intel chips.
72 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) AMD64),)
73 ARCH_DATA_MODEL=64
74 PLATFORM=windows-amd64
75 VM_PLATFORM=windows_amd64
76 HS_ARCH=x86
77 MAKE_ARGS += LP64=1
78 MAKE_ARGS += ARCH=x86
79 MAKE_ARGS += BUILDARCH=amd64
80 MAKE_ARGS += Platform_arch=x86
81 MAKE_ARGS += Platform_arch_model=x86_64
82 endif
84 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) EM64T),)
85 ARCH_DATA_MODEL=64
86 PLATFORM=windows-amd64
87 VM_PLATFORM=windows_amd64
88 HS_ARCH=x86
89 MAKE_ARGS += LP64=1
90 MAKE_ARGS += ARCH=x86
91 MAKE_ARGS += BUILDARCH=amd64
92 MAKE_ARGS += Platform_arch=x86
93 MAKE_ARGS += Platform_arch_model=x86_64
94 endif
96 # NB later OS versions than 2003 may report "Intel64"
97 ifneq ($(shell $(ECHO) $(PROCESSOR_IDENTIFIER) | $(GREP) Intel64),)
98 ARCH_DATA_MODEL=64
99 PLATFORM=windows-amd64
100 VM_PLATFORM=windows_amd64
101 HS_ARCH=x86
102 MAKE_ARGS += LP64=1
103 MAKE_ARGS += ARCH=x86
104 MAKE_ARGS += BUILDARCH=amd64
105 MAKE_ARGS += Platform_arch=x86
106 MAKE_ARGS += Platform_arch_model=x86_64
107 endif
108 endif
110 JDK_INCLUDE_SUBDIR=win32
112 # HOTSPOT_RELEASE_VERSION and HOTSPOT_BUILD_VERSION are defined
113 # and added to MAKE_ARGS list in $(GAMMADIR)/make/defs.make.
115 # next parameters are defined in $(GAMMADIR)/make/defs.make.
116 MAKE_ARGS += JDK_MKTG_VERSION=$(JDK_MKTG_VERSION)
117 MAKE_ARGS += JDK_MAJOR_VER=$(JDK_MAJOR_VERSION)
118 MAKE_ARGS += JDK_MINOR_VER=$(JDK_MINOR_VERSION)
119 MAKE_ARGS += JDK_MICRO_VER=$(JDK_MICRO_VERSION)
121 ifdef COOKED_JDK_UPDATE_VERSION
122 MAKE_ARGS += JDK_UPDATE_VER=$(COOKED_JDK_UPDATE_VERSION)
123 endif
125 # COOKED_BUILD_NUMBER should only be set if we have a numeric
126 # build number. It must not be zero padded.
127 ifdef COOKED_BUILD_NUMBER
128 MAKE_ARGS += JDK_BUILD_NUMBER=$(COOKED_BUILD_NUMBER)
129 endif
131 NMAKE= MAKEFLAGS= MFLAGS= nmake /NOLOGO
133 # Check for CYGWIN
134 ifneq (,$(findstring CYGWIN,$(shell uname)))
135 USING_CYGWIN=true
136 else
137 USING_CYGWIN=false
138 endif
139 # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
140 VM_DEBUG=debug
142 # Windows wants particular paths due to nmake (must be after macros defined)
143 # It is important that gnumake invokes nmake with C:\\...\\ formated
144 # strings so that nmake gets C:\...\ style strings.
145 # Check for CYGWIN
146 ifeq ($(USING_CYGWIN), true)
147 ABS_OUTPUTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(OUTPUTDIR)"))
148 ABS_BOOTDIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(BOOTDIR)"))
149 ABS_GAMMADIR := $(subst /,\\,$(shell /bin/cygpath -m -a "$(GAMMADIR)"))
150 ABS_OS_MAKEFILE := $(shell /bin/cygpath -m -a "$(HS_MAKE_DIR)/$(OSNAME)")/build.make
151 else
152 ABS_OUTPUTDIR := $(subst /,\\,$(shell $(CD) $(OUTPUTDIR);$(PWD)))
153 ABS_BOOTDIR := $(subst /,\\,$(shell $(CD) $(BOOTDIR);$(PWD)))
154 ABS_GAMMADIR := $(subst /,\\,$(shell $(CD) $(GAMMADIR);$(PWD)))
155 ABS_OS_MAKEFILE := $(subst /,\\,$(shell $(CD) $(HS_MAKE_DIR)/$(OSNAME);$(PWD))/build.make)
156 endif
158 # Disable building SA on windows until we are sure
159 # we want to release it. If we build it here,
160 # the SDK makefiles will copy it over and put it into
161 # the created image.
162 BUILD_WIN_SA = 1
163 ifneq ($(ALT_BUILD_WIN_SA),)
164 BUILD_WIN_SA = $(ALT_BUILD_WIN_SA)
165 endif
167 ifeq ($(BUILD_WIN_SA), 1)
168 ifeq ($(ARCH),ia64)
169 BUILD_WIN_SA = 0
170 endif
171 endif
173 EXPORT_SERVER_DIR = $(EXPORT_JRE_BIN_DIR)/server
174 EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
175 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.dll
176 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.pdb
177 EXPORT_LIST += $(EXPORT_SERVER_DIR)/jvm.map
178 EXPORT_LIST += $(EXPORT_LIB_DIR)/jvm.lib
179 ifeq ($(ARCH_DATA_MODEL), 32)
180 EXPORT_CLIENT_DIR = $(EXPORT_JRE_BIN_DIR)/client
181 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
182 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.dll
183 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.pdb
184 EXPORT_LIST += $(EXPORT_CLIENT_DIR)/jvm.map
185 # kernel vm
186 EXPORT_KERNEL_DIR = $(EXPORT_JRE_BIN_DIR)/kernel
187 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/Xusage.txt
188 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.dll
189 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.pdb
190 EXPORT_LIST += $(EXPORT_KERNEL_DIR)/jvm.map
191 endif
193 ifeq ($(BUILD_WIN_SA), 1)
194 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.dll
195 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.pdb
196 EXPORT_LIST += $(EXPORT_JRE_BIN_DIR)/sawindbg.map
197 EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
198 # Must pass this down to nmake.
199 MAKE_ARGS += BUILD_WIN_SA=1
200 endif