blob: bc40873e8ec2c1b4eceb5b03e2aa33e61833096a [file] [log] [blame]
Ian Zerny5fffb0a2019-02-11 13:54:22 +01001#!/usr/bin/env python
2# Copyright (c) 2019, the R8 project authors. Please see the AUTHORS file
3# for details. All rights reserved. Use of this source code is governed by a
4# BSD-style license that can be found in the LICENSE file.
5
Ian Zerny3f54e222019-02-12 10:51:17 +01006import defines
Ian Zerny5fffb0a2019-02-11 13:54:22 +01007import os
8import sys
Ian Zerny5fffb0a2019-02-11 13:54:22 +01009
Ian Zerny3f54e222019-02-12 10:51:17 +010010JDK_DIR = os.path.join(defines.THIRD_PARTY, 'openjdk')
Ian Zerny5fffb0a2019-02-11 13:54:22 +010011
12def GetJdkHome():
13 root = os.path.join(JDK_DIR, 'openjdk-9.0.4')
Ian Zerny3f54e222019-02-12 10:51:17 +010014 if defines.IsLinux():
Ian Zerny5fffb0a2019-02-11 13:54:22 +010015 return os.path.join(root, 'linux')
Ian Zerny3f54e222019-02-12 10:51:17 +010016 elif defines.IsOsX():
Ian Zerny5fffb0a2019-02-11 13:54:22 +010017 return os.path.join(root, 'osx')
Ian Zerny3f54e222019-02-12 10:51:17 +010018 elif defines.IsWindows():
Ian Zerny5fffb0a2019-02-11 13:54:22 +010019 return os.path.join(root, 'windows')
20 else:
21 return os.environ['JAVA_HOME']
Ian Zerny5fffb0a2019-02-11 13:54:22 +010022
Morten Krogh-Jespersenf2f98e12020-03-23 09:02:30 +010023def GetJdk8Home():
24 root = os.path.join(JDK_DIR, 'jdk8')
25 if defines.IsLinux():
26 return os.path.join(root, 'linux-x86')
27 elif defines.IsOsX():
28 return os.path.join(root, 'darwin-x86')
29 else:
30 return os.environ['JAVA_HOME']
31
Ian Zerny5fffb0a2019-02-11 13:54:22 +010032def GetJavaExecutable(jdkHome=None):
33 jdkHome = jdkHome if jdkHome else GetJdkHome()
Ian Zerny3f54e222019-02-12 10:51:17 +010034 executable = 'java.exe' if defines.IsWindows() else 'java'
Ian Zerny5fffb0a2019-02-11 13:54:22 +010035 return os.path.join(jdkHome, 'bin', executable) if jdkHome else executable
36
37def GetJavacExecutable(jdkHome=None):
38 jdkHome = jdkHome if jdkHome else GetJdkHome()
Ian Zerny3f54e222019-02-12 10:51:17 +010039 executable = 'javac.exe' if defines.IsWindows() else 'javac'
Ian Zerny5fffb0a2019-02-11 13:54:22 +010040 return os.path.join(jdkHome, 'bin', executable) if jdkHome else executable
41
Ian Zerny5fffb0a2019-02-11 13:54:22 +010042def Main():
43 print GetJdkHome()
44
45if __name__ == '__main__':
46 sys.exit(Main())