1@echo off 2REM 3REM Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 4REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5REM 6REM This code is free software; you can redistribute it and/or modify it 7REM under the terms of the GNU General Public License version 2 only, as 8REM published by the Free Software Foundation. 9REM 10REM This code is distributed in the hope that it will be useful, but WITHOUT 11REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13REM version 2 for more details (a copy is included in the LICENSE file that 14REM accompanied this code). 15REM 16REM You should have received a copy of the GNU General Public License version 17REM 2 along with this work; if not, write to the Free Software Foundation, 18REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19REM 20REM Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21REM or visit www.oracle.com if you need additional information or have any 22REM questions. 23REM 24REM 25 26 27REM 28REM Since we don't have uname and we could be cross-compiling, 29REM Use the compiler to determine which ARCH we are building 30REM 31REM Note: Running this batch file from the Windows command shell requires 32REM that "grep" be accessible on the PATH. An MKS install does this. 33REM 34cl 2>&1 | grep "IA-64" >NUL 35if %errorlevel% == 0 goto isia64 36cl 2>&1 | grep "AMD64" >NUL 37if %errorlevel% == 0 goto amd64 38cl 2>&1 | grep "x64" >NUL 39if %errorlevel% == 0 goto amd64 40set ARCH=x86 41set BUILDARCH=i486 42set Platform_arch=x86 43set Platform_arch_model=x86_32 44goto end 45:amd64 46set LP64=1 47set ARCH=x86 48set BUILDARCH=amd64 49set Platform_arch=x86 50set Platform_arch_model=x86_64 51goto end 52:isia64 53set LP64=1 54set ARCH=ia64 55set Platform_arch=ia64 56set Platform_arch_model=ia64 57:end 58 59if "%4" == "" goto usage 60if not "%7" == "" goto usage 61 62if "%1" == "product" goto test1 63if "%1" == "debug" goto test1 64if "%1" == "fastdebug" goto test1 65if "%1" == "tree" goto test1 66goto usage 67 68:test1 69if "%2" == "core" goto test2 70if "%2" == "compiler1" goto test2 71if "%2" == "compiler2" goto test2 72if "%2" == "tiered" goto test2 73if "%2" == "adlc" goto build_adlc 74 75goto usage 76 77:test2 78if "%1" == "tree" goto build_tree 79REM check_j2se_version 80REM jvmti.make requires J2SE 1.4.x or newer. 81REM If not found then fail fast. 82%4\bin\javap javax.xml.transform.TransformerFactory >NUL 83if %errorlevel% == 0 goto build 84echo. 85echo J2SE version found at %4\bin\java: 86%4\bin\java -version 87echo. 88echo An XSLT processor (J2SE 1.4.x or newer) is required to 89echo bootstrap this build 90echo. 91 92goto usage 93 94:build 95nmake -f %3/make/windows/build.make Variant=%2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION="%5" %1 96goto end 97 98:build_adlc 99nmake -f %3/make/windows/build.make Variant=compiler2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION=%5 ADLC_ONLY=1 %1 100goto end 101 102:build_tree 103nmake -f %3/make/windows/build.make Variant=%2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION="%5" %1 104goto end 105 106:usage 107echo Usage: build flavor version workspace bootstrap_dir [build_id] [windbg_home] 108echo. 109echo where: 110echo flavor is "product", "debug" or "fastdebug", 111echo version is "core", "compiler1", "compiler2", or "tiered", 112echo workspace is source directory without trailing slash, 113echo bootstrap_dir is a full path to a JDK in which bin/java 114echo and bin/javac are present and working, and build_id is an 115echo optional build identifier displayed by java -version 116exit /b 1 117 118:end 119exit /b %errorlevel% 120