@echo off REM REM Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. REM REM This code is free software; you can redistribute it and/or modify it REM under the terms of the GNU General Public License version 2 only, as REM published by the Free Software Foundation. REM REM This code is distributed in the hope that it will be useful, but WITHOUT REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or REM FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License REM version 2 for more details (a copy is included in the LICENSE file that REM accompanied this code). REM REM You should have received a copy of the GNU General Public License version REM 2 along with this work; if not, write to the Free Software Foundation, REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. REM REM Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA REM or visit www.oracle.com if you need additional information or have any REM questions. REM REM REM REM Since we don't have uname and we could be cross-compiling, REM Use the compiler to determine which ARCH we are building REM REM Note: Running this batch file from the Windows command shell requires REM that "grep" be accessible on the PATH. An MKS install does this. REM cl 2>&1 | grep "IA-64" >NUL if %errorlevel% == 0 goto isia64 cl 2>&1 | grep "AMD64" >NUL if %errorlevel% == 0 goto amd64 cl 2>&1 | grep "x64" >NUL if %errorlevel% == 0 goto amd64 set ARCH=x86 set BUILDARCH=i486 set Platform_arch=x86 set Platform_arch_model=x86_32 goto end :amd64 set LP64=1 set ARCH=x86 set BUILDARCH=amd64 set Platform_arch=x86 set Platform_arch_model=x86_64 goto end :isia64 set LP64=1 set ARCH=ia64 set Platform_arch=ia64 set Platform_arch_model=ia64 :end if "%4" == "" goto usage if not "%7" == "" goto usage if "%1" == "product" goto test1 if "%1" == "debug" goto test1 if "%1" == "fastdebug" goto test1 if "%1" == "tree" goto test1 goto usage :test1 if "%2" == "core" goto test2 if "%2" == "compiler1" goto test2 if "%2" == "compiler2" goto test2 if "%2" == "tiered" goto test2 if "%2" == "adlc" goto build_adlc goto usage :test2 if "%1" == "tree" goto build_tree REM check_j2se_version REM jvmti.make requires J2SE 1.4.x or newer. REM If not found then fail fast. %4\bin\javap javax.xml.transform.TransformerFactory >NUL if %errorlevel% == 0 goto build echo. echo J2SE version found at %4\bin\java: %4\bin\java -version echo. echo An XSLT processor (J2SE 1.4.x or newer) is required to echo bootstrap this build echo. goto usage :build nmake -f %3/make/windows/build.make Variant=%2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION="%5" %1 goto end :build_adlc nmake -f %3/make/windows/build.make Variant=compiler2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION=%5 ADLC_ONLY=1 %1 goto end :build_tree nmake -f %3/make/windows/build.make Variant=%2 WorkSpace=%3 BootStrapDir=%4 BuildUser="%USERNAME%" HOTSPOT_BUILD_VERSION="%5" %1 goto end :usage echo Usage: build flavor version workspace bootstrap_dir [build_id] [windbg_home] echo. echo where: echo flavor is "product", "debug" or "fastdebug", echo version is "core", "compiler1", "compiler2", or "tiered", echo workspace is source directory without trailing slash, echo bootstrap_dir is a full path to a JDK in which bin/java echo and bin/javac are present and working, and build_id is an echo optional build identifier displayed by java -version exit /b 1 :end exit /b %errorlevel%