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 790f062225ba6d02678e8625f338c26365a17c46..8a77ce408809ed6d96fd1cd74a2b8ea93c026583 100755 |
| --- a/native_client_sdk/src/build_tools/build_sdk.py |
| +++ b/native_client_sdk/src/build_tools/build_sdk.py |
| @@ -368,6 +368,15 @@ def MakeNinjaRelPath(path): |
| TOOLCHAIN_LIBS = { |
| + 'bionic' : [ |
| + 'libminidump_generator.a', |
| + 'libnacl.a', |
| + 'libnacl_dyncode.a', |
| + 'libnacl_exception.a', |
| + 'libnacl_list_mappings.a', |
| + 'libppapi.a', |
| + 'libppapi_stub.a', |
| + ], |
| 'newlib' : [ |
| 'crti.o', |
| 'crtn.o', |
| @@ -448,6 +457,18 @@ def GypNinjaInstall(pepperdir, toolchains): |
| InstallFiles(ninja_out_dir, os.path.join(pepperdir, 'tools'), tools_files) |
| + # Add ARM binaries |
| + tools_files = [ |
| + ['irt_core_newlib_arm.nexe', 'irt_core_arm.nexe'], |
| + ['irt_core_newlib_arm.nexe', 'irt_core_arm.nexe'] |
| + ] |
| + if platform == 'linux': |
| + tools_files.append(['sel_ldr', 'sel_ldr_arm']) |
| + tools_files.append(['nacl_helper_bootstrap', |
| + 'nacl_helper_bootstrap_arm']) |
| + ninja_out_dir = os.path.join(OUT_DIR, build_dir + '-arm', 'Release') |
| + InstallFiles(ninja_out_dir, os.path.join(pepperdir, 'tools'), tools_files) |
| + |
| for tc in set(toolchains) & set(['newlib', 'glibc', 'pnacl']): |
| if tc == 'pnacl': |
| xarches = (None,) |
| @@ -462,6 +483,11 @@ def GypNinjaInstall(pepperdir, toolchains): |
| dst_dir = GetOutputToolchainLib(pepperdir, tc, xarch) |
| InstallFiles(src_dir, dst_dir, TOOLCHAIN_LIBS[tc]) |
| + # Copy ARM newlib components to bionic |
| + if tc == 'newlib' and xarch == 'arm' and 'bionic' in toolchains: |
| + bionic_dir = GetOutputToolchainLib(pepperdir, 'bionic', xarch) |
| + InstallFiles(src_dir, bionic_dir, TOOLCHAIN_LIBS['bionic']) |
| + |
| if tc != 'pnacl': |
| src_dir = GetGypToolchainLib(tc, xarch) |
| InstallFiles(src_dir, dst_dir, ['crt1.o']) |
| @@ -890,6 +916,8 @@ def BuildStepBuildAppEngine(pepperdir, chrome_revision): |
| def main(args): |
| parser = optparse.OptionParser(description=__doc__) |
| + parser.add_option('--qemu', help='Add qemu for ARM.', |
| + action='store_true') |
| parser.add_option('--bionic', help='Add bionic build.', |
| action='store_true') |
| parser.add_option('--tar', help='Force the tar step.', |
| @@ -995,6 +1023,10 @@ def main(args): |
| if options.build_app_engine and getos.GetPlatform() == 'linux': |
| BuildStepBuildAppEngine(pepperdir, chrome_revision) |
| + if options.qemu: |
| + qemudir = os.path.join(NACL_DIR, 'toolchain', 'linux_arm-trusted') |
| + oshelpers.Copy(['-r', qemudir, pepperdir]) |
| + |
|
Sam Clegg
2014/03/27 00:10:02
I don't think you need to full folder here, just a
noelallen1
2014/03/27 18:13:48
True, I will re-examine if/when we ship it.
|
| # Archive on non-trybots. |
| if options.archive: |
| BuildStepArchiveBundle('build', pepper_ver, chrome_revision, nacl_revision, |
| @@ -1012,3 +1044,4 @@ if __name__ == '__main__': |
| sys.exit(main(sys.argv)) |
| except KeyboardInterrupt: |
| buildbot_common.ErrorExit('build_sdk: interrupted') |
| + |