Chromium Code Reviews| Index: native_client_sdk/src/build_tools/build_sdk.py |
| diff --git a/native_client_sdk/src/build_tools/build_sdk.py b/native_client_sdk/src/build_tools/build_sdk.py |
| index e996e17ac770cea921d0035e95a31360feb3897d..7ba5f99ec8288636c307a80cef4f3c1db4fa45be 100755 |
| --- a/native_client_sdk/src/build_tools/build_sdk.py |
| +++ b/native_client_sdk/src/build_tools/build_sdk.py |
| @@ -18,7 +18,6 @@ and whether it should upload an SDK to file storage (GSTORE) |
| # pylint: disable=W0621 |
| # std python includes |
| -import copy |
| import datetime |
| import glob |
| import optparse |
| @@ -410,6 +409,8 @@ def GypNinjaInstall(pepperdir, toolchains): |
| ninja_out_dir = os.path.join(OUT_DIR, build_dir, 'Release') |
| tools_files = [ |
| ['sel_ldr', 'sel_ldr_x86_32'], |
| + ['sel_ldr_x86_64', 'sel_ldr_x86_64'], |
| + ['sel_ldr_arm', 'sel_ldr_arm'], |
| ['ncval_new', 'ncval'], |
| ['irt_core_newlib_x32.nexe', 'irt_core_x86_32.nexe'], |
| ['irt_core_newlib_x64.nexe', 'irt_core_x86_64.nexe'], |
| @@ -426,13 +427,13 @@ def GypNinjaInstall(pepperdir, toolchains): |
| ['minidump_stackwalk', 'minidump_stackwalk'] |
| ] |
| - tools_files.append(['sel_ldr64', 'sel_ldr_x86_64']) |
| - |
| if platform == 'linux': |
| tools_files.append(['nacl_helper_bootstrap', |
| 'nacl_helper_bootstrap_x86_32']) |
| - tools_files.append(['nacl_helper_bootstrap64', |
| + tools_files.append(['nacl_helper_bootstrap_x86_64', |
| 'nacl_helper_bootstrap_x86_64']) |
| + tools_files.append(['nacl_helper_bootstrap_arm', |
| + 'nacl_helper_bootstrap_arm']) |
| buildbot_common.MakeDir(os.path.join(pepperdir, 'tools')) |
| @@ -481,16 +482,24 @@ def GypNinjaBuild_NaCl(rel_out_dir): |
| out_dir_64 = MakeNinjaRelPath(rel_out_dir + '-64') |
| GypNinjaBuild('x64', gyp_py, nacl_core_sdk_gyp, 'sel_ldr', out_dir_64) |
| - # We only need sel_ldr from the 64-bit out directory. |
| - # sel_ldr needs to be renamed, so we'll call it sel_ldr64. |
| - files_to_copy = [('sel_ldr', 'sel_ldr64')] |
| + files_to_copy = ['sel_ldr'] |
| if platform == 'linux': |
| - files_to_copy.append(('nacl_helper_bootstrap', 'nacl_helper_bootstrap64')) |
| + files_to_copy.append('nacl_helper_bootstrap') |
| + |
| + out_dir = os.path.join(SRC_DIR, out_dir, 'Release') |
| + out_dir_64 = os.path.join(SRC_DIR, out_dir_64, 'Release') |
| + out_dir_arm = os.path.join(SRC_DIR, out_dir_arm, 'Release') |
| + |
| + for src in files_to_copy: |
| + buildbot_common.CopyFile( |
| + os.path.join(out_dir_64, src), os.path.join(out_dir, src + '_x86_64')) |
| + buildbot_common.CopyFile( |
| + os.path.join(out_dir_arm, src), os.path.join(out_dir, src + '_arm')) |
| - for src, dst in files_to_copy: |
| + if platform == 'linux': |
| buildbot_common.CopyFile( |
| - os.path.join(SRC_DIR, out_dir_64, 'Release', src), |
| - os.path.join(SRC_DIR, out_dir, 'Release', dst)) |
| + os.path.join(out_dir_arm, 'irt_core_newlib_arm.nexe'), |
| + os.path.join(out_dir, 'irt_core_newlib_arm.nexe')) |
| def GypNinjaBuild_Breakpad(rel_out_dir): |
| @@ -529,7 +538,7 @@ def GypNinjaBuild_Pnacl(rel_out_dir, target_arch): |
| def GypNinjaBuild(arch, gyp_py_script, gyp_file, targets, |
| out_dir, force_arm_gcc=True): |
| - gyp_env = copy.copy(os.environ) |
| + gyp_env = dict(os.environ) |
| gyp_env['GYP_GENERATORS'] = 'ninja' |
| gyp_defines = [] |
| if options.mac_sdk: |
| @@ -537,16 +546,25 @@ def GypNinjaBuild(arch, gyp_py_script, gyp_file, targets, |
| if arch: |
| gyp_defines.append('target_arch=%s' % arch) |
| if arch == 'arm': |
| - gyp_defines += ['armv7=1', 'arm_thumb=0', 'arm_neon=1'] |
| + if getos.GetPlatform() == 'linux': |
| + gyp_env['CC'] = 'arm-linux-gnueabihf-gcc' |
| + gyp_env['CXX'] = 'arm-linux-gnueabihf-g++' |
| + gyp_env['AR'] = 'arm-linux-gnueabihf-ar' |
| + gyp_env['AS'] = 'arm-linux-gnueabihf-as' |
| + gyp_env['CC_host'] = 'cc' |
| + gyp_env['CXX_host'] = 'c++' |
|
binji
2014/01/08 23:01:15
requires installing arm cross toolchain
|
| + gyp_defines += ['armv7=1', 'arm_thumb=0', 'arm_neon=1', |
| + 'arm_float_abi=hard'] |
| if force_arm_gcc: |
| gyp_defines.append('nacl_enable_arm_gcc=1') |
| if getos.GetPlatform() == 'mac': |
| gyp_defines.append('clang=1') |
| gyp_env['GYP_DEFINES'] = ' '.join(gyp_defines) |
| - for key in ['GYP_GENERATORS', 'GYP_DEFINES']: |
| - value = gyp_env[key] |
| - print '%s="%s"' % (key, value) |
| + for key in ['GYP_GENERATORS', 'GYP_DEFINES', 'CC']: |
| + value = gyp_env.get(key) |
| + if value is not None: |
| + print '%s="%s"' % (key, value) |
| gyp_generator_flags = ['-G', 'output_dir=%s' % (out_dir,)] |
| gyp_depth = '--depth=.' |
| buildbot_common.Run( |