electron/script/lib/config.py

116 lines
3 KiB
Python
Raw Normal View History

2014-01-31 04:18:30 +00:00
#!/usr/bin/env python
from __future__ import print_function
2015-04-11 10:26:15 +00:00
import errno
import os
2014-06-04 15:24:38 +00:00
import platform
import sys
2017-11-21 10:22:31 +00:00
# URL to the mips64el sysroot image.
MIPS64EL_SYSROOT_URL = 'https://github.com/electron' \
+ '/debian-sysroot-image-creator/releases/download' \
+ '/v0.5.0/debian_jessie_mips64-sysroot.tar.bz2'
2017-11-21 10:22:31 +00:00
# URL to the mips64el toolchain.
MIPS64EL_GCC = 'gcc-4.8.3-d197-n64-loongson'
MIPS64EL_GCC_URL = 'http://ftp.loongnix.org/toolchain/gcc/release/' \
+ MIPS64EL_GCC + '.tar.gz'
BASE_URL = os.getenv('LIBCHROMIUMCONTENT_MIRROR') or \
2016-12-16 07:04:13 +00:00
'https://s3.amazonaws.com/github-janky-artifacts/libchromiumcontent'
2014-06-04 15:24:38 +00:00
PLATFORM = {
2014-06-04 15:24:38 +00:00
'cygwin': 'win32',
'darwin': 'darwin',
'linux': 'linux',
2014-06-04 15:24:38 +00:00
'linux2': 'linux',
'win32': 'win32',
}[sys.platform]
2014-12-08 17:00:35 +00:00
LINUX_BINARIES = [
'electron',
'chrome-sandbox',
'libffmpeg.so',
'libGLESv2.so',
'libEGL.so',
'swiftshader/libGLESv2.so',
'swiftshader/libEGL.so',
'libvk_swiftshader.so'
]
2014-12-08 17:00:35 +00:00
verbose_mode = False
2015-09-29 02:59:52 +00:00
def get_platform_key():
if os.environ.has_key('MAS_BUILD'):
return 'mas'
else:
return PLATFORM
def get_target_arch():
arch = os.environ.get('TARGET_ARCH')
if arch is None:
return 'x64'
return arch
2016-05-25 00:33:44 +00:00
def get_env_var(name):
value = os.environ.get('ELECTRON_' + name, '')
if not value:
# TODO Remove ATOM_SHELL_* fallback values
value = os.environ.get('ATOM_SHELL_' + name, '')
if value:
print('Warning: Use $ELECTRON_' + name +
' instead of $ATOM_SHELL_' + name)
2016-05-25 00:33:44 +00:00
return value
2015-04-12 04:00:02 +00:00
def s3_config():
2016-05-25 00:33:44 +00:00
config = (get_env_var('S3_BUCKET'),
get_env_var('S3_ACCESS_KEY'),
get_env_var('S3_SECRET_KEY'))
2016-05-24 17:27:46 +00:00
message = ('Error: Please set the $ELECTRON_S3_BUCKET, '
'$ELECTRON_S3_ACCESS_KEY, and '
'$ELECTRON_S3_SECRET_KEY environment variables')
2015-04-12 04:00:02 +00:00
assert all(len(c) for c in config), message
return config
2014-12-08 17:00:35 +00:00
def enable_verbose_mode():
print('Running in verbose mode')
2014-12-08 17:00:35 +00:00
global verbose_mode
verbose_mode = True
2014-12-08 17:00:35 +00:00
def is_verbose_mode():
return verbose_mode
def get_zip_name(name, version, suffix=''):
2016-08-26 00:51:37 +00:00
arch = get_target_arch()
2016-09-01 12:00:29 +00:00
if arch == 'arm':
2016-08-26 00:51:37 +00:00
arch += 'v7l'
zip_name = '{0}-{1}-{2}-{3}'.format(name, version, get_platform_key(), arch)
if suffix:
zip_name += '-' + suffix
return zip_name + '.zip'
def build_env():
env = os.environ.copy()
if get_target_arch() == "mips64el":
SOURCE_ROOT = os.path.abspath(os.path.dirname(
os.path.dirname(os.path.dirname(__file__))))
VENDOR_DIR = os.path.join(SOURCE_ROOT, 'vendor')
gcc_dir = os.path.join(VENDOR_DIR, MIPS64EL_GCC)
ldlib_dirs = [
gcc_dir + '/usr/x86_64-unknown-linux-gnu/mips64el-redhat-linux/lib',
gcc_dir + '/usr/lib64',
gcc_dir + '/usr/mips64el-redhat-linux/lib64',
gcc_dir + '/usr/mips64el-redhat-linux/sysroot/lib64',
gcc_dir + '/usr/mips64el-redhat-linux/sysroot/usr/lib64',
]
env['LD_LIBRARY_PATH'] = os.pathsep.join(ldlib_dirs)
env['PATH'] = os.pathsep.join([gcc_dir + '/usr/bin', env['PATH']])
return env