comparison build/windows/create.bat @ 0:a61af66fc99e jdk7-b24

Initial load
author duke
date Sat, 01 Dec 2007 00:00:00 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:a61af66fc99e
1 @echo off
2 REM
3 REM Copyright 1999-2006 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21 REM CA 95054 USA or visit www.sun.com if you need additional information or
22 REM have any questions.
23 REM
24 REM
25
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.
34
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 cl 2>&1 | grep "IA-64" >NUL
40 if %errorlevel% == 0 goto isia64
41 cl 2>&1 | grep "AMD64" >NUL
42 if %errorlevel% == 0 goto amd64
43 set ARCH=x86
44 set BUILDARCH=i486
45 set Platform_arch=x86
46 set Platform_arch_model=x86_32
47 goto end
48 :amd64
49 set ARCH=x86
50 set BUILDARCH=amd64
51 set Platform_arch=x86
52 set Platform_arch_model=x86_64
53 goto end
54 :isia64
55 set ARCH=ia64
56 set BUILDARCH=ia64
57 set Platform_arch=ia64
58 set Platform_arch_model=ia64
59 :end
60
61 setlocal
62
63 if "%1" == "" goto usage
64
65 if not "%4" == "" goto usage
66
67 set HotSpotWorkSpace=%1
68 set HotSpotBuildSpace=%2
69 set HotSpotJDKDist=%3
70
71 REM figure out MSC version
72 for /F %%i in ('sh %HotSpotWorkSpace%/build/windows/get_msc_ver.sh') do set %%i
73
74 echo **************************************************************
75 if "%MSC_VER%" == "1200" (
76 set ProjectFile=vm.dsp
77 echo Will generate VC6 project {unsupported}
78 ) else (
79 set ProjectFile=vm.vcproj
80 echo Will generate VC7 project
81 )
82 echo %ProjectFile%
83 echo **************************************************************
84
85 REM Test all variables to see whether the directories they
86 REM reference exist
87
88 if exist %HotSpotWorkSpace% goto test1
89
90 echo Error: directory pointed to by HotSpotWorkSpace
91 echo does not exist, or the variable is not set.
92 echo.
93 goto usage
94
95 :test1
96 if exist %HotSpotBuildSpace% goto test2
97 if not "%HotSpotBuildSpace%" == "" mkdir %HotSpotBuildSpace%
98 if exist %HotSpotBuildSpace% goto test2
99 echo Error: directory pointed to by HotSpotBuildSpace
100 echo does not exist, or the variable is not set.
101 echo.
102 goto usage
103
104 :test2
105 if exist %HotSpotJDKDist% goto test3
106 echo Error: directory pointed to by %HotSpotJDKDist%
107 echo does not exist, or the variable is not set.
108 echo.
109 goto usage
110
111 :test3
112 if not "%HOTSPOTMKSHOME%" == "" goto makedir
113 echo Warning: please set variable HOTSPOTMKSHOME to place where
114 echo your MKS/Cygwin installation is
115 echo.
116 goto usage
117
118 :makedir
119 echo NOTE: Using the following settings:
120 echo HotSpotWorkSpace=%HotSpotWorkSpace%
121 echo HotSpotBuildSpace=%HotSpotBuildSpace%
122 echo HotSpotJDKDist=%HotSpotJDKDist%
123
124
125 REM This is now safe to do.
126 :copyfiles
127 for /D %%i in (compiler1, compiler2, tiered, core, kernel) do (
128 if NOT EXIST %HotSpotBuildSpace%\%%i mkdir %HotSpotBuildSpace%\%%i
129 copy %HotSpotWorkSpace%\build\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\ > NUL
130 )
131
132 REM force regneration of ProjectFile
133 if exist %HotSpotBuildSpace%\%ProjectFile% del %HotSpotBuildSpace%\%ProjectFile%
134
135 for /D %%i in (compiler1, compiler2, tiered, core, kernel) do (
136
137 echo # Generated file! > %HotSpotBuildSpace%\%%i\local.make
138 echo # Changing a variable below and then deleting %ProjectFile% will cause >> %HotSpotBuildSpace%\%%i\local.make
139 echo # %ProjectFile% to be regenerated with the new values. Changing the >> %HotSpotBuildSpace%\%%i\local.make
140 echo # version requires rerunning create.bat. >> %HotSpotBuildSpace%\%%i\local.make
141 echo. >> %HotSpotBuildSpace%\%%i\local.make
142 echo HOTSPOTWORKSPACE=%HotSpotWorkSpace% >> %HotSpotBuildSpace%\%%i\local.make
143 echo HOTSPOTBUILDSPACE=%HotSpotBuildSpace% >> %HotSpotBuildSpace%\%%i\local.make
144 echo HOTSPOTJDKDIST=%HotSpotJDKDist% >> %HotSpotBuildSpace%\%%i\local.make
145 echo ARCH=%ARCH% >> %HotSpotBuildSpace%\%%i\local.make
146 echo BUILDARCH=%BUILDARCH% >> %HotSpotBuildSpace%\%%i\local.make
147 echo Platform_arch=%Platform_arch% >> %HotSpotBuildSpace%\%%i\local.make
148 echo Platform_arch_model=%Platform_arch_model% >> %HotSpotBuildSpace%\%%i\local.make
149
150 REM build config specific stuff
151
152 pushd %HotSpotBuildSpace%\%%i
153 nmake /nologo
154 popd
155 )
156
157 goto end
158
159 :usage
160 echo Usage: create HotSpotWorkSpace HotSpotBuildSpace HotSpotJDKDist
161 echo.
162 echo This is the interactive build setup script (as opposed to the batch
163 echo build execution script). It creates HotSpotBuildSpace if necessary,
164 echo copies the appropriate files out of HotSpotWorkSpace into it, and
165 echo builds and runs MakeDeps in it. This has the side-effect of creating
166 echo the %ProjectFile% file in the build space, which is then used in Visual C++.
167 echo The HotSpotJDKDist defines place where JVM binaries should be placed.
168 echo Environment variable FORCE_MSC_VER allows to override MSVC version autodetection.
169 echo.
170 echo The generated project file depends upon the include databases. If
171 echo those are changed then MakeDeps is rerun.
172 echo.
173 echo NOTE that it is now NOT safe to modify any of the files in the build
174 echo space, since they may be overwritten whenever this script is run or
175 echo nmake is run in that directory.
176
177 :end
178
179 endlocal