Home | History | Annotate | Download | only in etc
      1 @echo off
      2 REM Copyright (C) 2007 The Android Open Source Project
      3 REM
      4 REM Licensed under the Apache License, Version 2.0 (the "License");
      5 REM you may not use this file except in compliance with the License.
      6 REM You may obtain a copy of the License at
      7 REM
      8 REM     http://www.apache.org/licenses/LICENSE-2.0
      9 REM
     10 REM Unless required by applicable law or agreed to in writing, software
     11 REM distributed under the License is distributed on an "AS IS" BASIS,
     12 REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 REM See the License for the specific language governing permissions and
     14 REM limitations under the License.
     15 
     16 REM don't modify the caller's environment
     17 setlocal
     18 
     19 REM Locate dx.jar in the directory where dx.bat was found and start it.
     20 
     21 REM Set up prog to be the path of this script, including following symlinks,
     22 REM and set up progdir to be the fully-qualified pathname of its directory.
     23 set prog=%~f0
     24 
     25 rem Check we have a valid Java.exe in the path.
     26 set java_exe=
     27 if exist    "%~dp0..\tools\lib\find_java.bat" call    "%~dp0..\tools\lib\find_java.bat"
     28 if exist "%~dp0..\..\tools\lib\find_java.bat" call "%~dp0..\..\tools\lib\find_java.bat"
     29 if not defined java_exe goto :EOF
     30 
     31 set jarfile=dx.jar
     32 set "frameworkdir=%~dp0"
     33 rem frameworkdir must not end with a dir sep.
     34 set "frameworkdir=%frameworkdir:~0,-1%"
     35 
     36 if exist "%frameworkdir%\%jarfile%" goto JarFileOk
     37     set "frameworkdir=%~dp0lib"
     38 
     39 if exist "%frameworkdir%\%jarfile%" goto JarFileOk
     40     set "frameworkdir=%~dp0..\framework"
     41 
     42 :JarFileOk
     43 
     44 set "jarpath=%frameworkdir%\%jarfile%"
     45 
     46 set javaOpts=
     47 set args=
     48 
     49 REM By default, give dx a max heap size of 1 gig and a stack size of 1meg.
     50 rem This can be overridden by using "-JXmx..." and "-JXss..." options below.
     51 set defaultXmx=-Xmx1024M
     52 set defaultXss=-Xss1m
     53 
     54 REM Capture all arguments that are not -J options.
     55 REM Note that when reading the input arguments with %1, the cmd.exe
     56 REM automagically converts --name=value arguments into 2 arguments "--name"
     57 REM followed by "value". Dx has been changed to know how to deal with that.
     58 set params=
     59 
     60 :firstArg
     61 if [%1]==[] goto endArgs
     62 set a=%~1
     63 
     64     if [%defaultXmx%]==[] goto notXmx
     65     if %a:~0,5% NEQ -JXmx goto notXmx
     66         set defaultXmx=
     67     :notXmx
     68 
     69     if [%defaultXss%]==[] goto notXss
     70     if %a:~0,5% NEQ -JXss goto notXss
     71         set defaultXss=
     72     :notXss
     73 
     74     if %a:~0,2% NEQ -J goto notJ
     75         set javaOpts=%javaOpts% -%a:~2%
     76         shift /1
     77         goto firstArg
     78 
     79     :notJ
     80     set params=%params% %1
     81     shift /1
     82     goto firstArg
     83 
     84 :endArgs
     85 
     86 set javaOpts=%javaOpts% %defaultXmx% %defaultXss%
     87 call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params%
     88 
     89