win: Build with the arch chosen by user
This commit is contained in:
Родитель
1a6832d849
Коммит
de016e72a5
|
@ -8,7 +8,7 @@ import sys
|
||||||
import stat
|
import stat
|
||||||
|
|
||||||
from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, PLATFORM, \
|
from lib.config import LIBCHROMIUMCONTENT_COMMIT, BASE_URL, PLATFORM, \
|
||||||
DIST_ARCH
|
get_target_arch
|
||||||
from lib.util import scoped_cwd, rm_rf, get_atom_shell_version, make_zip, \
|
from lib.util import scoped_cwd, rm_rf, get_atom_shell_version, make_zip, \
|
||||||
execute, get_chromedriver_version
|
execute, get_chromedriver_version
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ def create_symbols():
|
||||||
|
|
||||||
def create_dist_zip():
|
def create_dist_zip():
|
||||||
dist_name = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
dist_name = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
||||||
PLATFORM, DIST_ARCH)
|
PLATFORM, get_target_arch())
|
||||||
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
|
@ -168,7 +168,7 @@ def create_dist_zip():
|
||||||
|
|
||||||
def create_chromedriver_zip():
|
def create_chromedriver_zip():
|
||||||
dist_name = 'chromedriver-{0}-{1}-{2}.zip'.format(get_chromedriver_version(),
|
dist_name = 'chromedriver-{0}-{1}-{2}.zip'.format(get_chromedriver_version(),
|
||||||
PLATFORM, DIST_ARCH)
|
PLATFORM, get_target_arch())
|
||||||
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
|
@ -183,7 +183,7 @@ def create_chromedriver_zip():
|
||||||
def create_symbols_zip():
|
def create_symbols_zip():
|
||||||
dist_name = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
dist_name = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
||||||
PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
zip_file = os.path.join(SOURCE_ROOT, 'dist', dist_name)
|
||||||
|
|
||||||
with scoped_cwd(DIST_DIR):
|
with scoped_cwd(DIST_DIR):
|
||||||
|
|
|
@ -1,22 +1,13 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
||||||
BASE_URL = 'http://gh-contractor-zcbenz.s3.amazonaws.com/libchromiumcontent'
|
BASE_URL = 'http://gh-contractor-zcbenz.s3.amazonaws.com/libchromiumcontent'
|
||||||
LIBCHROMIUMCONTENT_COMMIT = 'f1ad1412461ba3345a27cfe935ffc872dba0ac5b'
|
LIBCHROMIUMCONTENT_COMMIT = 'f1ad1412461ba3345a27cfe935ffc872dba0ac5b'
|
||||||
|
|
||||||
ARCH = {
|
|
||||||
'cygwin': '32bit',
|
|
||||||
'darwin': '64bit',
|
|
||||||
'linux2': platform.architecture()[0],
|
|
||||||
'win32': '32bit',
|
|
||||||
}[sys.platform]
|
|
||||||
DIST_ARCH = {
|
|
||||||
'32bit': 'ia32',
|
|
||||||
'64bit': 'x64',
|
|
||||||
}[ARCH]
|
|
||||||
|
|
||||||
PLATFORM = {
|
PLATFORM = {
|
||||||
'cygwin': 'win32',
|
'cygwin': 'win32',
|
||||||
'darwin': 'darwin',
|
'darwin': 'darwin',
|
||||||
|
@ -26,10 +17,35 @@ PLATFORM = {
|
||||||
|
|
||||||
verbose_mode = False
|
verbose_mode = False
|
||||||
|
|
||||||
|
|
||||||
|
def get_target_arch():
|
||||||
|
# Always build 64bit on OS X.
|
||||||
|
if PLATFORM == 'darwin':
|
||||||
|
return 'x64'
|
||||||
|
# Only build for host's arch on Linux.
|
||||||
|
elif PLATFORM == 'linux':
|
||||||
|
if platform.architecture()[0] == '32bit':
|
||||||
|
return 'ia32'
|
||||||
|
else:
|
||||||
|
return 'x64'
|
||||||
|
# On Windows it depends on user.
|
||||||
|
elif PLATFORM == 'win32':
|
||||||
|
target_arch_path = os.path.join(__file__, '..', '..', '..', 'vendor',
|
||||||
|
'brightray', 'vendor', 'download',
|
||||||
|
'libchromiumcontent', '.target_arch')
|
||||||
|
with open(os.path.normpath(target_arch_path)) as f:
|
||||||
|
target_arch = f.read().strip()
|
||||||
|
return target_arch
|
||||||
|
# Maybe we will support other platforms in future.
|
||||||
|
else:
|
||||||
|
return 'x64'
|
||||||
|
|
||||||
|
|
||||||
def enable_verbose_mode():
|
def enable_verbose_mode():
|
||||||
print 'Running in verbose mode'
|
print 'Running in verbose mode'
|
||||||
global verbose_mode
|
global verbose_mode
|
||||||
verbose_mode = True
|
verbose_mode = True
|
||||||
|
|
||||||
|
|
||||||
def is_verbose_mode():
|
def is_verbose_mode():
|
||||||
return verbose_mode
|
return verbose_mode
|
||||||
|
|
|
@ -4,7 +4,7 @@ import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from lib.config import DIST_ARCH
|
from lib.config import get_target_arch
|
||||||
|
|
||||||
|
|
||||||
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
SOURCE_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
|
||||||
|
@ -23,14 +23,6 @@ def update_external_binaries():
|
||||||
|
|
||||||
|
|
||||||
def update_gyp():
|
def update_gyp():
|
||||||
target_arch = DIST_ARCH
|
|
||||||
if sys.platform == 'darwin':
|
|
||||||
# Only have 64bit build on OS X.
|
|
||||||
target_arch = 'x64'
|
|
||||||
elif sys.platform in ['cygwin', 'win32']:
|
|
||||||
# Only have 32bit build on Windows.
|
|
||||||
target_arch = 'ia32'
|
|
||||||
|
|
||||||
# Since gyp doesn't support specify link_settings for each configuration,
|
# Since gyp doesn't support specify link_settings for each configuration,
|
||||||
# we are not able to link to different libraries in "Debug" and "Release"
|
# we are not able to link to different libraries in "Debug" and "Release"
|
||||||
# configurations.
|
# configurations.
|
||||||
|
@ -38,6 +30,7 @@ def update_gyp():
|
||||||
# for twice, one is to generate "Debug" config, the other one to generate
|
# for twice, one is to generate "Debug" config, the other one to generate
|
||||||
# the "Release" config. And the settings are controlled by the variable
|
# the "Release" config. And the settings are controlled by the variable
|
||||||
# "libchromiumcontent_component" which is defined before running gyp.
|
# "libchromiumcontent_component" which is defined before running gyp.
|
||||||
|
target_arch = get_target_arch()
|
||||||
return (run_gyp(target_arch, 0) or run_gyp(target_arch, 1))
|
return (run_gyp(target_arch, 0) or run_gyp(target_arch, 1))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from lib.config import DIST_ARCH, PLATFORM
|
from lib.config import PLATFORM, get_target_arch
|
||||||
from lib.util import execute, get_atom_shell_version, parse_version, \
|
from lib.util import execute, get_atom_shell_version, parse_version, \
|
||||||
get_chromedriver_version, scoped_cwd
|
get_chromedriver_version, scoped_cwd
|
||||||
from lib.github import GitHub
|
from lib.github import GitHub
|
||||||
|
@ -22,13 +22,13 @@ OUT_DIR = os.path.join(SOURCE_ROOT, 'out', 'R')
|
||||||
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
DIST_DIR = os.path.join(SOURCE_ROOT, 'dist')
|
||||||
DIST_NAME = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
DIST_NAME = 'atom-shell-{0}-{1}-{2}.zip'.format(ATOM_SHELL_VERSION,
|
||||||
PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
SYMBOLS_NAME = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
SYMBOLS_NAME = 'atom-shell-{0}-{1}-{2}-symbols.zip'.format(ATOM_SHELL_VERSION,
|
||||||
PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
CHROMEDRIVER_NAME = 'chromedriver-{0}-{1}-{2}.zip'.format(CHROMEDRIVER_VERSION,
|
CHROMEDRIVER_NAME = 'chromedriver-{0}-{1}-{2}.zip'.format(CHROMEDRIVER_VERSION,
|
||||||
PLATFORM,
|
PLATFORM,
|
||||||
DIST_ARCH)
|
get_target_arch())
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit f44a3834690c010a1841cde92ca5e4798b1c9d2f
|
Subproject commit 33367e86d33f2ba8bf3d9dc796b469e6d5855e20
|
Загрузка…
Ссылка в новой задаче