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