1 @echo off
2 REM
3 REM Copyright (c) 1997, 2013, 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
25
26
27 REM
28 REM Since we don't have uname and we could be cross-compiling,
29 REM Use the compiler to determine which ARCH we are building
30 REM
31 REM Note: Running this batch file from the Windows command shell requires
32 REM that "grep" be accessible on the PATH. An MKS install does this.
33 REM
34 cl 2>&1 | grep "IA-64" >NUL
35 if %errorlevel% == 0 goto isia64
36 cl 2>&1 | grep "AMD64" >NUL
37 if %errorlevel% == 0 goto amd64
38 cl 2>&1 | grep "x64" >NUL
39 if %errorlevel% == 0 goto amd64
40 set ARCH=x86
41 set BUILDARCH=i486
42 set Platform_arch=x86
43 set Platform_arch_model=x86_32
44 goto end
45 :amd64
46 set LP64=1
47 set ARCH=x86
48 set BUILDARCH=amd64
49 set Platform_arch=x86
50 set Platform_arch_model=x86_64
51 goto end
52 :isia64
53 set LP64=1
54 set ARCH=ia64
55 set Platform_arch=ia64
56 set Platform_arch_model=ia64
57 :end
58
59 if "%4" == "" goto usage
60 if not "%7" == "" goto usage
61
62 if "%1" == "product" goto test1
63 if "%1" == "debug" goto test1
64 if "%1" == "fastdebug" goto test1
65 if "%1" == "tree" goto test1
66 goto usage
67
68 :test1
69 if "%2" == "core" goto test2
70 if "%2" == "compiler1" goto test2
71 if "%2" == "compiler2" goto test2
72 if "%2" == "tiered" goto test2
73 if "%2" == "adlc" goto build_adlc
74
75 goto usage
76
77 :test2
78 if "%1" == "tree" goto build_tree
79 REM check_j2se_version
80 REM jvmti.make requires J2SE 1.4.x or newer.
81 REM If not found then fail fast.
82 %4\bin\javap javax.xml.transform.TransformerFactory >NUL
83 if %errorlevel% == 0 goto build
84 echo.
85 echo J2SE version found at %4\bin\java:
86 %4\bin\java -version
87 echo.
88 echo An XSLT processor (J2SE 1.4.x or newer) is required to
89 echo bootstrap this build
90 echo.
91
92 goto usage
93
94 :build
95 nmake -f %3/make/windows/build.make Variant=%2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION="%5" %1
96 goto end
97
98 :build_adlc
99 nmake -f %3/make/windows/build.make Variant=compiler2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION=%5 ADLC_ONLY=1 %1
100 goto end
101
102 :build_tree
103 nmake -f %3/make/windows/build.make Variant=%2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION="%5" %1
104 goto end
105
106 :usage
107 echo Usage: build flavor version workspace bootstrap_dir [build_id] [windbg_home]
108 echo.
109 echo where:
110 echo flavor is "product", "debug" or "fastdebug",
111 echo version is "core", "compiler1", "compiler2", or "tiered",
112 echo workspace is source directory without trailing slash,
113 echo bootstrap_dir is a full path to a JDK in which bin/java
114 echo and bin/javac are present and working, and build_id is an
115 echo optional build identifier displayed by java -version
116 exit /b 1
117
118 :end
119 exit /b %errorlevel%
|
1 @echo off
2 REM
3 REM Copyright (c) 1997, 2015, 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
25
26 REM Set HotSpotWorkSpace to the directy two steps above this script
27 for %%i in ("%~dp0..") do ( set HotSpotWorkSpace=%%~dpi)
28
29 REM
30 REM Since we don't have uname and we could be cross-compiling,
31 REM Use the compiler to determine which ARCH we are building
32 REM
33 cl 2>&1 1>&3 | findstr x64>NUL
34 if %errorlevel% == 0 goto amd64
35 set VCPROJ=%HotSpotWorkSpace%\build\vs-i486\jvm.vcxproj
36 set PLATFORM=x86
37 goto testmkshome
38 :amd64
39 set VCPROJ=%HotSpotWorkSpace%\build\vs-amd64\jvm.vcxproj
40 set PLATFORM=x64
41 goto testmkshome
42
43 :testmkshome
44 if not "%HOTSPOTMKSHOME%" == "" goto testjavahome
45 if exist c:\cygwin\bin set HOTSPOTMKSHOME=c:\cygwin\bin
46 if not "%HOTSPOTMKSHOME%" == "" goto testjavahome
47 if exist c:\cygwin64\bin set HOTSPOTMKSHOME=c:\cygwin64\bin
48 if not "%HOTSPOTMKSHOME%" == "" goto testjavahome
49 echo Error: please set variable HOTSPOTMKSHOME to place where
50 echo your MKS/Cygwin installation is
51 echo.
52 goto end
53
54 :testjavahome
55 if not "%JAVA_HOME%" == "" goto testbuildversion
56 echo Error: please set variable JAVA_HOME to a bootstrap JDK
57 echo.
58 goto end
59
60 :testbuildversion
61 if "%1" == "compiler1" goto testdebuglevel
62 if "%1" == "tiered" goto testdebuglevel
63 goto usage
64
65 :testdebuglevel
66 if "%2" == "product" goto build
67 if "%2" == "debug" goto build
68 if "%2" == "fastdebug" goto build
69 goto usage
70
71 :build
72 if NOT EXIST %VCPROJ% call %~dp0\create.bat %JAVA_HOME%
73 msbuild /Property:Platform=%PLATFORM% /Property:Configuration=%1_%2 /v:m %VCPROJ%
74 goto end
75
76 :usage
77 echo Usage: build version debuglevel
78 echo.
79 echo where:
80 echo version is "compiler1" or "tiered",
81 echo debuglevel is "product", "debug" or "fastdebug"
82 exit /b 1
83
84 :end
85 exit /b %errorlevel%
|