hotspot/build/windows/create.bat
author ysr
Sun, 16 Mar 2008 21:57:25 -0700
changeset 341 6578aad59716
parent 1 489c9b5090e2
permissions -rw-r--r--
6634032: CMS: Need CMSInitiatingPermOccupancyFraction for perm, divorcing from CMSInitiatingOccupancyFraction Summary: The option CMSInitiatingPermOccupancyFraction now controls perm triggering threshold. Even though the actual value of the threshold has not yet been changed, so there is no change in policy, we now have the infrastructure in place for dynamically deciding when to collect the perm gen, an issue that will be addressed in the near future. Reviewed-by: jmasa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
489c9b5090e2 Initial load
duke
parents:
diff changeset
     1
@echo off
489c9b5090e2 Initial load
duke
parents:
diff changeset
     2
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
     3
REM Copyright 1999-2006 Sun Microsystems, Inc.  All Rights Reserved.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     4
REM DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     5
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
     6
REM This code is free software; you can redistribute it and/or modify it
489c9b5090e2 Initial load
duke
parents:
diff changeset
     7
REM under the terms of the GNU General Public License version 2 only, as
489c9b5090e2 Initial load
duke
parents:
diff changeset
     8
REM published by the Free Software Foundation.
489c9b5090e2 Initial load
duke
parents:
diff changeset
     9
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
    10
REM This code is distributed in the hope that it will be useful, but WITHOUT
489c9b5090e2 Initial load
duke
parents:
diff changeset
    11
REM ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    12
REM FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
489c9b5090e2 Initial load
duke
parents:
diff changeset
    13
REM version 2 for more details (a copy is included in the LICENSE file that
489c9b5090e2 Initial load
duke
parents:
diff changeset
    14
REM accompanied this code).
489c9b5090e2 Initial load
duke
parents:
diff changeset
    15
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
    16
REM You should have received a copy of the GNU General Public License version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    17
REM 2 along with this work; if not, write to the Free Software Foundation,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    18
REM Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    19
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
    20
REM Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    21
REM CA 95054 USA or visit www.sun.com if you need additional information or
489c9b5090e2 Initial load
duke
parents:
diff changeset
    22
REM have any questions.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    23
REM  
489c9b5090e2 Initial load
duke
parents:
diff changeset
    24
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
    25
489c9b5090e2 Initial load
duke
parents:
diff changeset
    26
REM This is the interactive build setup script (as opposed to the batch
489c9b5090e2 Initial load
duke
parents:
diff changeset
    27
REM build execution script). It creates $HotSpotBuildSpace if necessary,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    28
REM copies the appropriate files out of $HotSpotWorkSpace into it, and
489c9b5090e2 Initial load
duke
parents:
diff changeset
    29
REM builds and runs MakeDeps in it. This has the side-effect of creating
489c9b5090e2 Initial load
duke
parents:
diff changeset
    30
REM the vm.vcproj file in the buildspace, which is then used in Visual C++.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    31
REM 
489c9b5090e2 Initial load
duke
parents:
diff changeset
    32
REM The generated project file depends upon the include databases. If
489c9b5090e2 Initial load
duke
parents:
diff changeset
    33
REM those are changed then MakeDeps is rerun.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    34
489c9b5090e2 Initial load
duke
parents:
diff changeset
    35
REM
489c9b5090e2 Initial load
duke
parents:
diff changeset
    36
REM Since we don't have uname and we could be cross-compiling,
489c9b5090e2 Initial load
duke
parents:
diff changeset
    37
REM Use the compiler to determine which ARCH we are building
489c9b5090e2 Initial load
duke
parents:
diff changeset
    38
REM 
489c9b5090e2 Initial load
duke
parents:
diff changeset
    39
cl 2>&1 | grep "IA-64" >NUL
489c9b5090e2 Initial load
duke
parents:
diff changeset
    40
if %errorlevel% == 0 goto isia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    41
cl 2>&1 | grep "AMD64" >NUL
489c9b5090e2 Initial load
duke
parents:
diff changeset
    42
if %errorlevel% == 0 goto amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    43
set ARCH=x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
    44
set BUILDARCH=i486
489c9b5090e2 Initial load
duke
parents:
diff changeset
    45
set Platform_arch=x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
    46
set Platform_arch_model=x86_32
489c9b5090e2 Initial load
duke
parents:
diff changeset
    47
goto end
489c9b5090e2 Initial load
duke
parents:
diff changeset
    48
:amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    49
set ARCH=x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
    50
set BUILDARCH=amd64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    51
set Platform_arch=x86
489c9b5090e2 Initial load
duke
parents:
diff changeset
    52
set Platform_arch_model=x86_64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    53
goto end
489c9b5090e2 Initial load
duke
parents:
diff changeset
    54
:isia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    55
set ARCH=ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    56
set BUILDARCH=ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    57
set Platform_arch=ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    58
set Platform_arch_model=ia64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    59
:end
489c9b5090e2 Initial load
duke
parents:
diff changeset
    60
489c9b5090e2 Initial load
duke
parents:
diff changeset
    61
setlocal
489c9b5090e2 Initial load
duke
parents:
diff changeset
    62
489c9b5090e2 Initial load
duke
parents:
diff changeset
    63
if "%1" == "" goto usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
    64
489c9b5090e2 Initial load
duke
parents:
diff changeset
    65
if not "%4" == "" goto usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
    66
489c9b5090e2 Initial load
duke
parents:
diff changeset
    67
set HotSpotWorkSpace=%1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    68
set HotSpotBuildSpace=%2
489c9b5090e2 Initial load
duke
parents:
diff changeset
    69
set HotSpotJDKDist=%3
489c9b5090e2 Initial load
duke
parents:
diff changeset
    70
489c9b5090e2 Initial load
duke
parents:
diff changeset
    71
REM figure out MSC version
489c9b5090e2 Initial load
duke
parents:
diff changeset
    72
for /F %%i in ('sh %HotSpotWorkSpace%/build/windows/get_msc_ver.sh') do set %%i
489c9b5090e2 Initial load
duke
parents:
diff changeset
    73
489c9b5090e2 Initial load
duke
parents:
diff changeset
    74
echo **************************************************************
489c9b5090e2 Initial load
duke
parents:
diff changeset
    75
if "%MSC_VER%" == "1200" (
489c9b5090e2 Initial load
duke
parents:
diff changeset
    76
set ProjectFile=vm.dsp
489c9b5090e2 Initial load
duke
parents:
diff changeset
    77
echo Will generate VC6 project {unsupported}
489c9b5090e2 Initial load
duke
parents:
diff changeset
    78
) else (
489c9b5090e2 Initial load
duke
parents:
diff changeset
    79
set ProjectFile=vm.vcproj
489c9b5090e2 Initial load
duke
parents:
diff changeset
    80
echo Will generate VC7 project
489c9b5090e2 Initial load
duke
parents:
diff changeset
    81
)
489c9b5090e2 Initial load
duke
parents:
diff changeset
    82
echo                            %ProjectFile%
489c9b5090e2 Initial load
duke
parents:
diff changeset
    83
echo **************************************************************
489c9b5090e2 Initial load
duke
parents:
diff changeset
    84
489c9b5090e2 Initial load
duke
parents:
diff changeset
    85
REM Test all variables to see whether the directories they
489c9b5090e2 Initial load
duke
parents:
diff changeset
    86
REM reference exist
489c9b5090e2 Initial load
duke
parents:
diff changeset
    87
489c9b5090e2 Initial load
duke
parents:
diff changeset
    88
if exist %HotSpotWorkSpace% goto test1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    89
489c9b5090e2 Initial load
duke
parents:
diff changeset
    90
echo Error: directory pointed to by HotSpotWorkSpace
489c9b5090e2 Initial load
duke
parents:
diff changeset
    91
echo does not exist, or the variable is not set.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    92
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
    93
goto usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
    94
489c9b5090e2 Initial load
duke
parents:
diff changeset
    95
:test1
489c9b5090e2 Initial load
duke
parents:
diff changeset
    96
if exist %HotSpotBuildSpace% goto test2
489c9b5090e2 Initial load
duke
parents:
diff changeset
    97
if not "%HotSpotBuildSpace%" == "" mkdir %HotSpotBuildSpace%
489c9b5090e2 Initial load
duke
parents:
diff changeset
    98
if exist %HotSpotBuildSpace% goto test2
489c9b5090e2 Initial load
duke
parents:
diff changeset
    99
echo Error: directory pointed to by HotSpotBuildSpace
489c9b5090e2 Initial load
duke
parents:
diff changeset
   100
echo does not exist, or the variable is not set.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   101
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   102
goto usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
   103
489c9b5090e2 Initial load
duke
parents:
diff changeset
   104
:test2
489c9b5090e2 Initial load
duke
parents:
diff changeset
   105
if exist %HotSpotJDKDist% goto test3
489c9b5090e2 Initial load
duke
parents:
diff changeset
   106
echo Error: directory pointed to by %HotSpotJDKDist%
489c9b5090e2 Initial load
duke
parents:
diff changeset
   107
echo does not exist, or the variable is not set.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   108
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   109
goto usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
   110
489c9b5090e2 Initial load
duke
parents:
diff changeset
   111
:test3
489c9b5090e2 Initial load
duke
parents:
diff changeset
   112
if not "%HOTSPOTMKSHOME%" == "" goto makedir
489c9b5090e2 Initial load
duke
parents:
diff changeset
   113
echo Warning: please set variable HOTSPOTMKSHOME to place where 
489c9b5090e2 Initial load
duke
parents:
diff changeset
   114
echo          your MKS/Cygwin installation is
489c9b5090e2 Initial load
duke
parents:
diff changeset
   115
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   116
goto usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
   117
489c9b5090e2 Initial load
duke
parents:
diff changeset
   118
:makedir
489c9b5090e2 Initial load
duke
parents:
diff changeset
   119
echo NOTE: Using the following settings:
489c9b5090e2 Initial load
duke
parents:
diff changeset
   120
echo   HotSpotWorkSpace=%HotSpotWorkSpace%
489c9b5090e2 Initial load
duke
parents:
diff changeset
   121
echo   HotSpotBuildSpace=%HotSpotBuildSpace%
489c9b5090e2 Initial load
duke
parents:
diff changeset
   122
echo   HotSpotJDKDist=%HotSpotJDKDist%
489c9b5090e2 Initial load
duke
parents:
diff changeset
   123
489c9b5090e2 Initial load
duke
parents:
diff changeset
   124
489c9b5090e2 Initial load
duke
parents:
diff changeset
   125
REM This is now safe to do.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   126
:copyfiles
489c9b5090e2 Initial load
duke
parents:
diff changeset
   127
for /D %%i in (compiler1, compiler2, tiered, core, kernel) do (
489c9b5090e2 Initial load
duke
parents:
diff changeset
   128
if NOT EXIST %HotSpotBuildSpace%\%%i mkdir %HotSpotBuildSpace%\%%i
489c9b5090e2 Initial load
duke
parents:
diff changeset
   129
copy %HotSpotWorkSpace%\build\windows\projectfiles\%%i\* %HotSpotBuildSpace%\%%i\ > NUL
489c9b5090e2 Initial load
duke
parents:
diff changeset
   130
)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   131
489c9b5090e2 Initial load
duke
parents:
diff changeset
   132
REM force regneration of ProjectFile
489c9b5090e2 Initial load
duke
parents:
diff changeset
   133
if exist %HotSpotBuildSpace%\%ProjectFile% del %HotSpotBuildSpace%\%ProjectFile%
489c9b5090e2 Initial load
duke
parents:
diff changeset
   134
489c9b5090e2 Initial load
duke
parents:
diff changeset
   135
for /D %%i in (compiler1, compiler2, tiered, core, kernel) do (
489c9b5090e2 Initial load
duke
parents:
diff changeset
   136
489c9b5090e2 Initial load
duke
parents:
diff changeset
   137
echo # Generated file!                                                 >    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   138
echo # Changing a variable below and then deleting %ProjectFile% will cause  >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   139
echo # %ProjectFile% to be regenerated with the new values.  Changing the    >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   140
echo # version requires rerunning create.bat.                         >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   141
echo.                                      >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   142
echo HOTSPOTWORKSPACE=%HotSpotWorkSpace%   >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   143
echo HOTSPOTBUILDSPACE=%HotSpotBuildSpace% >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   144
echo HOTSPOTJDKDIST=%HotSpotJDKDist%       >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   145
echo ARCH=%ARCH%                           >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   146
echo BUILDARCH=%BUILDARCH%                 >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   147
echo Platform_arch=%Platform_arch%         >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   148
echo Platform_arch_model=%Platform_arch_model% >>    %HotSpotBuildSpace%\%%i\local.make
489c9b5090e2 Initial load
duke
parents:
diff changeset
   149
489c9b5090e2 Initial load
duke
parents:
diff changeset
   150
REM build config specific stuff
489c9b5090e2 Initial load
duke
parents:
diff changeset
   151
489c9b5090e2 Initial load
duke
parents:
diff changeset
   152
pushd %HotSpotBuildSpace%\%%i
489c9b5090e2 Initial load
duke
parents:
diff changeset
   153
nmake /nologo
489c9b5090e2 Initial load
duke
parents:
diff changeset
   154
popd
489c9b5090e2 Initial load
duke
parents:
diff changeset
   155
)
489c9b5090e2 Initial load
duke
parents:
diff changeset
   156
489c9b5090e2 Initial load
duke
parents:
diff changeset
   157
goto end
489c9b5090e2 Initial load
duke
parents:
diff changeset
   158
489c9b5090e2 Initial load
duke
parents:
diff changeset
   159
:usage
489c9b5090e2 Initial load
duke
parents:
diff changeset
   160
echo Usage: create HotSpotWorkSpace HotSpotBuildSpace HotSpotJDKDist
489c9b5090e2 Initial load
duke
parents:
diff changeset
   161
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   162
echo This is the interactive build setup script (as opposed to the batch
489c9b5090e2 Initial load
duke
parents:
diff changeset
   163
echo build execution script). It creates HotSpotBuildSpace if necessary,
489c9b5090e2 Initial load
duke
parents:
diff changeset
   164
echo copies the appropriate files out of HotSpotWorkSpace into it, and
489c9b5090e2 Initial load
duke
parents:
diff changeset
   165
echo builds and runs MakeDeps in it. This has the side-effect of creating
489c9b5090e2 Initial load
duke
parents:
diff changeset
   166
echo the %ProjectFile% file in the build space, which is then used in Visual C++.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   167
echo The HotSpotJDKDist defines place where JVM binaries should be placed.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   168
echo Environment variable FORCE_MSC_VER allows to override MSVC version autodetection.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   169
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   170
echo The generated project file depends upon the include databases. If
489c9b5090e2 Initial load
duke
parents:
diff changeset
   171
echo those are changed then MakeDeps is rerun.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   172
echo.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   173
echo NOTE that it is now NOT safe to modify any of the files in the build
489c9b5090e2 Initial load
duke
parents:
diff changeset
   174
echo space, since they may be overwritten whenever this script is run or
489c9b5090e2 Initial load
duke
parents:
diff changeset
   175
echo nmake is run in that directory.
489c9b5090e2 Initial load
duke
parents:
diff changeset
   176
489c9b5090e2 Initial load
duke
parents:
diff changeset
   177
:end
489c9b5090e2 Initial load
duke
parents:
diff changeset
   178
489c9b5090e2 Initial load
duke
parents:
diff changeset
   179
endlocal