Thu, 27 May 2010 19:08:38 -0700
6941466: Oracle rebranding changes for Hotspot repositories
Summary: Change all the Sun copyrights to Oracle copyright
Reviewed-by: ohair
1 @echo off
2 REM
3 REM Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
4 REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 REM
6 REM This code is free software; you can redistribute it and/or modify it
7 REM under the terms of the GNU General Public License version 2 only, as
8 REM published by the Free Software Foundation.
9 REM
10 REM This code is distributed in the hope that it will be useful, but WITHOUT
11 REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 REM version 2 for more details (a copy is included in the LICENSE file that
14 REM accompanied this code).
15 REM
16 REM You should have received a copy of the GNU General Public License version
17 REM 2 along with this work; if not, write to the Free Software Foundation,
18 REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 REM
20 REM Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 REM or visit www.oracle.com if you need additional information or have any
22 REM questions.
23 REM
24 REM
26 REM This is the interactive build setup script (as opposed to the batch
27 REM build execution script). It creates $HotSpotBuildSpace if necessary,
28 REM copies the appropriate files out of $HotSpotWorkSpace into it, and
29 REM builds and runs MakeDeps in it. This has the side-effect of creating
30 REM the vm.vcproj file in the buildspace, which is then used in Visual C++.
31 REM
32 REM The generated project file depends upon the include databases. If
33 REM those are changed then MakeDeps is rerun.
35 REM
36 REM Since we don't have uname and we could be cross-compiling,
37 REM Use the compiler to determine which ARCH we are building
38 REM
39 REM Note: Running this batch file from the Windows command shell requires
40 REM that "grep" be accessible on the PATH. An MKS install does this.
41 REM
42 cl 2>&1 | grep "IA-64" >NUL
43 if %errorlevel% == 0 goto isia64
44 cl 2>&1 | grep "AMD64" >NUL
45 if %errorlevel% == 0 goto amd64
46 set ARCH=x86
47 set BUILDARCH=i486
48 set Platform_arch=x86
49 set Platform_arch_model=x86_32
50 goto end
51 :amd64
52 set ARCH=x86
53 set BUILDARCH=amd64
54 set Platform_arch=x86
55 set Platform_arch_model=x86_64
56 goto end
57 :isia64
58 set ARCH=ia64
59 set BUILDARCH=ia64
60 set Platform_arch=ia64
61 set Platform_arch_model=ia64
62 :end
64 setlocal
66 if "%1" == "" goto usage
68 if not "%4" == "" goto usage
70 set HotSpotWorkSpace=%1
71 set HotSpotBuildSpace=%2
72 set HotSpotJDKDist=%3
74 REM figure out MSC version
75 for /F %%i in ('sh %HotSpotWorkSpace%/make/windows/get_msc_ver.sh') do set %%i
77 echo **************************************************************
78 set ProjectFile=vm.vcproj
79 if "%MSC_VER%" == "1200" (
80 set ProjectFile=vm.dsp
81 echo Will generate VC6 project {unsupported}
82 ) else (
83 if "%MSC_VER%" == "1400" (
84 echo Will generate VC8 {Visual Studio 2005}
85 ) else (
86 if "%MSC_VER%" == "1500" (
87 echo Will generate VC9 {Visual Studio 2008}
88 ) else (
89 echo Will generate VC7 project {Visual Studio 2003 .NET}
90 )
91 )
92 )
93 echo %ProjectFile%
94 echo **************************************************************
96 REM Test all variables to see whether the directories they
97 REM reference exist
99 if exist %HotSpotWorkSpace% goto test1
101 echo Error: directory pointed to by HotSpotWorkSpace
102 echo does not exist, or the variable is not set.
103 echo.
104 goto usage
106 :test1
107 if exist %HotSpotBuildSpace% goto test2
108 if not "%HotSpotBuildSpace%" == "" mkdir %HotSpotBuildSpace%
109 if exist %HotSpotBuildSpace% goto test2
110 echo Error: directory pointed to by HotSpotBuildSpace
111 echo does not exist, or the variable is not set.
112 echo.
113 goto usage
115 :test2
116 if exist %HotSpotJDKDist% goto test3
117 echo Error: directory pointed to by %HotSpotJDKDist%
118 echo does not exist, or the variable is not set.
119 echo.
120 goto usage
122 :test3
123 if not "%HOTSPOTMKSHOME%" == "" goto makedir
124 echo Warning: please set variable HOTSPOTMKSHOME to place where
125 echo your MKS/Cygwin installation is
126 echo.
127 goto usage
129 :makedir
130 echo NOTE: Using the following settings:
131 echo HotSpotWorkSpace=%HotSpotWorkSpace%
132 echo HotSpotBuildSpace=%HotSpotBuildSpace%
133 echo HotSpotJDKDist=%HotSpotJDKDist%
136 REM This is now safe to do.
137 :copyfiles
138 for /D %%i in (compiler1, compiler2, tiered, core, kernel) do (
139 if NOT EXIST %HotSpotBuildSpace%\%%i mkdir %HotSpotBuildSpace%\%%i
140 copy %HotSpotWorkSpace%\make\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\ > NUL
141 )
143 REM force regneration of ProjectFile
144 if exist %HotSpotBuildSpace%\%ProjectFile% del %HotSpotBuildSpace%\%ProjectFile%
146 for /D %%i in (compiler1, compiler2, tiered, core, kernel) do (
148 echo # Generated file! > %HotSpotBuildSpace%\%%i\local.make
149 echo # Changing a variable below and then deleting %ProjectFile% will cause >> %HotSpotBuildSpace%\%%i\local.make
150 echo # %ProjectFile% to be regenerated with the new values. Changing the >> %HotSpotBuildSpace%\%%i\local.make
151 echo # version requires rerunning create.bat. >> %HotSpotBuildSpace%\%%i\local.make
152 echo. >> %HotSpotBuildSpace%\%%i\local.make
153 echo HOTSPOTWORKSPACE=%HotSpotWorkSpace% >> %HotSpotBuildSpace%\%%i\local.make
154 echo HOTSPOTBUILDSPACE=%HotSpotBuildSpace% >> %HotSpotBuildSpace%\%%i\local.make
155 echo HOTSPOTJDKDIST=%HotSpotJDKDist% >> %HotSpotBuildSpace%\%%i\local.make
156 echo ARCH=%ARCH% >> %HotSpotBuildSpace%\%%i\local.make
157 echo BUILDARCH=%BUILDARCH% >> %HotSpotBuildSpace%\%%i\local.make
158 echo Platform_arch=%Platform_arch% >> %HotSpotBuildSpace%\%%i\local.make
159 echo Platform_arch_model=%Platform_arch_model% >> %HotSpotBuildSpace%\%%i\local.make
161 REM build config specific stuff
163 pushd %HotSpotBuildSpace%\%%i
164 nmake /nologo
165 popd
166 )
168 goto end
170 :usage
171 echo Usage: create HotSpotWorkSpace HotSpotBuildSpace HotSpotJDKDist
172 echo.
173 echo This is the interactive build setup script (as opposed to the batch
174 echo build execution script). It creates HotSpotBuildSpace if necessary,
175 echo copies the appropriate files out of HotSpotWorkSpace into it, and
176 echo builds and runs MakeDeps in it. This has the side-effect of creating
177 echo the %ProjectFile% file in the build space, which is then used in Visual C++.
178 echo The HotSpotJDKDist defines place where JVM binaries should be placed.
179 echo Environment variable FORCE_MSC_VER allows to override MSVC version autodetection.
180 echo.
181 echo The generated project file depends upon the include databases. If
182 echo those are changed then MakeDeps is rerun.
183 echo.
184 echo NOTE that it is now NOT safe to modify any of the files in the build
185 echo space, since they may be overwritten whenever this script is run or
186 echo nmake is run in that directory.
188 :end
190 endlocal