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