Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Entry point for both build and try bots. | 6 """Entry point for both build and try bots. |
| 7 | 7 |
| 8 This script is invoked from XXX, usually without arguments | 8 This script is invoked from XXX, usually without arguments |
| 9 to package an SDK. It automatically determines whether | 9 to package an SDK. It automatically determines whether |
| 10 this SDK is for mac, win, linux. | 10 this SDK is for mac, win, linux. |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 60 NACLPORTS_REV = '65c71c1524a74ff8415573e5e5ef7c59ce4ac437' | 60 NACLPORTS_REV = '65c71c1524a74ff8415573e5e5ef7c59ce4ac437' |
| 61 | 61 |
| 62 GYPBUILD_DIR = 'gypbuild' | 62 GYPBUILD_DIR = 'gypbuild' |
| 63 | 63 |
| 64 options = None | 64 options = None |
| 65 | 65 |
| 66 # Map of: ToolchainName: (PackageName, SDKDir, arch). | 66 # Map of: ToolchainName: (PackageName, SDKDir, arch). |
| 67 TOOLCHAIN_PACKAGE_MAP = { | 67 TOOLCHAIN_PACKAGE_MAP = { |
| 68 'arm_glibc': ('nacl_arm_glibc', '%(platform)s_arm_glibc', 'arm'), | 68 'arm_glibc': ('nacl_arm_glibc', '%(platform)s_arm_glibc', 'arm'), |
| 69 'x86_glibc': ('nacl_x86_glibc', '%(platform)s_x86_glibc', 'x86'), | 69 'x86_glibc': ('nacl_x86_glibc', '%(platform)s_x86_glibc', 'x86'), |
| 70 'arm_bionic': ('nacl_arm_bionic', '%(platform)s_arm_bionic', 'arm'), | |
| 71 'pnacl': ('pnacl_newlib', '%(platform)s_pnacl', 'pnacl') | 70 'pnacl': ('pnacl_newlib', '%(platform)s_pnacl', 'pnacl') |
| 72 } | 71 } |
| 73 | 72 |
| 74 | 73 |
| 75 def GetToolchainDirName(tcname): | 74 def GetToolchainDirName(tcname): |
| 76 """Return the directory name for a given toolchain""" | 75 """Return the directory name for a given toolchain""" |
| 77 return TOOLCHAIN_PACKAGE_MAP[tcname][1] % {'platform': getos.GetPlatform()} | 76 return TOOLCHAIN_PACKAGE_MAP[tcname][1] % {'platform': getos.GetPlatform()} |
| 78 | 77 |
| 79 | 78 |
| 80 def GetToolchainDir(pepperdir, tcname): | 79 def GetToolchainDir(pepperdir, tcname): |
| 81 """Return the full path to a given toolchain within a given sdk root""" | 80 """Return the full path to a given toolchain within a given sdk root""" |
| 82 return os.path.join(pepperdir, 'toolchain', GetToolchainDirName(tcname)) | 81 return os.path.join(pepperdir, 'toolchain', GetToolchainDirName(tcname)) |
| 83 | 82 |
| 84 | 83 |
| 85 def GetToolchainLibc(tcname): | 84 def GetToolchainLibc(tcname): |
| 86 if tcname == 'pnacl': | 85 if tcname == 'pnacl': |
| 87 return 'newlib' | 86 return 'newlib' |
| 88 for libc in ('bionic', 'glibc', 'newlib', 'host'): | 87 for libc in ('glibc', 'newlib', 'host'): |
| 89 if libc in tcname: | 88 if libc in tcname: |
| 90 return libc | 89 return libc |
| 91 | 90 |
| 92 | 91 |
| 93 def GetToolchainNaClInclude(pepperdir, tcname, arch=None): | 92 def GetToolchainNaClInclude(pepperdir, tcname, arch=None): |
| 94 tcpath = GetToolchainDir(pepperdir, tcname) | 93 tcpath = GetToolchainDir(pepperdir, tcname) |
| 95 if arch is None: | 94 if arch is None: |
| 96 arch = TOOLCHAIN_PACKAGE_MAP[tcname][2] | 95 arch = TOOLCHAIN_PACKAGE_MAP[tcname][2] |
| 97 if arch == 'x86': | 96 if arch == 'x86': |
| 98 return os.path.join(tcpath, 'x86_64-nacl', 'include') | 97 return os.path.join(tcpath, 'x86_64-nacl', 'include') |
| (...skipping 19 matching lines...) Expand all Loading... | |
| 118 def GetGypBuiltLib(tcname, arch): | 117 def GetGypBuiltLib(tcname, arch): |
| 119 if arch == 'ia32': | 118 if arch == 'ia32': |
| 120 lib_suffix = '32' | 119 lib_suffix = '32' |
| 121 elif arch == 'x64': | 120 elif arch == 'x64': |
| 122 lib_suffix = '64' | 121 lib_suffix = '64' |
| 123 elif arch == 'arm': | 122 elif arch == 'arm': |
| 124 lib_suffix = 'arm' | 123 lib_suffix = 'arm' |
| 125 else: | 124 else: |
| 126 lib_suffix = '' | 125 lib_suffix = '' |
| 127 | 126 |
| 128 if tcname == 'arm_bionic': | 127 tcdir = 'tc_' + GetToolchainLibc(tcname) |
| 129 tcdir = 'tc_newlib' | |
| 130 else: | |
| 131 tcdir = 'tc_' + GetToolchainLibc(tcname) | |
| 132 | 128 |
| 133 if tcname == 'pnacl': | 129 if tcname == 'pnacl': |
| 134 if arch is None: | 130 if arch is None: |
| 135 lib_suffix = '' | 131 lib_suffix = '' |
| 136 tcdir = 'tc_pnacl_newlib' | 132 tcdir = 'tc_pnacl_newlib' |
| 137 arch = 'x64' | 133 arch = 'x64' |
| 138 else: | 134 else: |
| 139 arch = 'clang-' + arch | 135 arch = 'clang-' + arch |
| 140 | 136 |
| 141 return os.path.join(GetNinjaOutDir(arch), 'gen', tcdir, 'lib' + lib_suffix) | 137 return os.path.join(GetNinjaOutDir(arch), 'gen', tcdir, 'lib' + lib_suffix) |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 160 | 156 |
| 161 def GetPNaClTranslatorLib(tcpath, arch): | 157 def GetPNaClTranslatorLib(tcpath, arch): |
| 162 if arch not in ['arm', 'x86-32', 'x86-64']: | 158 if arch not in ['arm', 'x86-32', 'x86-64']: |
| 163 buildbot_common.ErrorExit('Unknown architecture %s.' % arch) | 159 buildbot_common.ErrorExit('Unknown architecture %s.' % arch) |
| 164 return os.path.join(tcpath, 'translator', arch, 'lib') | 160 return os.path.join(tcpath, 'translator', arch, 'lib') |
| 165 | 161 |
| 166 | 162 |
| 167 def BuildStepDownloadToolchains(toolchains): | 163 def BuildStepDownloadToolchains(toolchains): |
| 168 buildbot_common.BuildStep('Running package_version.py') | 164 buildbot_common.BuildStep('Running package_version.py') |
| 169 args = [sys.executable, PKGVER, '--mode', 'nacl_core_sdk'] | 165 args = [sys.executable, PKGVER, '--mode', 'nacl_core_sdk'] |
| 170 if 'arm_bionic' in toolchains: | |
| 171 build_platform = '%s_x86' % getos.GetPlatform() | |
| 172 args.extend(['--append', os.path.join(build_platform, 'nacl_arm_bionic')]) | |
| 173 args.extend(['sync', '--extract']) | 166 args.extend(['sync', '--extract']) |
| 174 buildbot_common.Run(args, cwd=NACL_DIR) | 167 buildbot_common.Run(args, cwd=NACL_DIR) |
| 175 | 168 |
| 176 | 169 |
| 177 def BuildStepCleanPepperDirs(pepperdir, pepperdir_old): | 170 def BuildStepCleanPepperDirs(pepperdir, pepperdir_old): |
| 178 buildbot_common.BuildStep('Clean Pepper Dirs') | 171 buildbot_common.BuildStep('Clean Pepper Dirs') |
| 179 dirs_to_remove = ( | 172 dirs_to_remove = ( |
| 180 pepperdir, | 173 pepperdir, |
| 181 pepperdir_old, | 174 pepperdir_old, |
| 182 os.path.join(OUT_DIR, 'arm_trusted') | 175 os.path.join(OUT_DIR, 'arm_trusted') |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 286 ('native_client/src/include/nacl/nacl_exception.h', 'nacl/'), | 279 ('native_client/src/include/nacl/nacl_exception.h', 'nacl/'), |
| 287 ('native_client/src/include/nacl/nacl_minidump.h', 'nacl/'), | 280 ('native_client/src/include/nacl/nacl_minidump.h', 'nacl/'), |
| 288 ('native_client/src/untrusted/irt/irt.h', ''), | 281 ('native_client/src/untrusted/irt/irt.h', ''), |
| 289 ('native_client/src/untrusted/irt/irt_dev.h', ''), | 282 ('native_client/src/untrusted/irt/irt_dev.h', ''), |
| 290 ('native_client/src/untrusted/irt/irt_extension.h', ''), | 283 ('native_client/src/untrusted/irt/irt_extension.h', ''), |
| 291 ('native_client/src/untrusted/nacl/nacl_dyncode.h', 'nacl/'), | 284 ('native_client/src/untrusted/nacl/nacl_dyncode.h', 'nacl/'), |
| 292 ('native_client/src/untrusted/nacl/nacl_startup.h', 'nacl/'), | 285 ('native_client/src/untrusted/nacl/nacl_startup.h', 'nacl/'), |
| 293 ('native_client/src/untrusted/valgrind/dynamic_annotations.h', 'nacl/'), | 286 ('native_client/src/untrusted/valgrind/dynamic_annotations.h', 'nacl/'), |
| 294 ('ppapi/nacl_irt/public/irt_ppapi.h', ''), | 287 ('ppapi/nacl_irt/public/irt_ppapi.h', ''), |
| 295 ], | 288 ], |
| 296 'bionic': [ | |
| 297 ('ppapi/nacl_irt/public/irt_ppapi.h', ''), | |
| 298 ], | |
| 299 } | 289 } |
| 300 | 290 |
| 301 def InstallFiles(src_root, dest_root, file_list): | 291 def InstallFiles(src_root, dest_root, file_list): |
| 302 """Copy a set of files from src_root to dest_root according | 292 """Copy a set of files from src_root to dest_root according |
| 303 to the given mapping. This allows files to be copied from | 293 to the given mapping. This allows files to be copied from |
| 304 to a location in the destination tree that is different to the | 294 to a location in the destination tree that is different to the |
| 305 location in the source tree. | 295 location in the source tree. |
| 306 | 296 |
| 307 If the destination mapping ends with a '/' then the destination | 297 If the destination mapping ends with a '/' then the destination |
| 308 basename is inherited from the the source file. | 298 basename is inherited from the the source file. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 347 | 337 |
| 348 | 338 |
| 349 def MakeNinjaRelPath(path): | 339 def MakeNinjaRelPath(path): |
| 350 return os.path.join(os.path.relpath(OUT_DIR, SRC_DIR), path) | 340 return os.path.join(os.path.relpath(OUT_DIR, SRC_DIR), path) |
| 351 | 341 |
| 352 | 342 |
| 353 # TODO(ncbray): stop building and copying libraries into the SDK that are | 343 # TODO(ncbray): stop building and copying libraries into the SDK that are |
| 354 # already provided by the toolchain. | 344 # already provided by the toolchain. |
| 355 # Mapping from libc to libraries gyp-build trusted libraries | 345 # Mapping from libc to libraries gyp-build trusted libraries |
| 356 TOOLCHAIN_LIBS = { | 346 TOOLCHAIN_LIBS = { |
| 357 'bionic' : [ | |
| 358 'libminidump_generator.a', | |
| 359 'libnacl_dyncode.a', | |
| 360 'libnacl_exception.a', | |
| 361 'libnacl_list_mappings.a', | |
| 362 'libppapi.a', | |
| 363 ], | |
| 364 'newlib' : [ | 347 'newlib' : [ |
| 365 'libminidump_generator.a', | 348 'libminidump_generator.a', |
| 366 'libnacl.a', | 349 'libnacl.a', |
| 367 'libnacl_dyncode.a', | 350 'libnacl_dyncode.a', |
| 368 'libnacl_exception.a', | 351 'libnacl_exception.a', |
| 369 'libnacl_list_mappings.a', | 352 'libnacl_list_mappings.a', |
| 370 'libnosys.a', | 353 'libnosys.a', |
| 371 'libppapi.a', | 354 'libppapi.a', |
| 372 'libppapi_stub.a', | 355 'libppapi_stub.a', |
| 373 'libpthread.a', | 356 'libpthread.a', |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 443 ] | 426 ] |
| 444 InstallFiles(GetNinjaOutDir('arm'), tools_dir, arm_files) | 427 InstallFiles(GetNinjaOutDir('arm'), tools_dir, arm_files) |
| 445 | 428 |
| 446 for tc in toolchains: | 429 for tc in toolchains: |
| 447 if tc in ('host', 'clang-newlib'): | 430 if tc in ('host', 'clang-newlib'): |
| 448 continue | 431 continue |
| 449 elif tc == 'pnacl': | 432 elif tc == 'pnacl': |
| 450 xarches = (None, 'ia32', 'x64', 'arm') | 433 xarches = (None, 'ia32', 'x64', 'arm') |
| 451 elif tc in ('x86_glibc', 'x86_newlib'): | 434 elif tc in ('x86_glibc', 'x86_newlib'): |
| 452 xarches = ('ia32', 'x64') | 435 xarches = ('ia32', 'x64') |
| 453 elif tc in ('arm_glibc', 'arm_bionic'): | 436 elif tc == 'arm_glibc': |
| 454 xarches = ('arm',) | 437 xarches = ('arm',) |
| 455 else: | 438 else: |
| 456 raise AssertionError('unexpected toolchain value: %s' % tc) | 439 raise AssertionError('unexpected toolchain value: %s' % tc) |
| 457 | 440 |
| 458 for xarch in xarches: | 441 for xarch in xarches: |
| 459 src_dir = GetGypBuiltLib(tc, xarch) | 442 src_dir = GetGypBuiltLib(tc, xarch) |
| 460 dst_dir = GetOutputToolchainLib(pepperdir, tc, xarch) | 443 dst_dir = GetOutputToolchainLib(pepperdir, tc, xarch) |
| 461 libc = GetToolchainLibc(tc) | 444 libc = GetToolchainLibc(tc) |
| 462 InstallFiles(src_dir, dst_dir, TOOLCHAIN_LIBS[libc]) | 445 InstallFiles(src_dir, dst_dir, TOOLCHAIN_LIBS[libc]) |
| 463 | 446 |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 868 buildbot_common.BuildStep('Build GoNaCl AppEngine Projects') | 851 buildbot_common.BuildStep('Build GoNaCl AppEngine Projects') |
| 869 cmd = ['make', 'upload', 'REVISION=%s' % chrome_revision] | 852 cmd = ['make', 'upload', 'REVISION=%s' % chrome_revision] |
| 870 env = dict(os.environ) | 853 env = dict(os.environ) |
| 871 env['NACL_SDK_ROOT'] = pepperdir | 854 env['NACL_SDK_ROOT'] = pepperdir |
| 872 env['NACLPORTS_NO_ANNOTATE'] = "1" | 855 env['NACLPORTS_NO_ANNOTATE'] = "1" |
| 873 buildbot_common.Run(cmd, env=env, cwd=GONACL_APPENGINE_SRC_DIR) | 856 buildbot_common.Run(cmd, env=env, cwd=GONACL_APPENGINE_SRC_DIR) |
| 874 | 857 |
| 875 | 858 |
| 876 def main(args): | 859 def main(args): |
| 877 parser = argparse.ArgumentParser(description=__doc__) | 860 parser = argparse.ArgumentParser(description=__doc__) |
| 878 parser.add_argument('--nacl-tree-path', | |
| 879 help='Path to native client tree for bionic build.', | |
| 880 dest='nacl_tree_path') | |
| 881 parser.add_argument('--qemu', help='Add qemu for ARM.', | 861 parser.add_argument('--qemu', help='Add qemu for ARM.', |
| 882 action='store_true') | 862 action='store_true') |
| 883 parser.add_argument('--bionic', help='Add bionic build.', | |
| 884 action='store_true') | |
| 885 parser.add_argument('--tar', help='Force the tar step.', | 863 parser.add_argument('--tar', help='Force the tar step.', |
| 886 action='store_true') | 864 action='store_true') |
| 887 parser.add_argument('--archive', help='Force the archive step.', | 865 parser.add_argument('--archive', help='Force the archive step.', |
| 888 action='store_true') | 866 action='store_true') |
| 889 parser.add_argument('--release', help='PPAPI release version.', | 867 parser.add_argument('--release', help='PPAPI release version.', |
| 890 dest='release', default=None) | 868 dest='release', default=None) |
| 891 parser.add_argument('--build-app-engine', | 869 parser.add_argument('--build-app-engine', |
| 892 help='Build AppEngine demos.', action='store_true') | 870 help='Build AppEngine demos.', action='store_true') |
| 893 parser.add_argument('--experimental', | 871 parser.add_argument('--experimental', |
| 894 help='build experimental examples and libraries', action='store_true', | 872 help='build experimental examples and libraries', action='store_true', |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 911 import optcomplete | 889 import optcomplete |
| 912 optcomplete.autocomplete(parser) | 890 optcomplete.autocomplete(parser) |
| 913 except ImportError: | 891 except ImportError: |
| 914 pass | 892 pass |
| 915 | 893 |
| 916 global options | 894 global options |
| 917 options = parser.parse_args(args) | 895 options = parser.parse_args(args) |
| 918 | 896 |
| 919 buildbot_common.BuildStep('build_sdk') | 897 buildbot_common.BuildStep('build_sdk') |
| 920 | 898 |
| 921 if options.nacl_tree_path: | |
| 922 options.bionic = True | |
| 923 toolchain_build = os.path.join(options.nacl_tree_path, 'toolchain_build') | |
| 924 print 'WARNING: Building bionic toolchain from NaCl checkout.' | |
| 925 print 'This option builds bionic from the sources currently in the' | |
| 926 print 'provided NativeClient checkout, and the results instead of ' | |
| 927 print 'downloading a toolchain from the builder. This may result in a' | |
| 928 print 'NaCl SDK that can not run on ToT chrome.' | |
| 929 print 'NOTE: To clobber you will need to run toolchain_build_bionic.py' | |
| 930 print 'directly from the NativeClient checkout.' | |
| 931 print '' | |
| 932 response = raw_input("Type 'y' and hit enter to continue.\n") | |
| 933 if response != 'y' and response != 'Y': | |
| 934 print 'Aborting.' | |
| 935 return 1 | |
| 936 | |
| 937 # Get head version of NativeClient tree | |
| 938 buildbot_common.BuildStep('Build bionic toolchain.') | |
| 939 buildbot_common.Run([sys.executable, 'toolchain_build_bionic.py', '-f'], | |
| 940 cwd=toolchain_build) | |
| 941 else: | |
| 942 toolchain_build = None | |
|
binji
2015/10/08 17:24:23
this line still needed?
Sam Clegg
2015/12/01 00:18:04
Nope
| |
| 943 | |
| 944 if buildbot_common.IsSDKBuilder(): | 899 if buildbot_common.IsSDKBuilder(): |
| 945 options.archive = True | 900 options.archive = True |
| 946 # TODO(binji): re-enable app_engine build when the linux builder stops | 901 # TODO(binji): re-enable app_engine build when the linux builder stops |
| 947 # breaking when trying to git clone from github. | 902 # breaking when trying to git clone from github. |
| 948 # See http://crbug.com/412969. | 903 # See http://crbug.com/412969. |
| 949 options.build_app_engine = False | 904 options.build_app_engine = False |
| 950 options.tar = True | 905 options.tar = True |
| 951 | 906 |
| 952 # NOTE: order matters here. This will be the order that is specified in the | 907 # NOTE: order matters here. This will be the order that is specified in the |
| 953 # Makefiles; the first toolchain will be the default. | 908 # Makefiles; the first toolchain will be the default. |
| 954 toolchains = ['pnacl', 'x86_glibc', 'arm_glibc', 'clang-newlib', 'host'] | 909 toolchains = ['pnacl', 'x86_glibc', 'arm_glibc', 'clang-newlib', 'host'] |
| 955 | 910 |
| 956 # Changes for experimental bionic builder | |
| 957 if options.bionic: | |
| 958 toolchains.append('arm_bionic') | |
| 959 options.build_app_engine = False | |
| 960 | |
| 961 print 'Building: ' + ' '.join(toolchains) | 911 print 'Building: ' + ' '.join(toolchains) |
| 962 platform = getos.GetPlatform() | 912 platform = getos.GetPlatform() |
| 963 | 913 |
| 964 if options.archive and not options.tar: | 914 if options.archive and not options.tar: |
| 965 parser.error('Incompatible arguments with archive.') | 915 parser.error('Incompatible arguments with archive.') |
| 966 | 916 |
| 967 chrome_version = int(build_version.ChromeMajorVersion()) | 917 chrome_version = int(build_version.ChromeMajorVersion()) |
| 968 chrome_revision = build_version.ChromeRevision() | 918 chrome_revision = build_version.ChromeRevision() |
| 969 nacl_revision = build_version.NaClRevision() | 919 nacl_revision = build_version.NaClRevision() |
| 970 pepper_ver = str(chrome_version) | 920 pepper_ver = str(chrome_version) |
| 971 pepper_old = str(chrome_version - 1) | 921 pepper_old = str(chrome_version - 1) |
| 972 pepperdir = os.path.join(OUT_DIR, 'pepper_' + pepper_ver) | 922 pepperdir = os.path.join(OUT_DIR, 'pepper_' + pepper_ver) |
| 973 pepperdir_old = os.path.join(OUT_DIR, 'pepper_' + pepper_old) | 923 pepperdir_old = os.path.join(OUT_DIR, 'pepper_' + pepper_old) |
| 974 if options.bionic: | 924 tarname = 'naclsdk_%s.tar.bz2' % platform |
| 975 tarname = 'naclsdk_bionic.tar.bz2' | |
| 976 else: | |
| 977 tarname = 'naclsdk_%s.tar.bz2' % platform | |
| 978 tarfile = os.path.join(OUT_DIR, tarname) | 925 tarfile = os.path.join(OUT_DIR, tarname) |
| 979 | 926 |
| 980 if options.release: | 927 if options.release: |
| 981 pepper_ver = options.release | 928 pepper_ver = options.release |
| 982 print 'Building PEPPER %s at %s' % (pepper_ver, chrome_revision) | 929 print 'Building PEPPER %s at %s' % (pepper_ver, chrome_revision) |
| 983 | 930 |
| 984 if 'NACL_SDK_ROOT' in os.environ: | 931 if 'NACL_SDK_ROOT' in os.environ: |
| 985 # We don't want the currently configured NACL_SDK_ROOT to have any effect | 932 # We don't want the currently configured NACL_SDK_ROOT to have any effect |
| 986 # of the build. | 933 # of the build. |
| 987 del os.environ['NACL_SDK_ROOT'] | 934 del os.environ['NACL_SDK_ROOT'] |
| 988 | 935 |
| 989 if platform == 'linux': | 936 if platform == 'linux': |
| 990 # Linux-only: make sure the debian/stable sysroot image is installed | 937 # Linux-only: make sure the debian/stable sysroot image is installed |
| 991 install_script = os.path.join(SRC_DIR, 'build', 'linux', 'sysroot_scripts', | 938 install_script = os.path.join(SRC_DIR, 'build', 'linux', 'sysroot_scripts', |
| 992 'install-sysroot.py') | 939 'install-sysroot.py') |
| 993 | 940 |
| 994 buildbot_common.Run([sys.executable, install_script, '--arch=arm']) | 941 buildbot_common.Run([sys.executable, install_script, '--arch=arm']) |
| 995 buildbot_common.Run([sys.executable, install_script, '--arch=i386']) | 942 buildbot_common.Run([sys.executable, install_script, '--arch=i386']) |
| 996 buildbot_common.Run([sys.executable, install_script, '--arch=amd64']) | 943 buildbot_common.Run([sys.executable, install_script, '--arch=amd64']) |
| 997 | 944 |
| 998 if not options.skip_toolchain: | 945 if not options.skip_toolchain: |
| 999 BuildStepCleanPepperDirs(pepperdir, pepperdir_old) | 946 BuildStepCleanPepperDirs(pepperdir, pepperdir_old) |
| 1000 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools']) | 947 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools']) |
| 1001 BuildStepDownloadToolchains(toolchains) | 948 BuildStepDownloadToolchains(toolchains) |
| 1002 if options.nacl_tree_path: | 949 BuildStepUntarToolchains(pepperdir, toolchains) |
| 1003 # Instead of untarring, copy the raw bionic toolchain | |
| 1004 not_bionic = [i for i in toolchains if i != 'arm_bionic'] | |
| 1005 BuildStepUntarToolchains(pepperdir, not_bionic) | |
| 1006 tcname = GetToolchainDirName('arm_bionic') | |
| 1007 srcdir = os.path.join(toolchain_build, 'out', tcname) | |
| 1008 bionicdir = os.path.join(pepperdir, 'toolchain', tcname) | |
| 1009 oshelpers.Copy(['-r', srcdir, bionicdir]) | |
| 1010 else: | |
| 1011 BuildStepUntarToolchains(pepperdir, toolchains) | |
| 1012 if platform == 'linux': | 950 if platform == 'linux': |
| 1013 buildbot_common.Move(os.path.join(pepperdir, 'toolchain', 'arm_trusted'), | 951 buildbot_common.Move(os.path.join(pepperdir, 'toolchain', 'arm_trusted'), |
| 1014 os.path.join(OUT_DIR, 'arm_trusted')) | 952 os.path.join(OUT_DIR, 'arm_trusted')) |
| 1015 | 953 |
| 1016 | 954 |
| 1017 if platform == 'linux': | 955 if platform == 'linux': |
| 1018 # Linux-only: Copy arm libraries from the arm_trusted package. These are | 956 # Linux-only: Copy arm libraries from the arm_trusted package. These are |
| 1019 # needed to be able to run sel_ldr_arm under qemu. | 957 # needed to be able to run sel_ldr_arm under qemu. |
| 1020 arm_libs = [ | 958 arm_libs = [ |
| 1021 'lib/arm-linux-gnueabihf/librt.so.1', | 959 'lib/arm-linux-gnueabihf/librt.so.1', |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 1043 BuildStepUpdateUserProjects(pepperdir, toolchains, | 981 BuildStepUpdateUserProjects(pepperdir, toolchains, |
| 1044 options.build_experimental, True) | 982 options.build_experimental, True) |
| 1045 | 983 |
| 1046 BuildStepCopyTextFiles(pepperdir, pepper_ver, chrome_revision, nacl_revision) | 984 BuildStepCopyTextFiles(pepperdir, pepper_ver, chrome_revision, nacl_revision) |
| 1047 | 985 |
| 1048 # Ship with libraries prebuilt, so run that first. | 986 # Ship with libraries prebuilt, so run that first. |
| 1049 BuildStepBuildLibraries(pepperdir, 'src') | 987 BuildStepBuildLibraries(pepperdir, 'src') |
| 1050 GenerateNotice(pepperdir) | 988 GenerateNotice(pepperdir) |
| 1051 | 989 |
| 1052 # Verify the SDK contains what we expect. | 990 # Verify the SDK contains what we expect. |
| 1053 if not options.bionic: | 991 BuildStepVerifyFilelist(pepperdir) |
| 1054 BuildStepVerifyFilelist(pepperdir) | |
| 1055 | 992 |
| 1056 if options.tar: | 993 if options.tar: |
| 1057 BuildStepTarBundle(pepper_ver, tarfile) | 994 BuildStepTarBundle(pepper_ver, tarfile) |
| 1058 | 995 |
| 1059 if platform == 'linux': | 996 if platform == 'linux': |
| 1060 BuildStepBuildPNaClComponent(pepper_ver, chrome_revision) | 997 BuildStepBuildPNaClComponent(pepper_ver, chrome_revision) |
| 1061 | 998 |
| 1062 if options.build_app_engine and platform == 'linux': | 999 if options.build_app_engine and platform == 'linux': |
| 1063 BuildStepBuildAppEngine(pepperdir, chrome_revision) | 1000 BuildStepBuildAppEngine(pepperdir, chrome_revision) |
| 1064 | 1001 |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 1076 BuildStepArchivePNaClComponent(chrome_revision) | 1013 BuildStepArchivePNaClComponent(chrome_revision) |
| 1077 | 1014 |
| 1078 return 0 | 1015 return 0 |
| 1079 | 1016 |
| 1080 | 1017 |
| 1081 if __name__ == '__main__': | 1018 if __name__ == '__main__': |
| 1082 try: | 1019 try: |
| 1083 sys.exit(main(sys.argv[1:])) | 1020 sys.exit(main(sys.argv[1:])) |
| 1084 except KeyboardInterrupt: | 1021 except KeyboardInterrupt: |
| 1085 buildbot_common.ErrorExit('build_sdk: interrupted') | 1022 buildbot_common.ErrorExit('build_sdk: interrupted') |
| OLD | NEW |