| 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 445 InstallFiles(GetNinjaOutDir('ia32'), tools_dir, tools_files_32) | 428 InstallFiles(GetNinjaOutDir('ia32'), tools_dir, tools_files_32) |
| 446 InstallFiles(GetNinjaOutDir('arm'), tools_dir, arm_files) | 429 InstallFiles(GetNinjaOutDir('arm'), tools_dir, arm_files) |
| 447 | 430 |
| 448 for tc in toolchains: | 431 for tc in toolchains: |
| 449 if tc in ('host', 'clang-newlib'): | 432 if tc in ('host', 'clang-newlib'): |
| 450 continue | 433 continue |
| 451 elif tc == 'pnacl': | 434 elif tc == 'pnacl': |
| 452 xarches = (None, 'ia32', 'x64', 'arm') | 435 xarches = (None, 'ia32', 'x64', 'arm') |
| 453 elif tc in ('x86_glibc', 'x86_newlib'): | 436 elif tc in ('x86_glibc', 'x86_newlib'): |
| 454 xarches = ('ia32', 'x64') | 437 xarches = ('ia32', 'x64') |
| 455 elif tc in ('arm_glibc', 'arm_bionic'): | 438 elif tc == 'arm_glibc': |
| 456 xarches = ('arm',) | 439 xarches = ('arm',) |
| 457 else: | 440 else: |
| 458 raise AssertionError('unexpected toolchain value: %s' % tc) | 441 raise AssertionError('unexpected toolchain value: %s' % tc) |
| 459 | 442 |
| 460 for xarch in xarches: | 443 for xarch in xarches: |
| 461 src_dir = GetGypBuiltLib(tc, xarch) | 444 src_dir = GetGypBuiltLib(tc, xarch) |
| 462 dst_dir = GetOutputToolchainLib(pepperdir, tc, xarch) | 445 dst_dir = GetOutputToolchainLib(pepperdir, tc, xarch) |
| 463 libc = GetToolchainLibc(tc) | 446 libc = GetToolchainLibc(tc) |
| 464 InstallFiles(src_dir, dst_dir, TOOLCHAIN_LIBS[libc]) | 447 InstallFiles(src_dir, dst_dir, TOOLCHAIN_LIBS[libc]) |
| 465 | 448 |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 buildbot_common.BuildStep('Build GoNaCl AppEngine Projects') | 845 buildbot_common.BuildStep('Build GoNaCl AppEngine Projects') |
| 863 cmd = ['make', 'upload', 'REVISION=%s' % chrome_revision] | 846 cmd = ['make', 'upload', 'REVISION=%s' % chrome_revision] |
| 864 env = dict(os.environ) | 847 env = dict(os.environ) |
| 865 env['NACL_SDK_ROOT'] = pepperdir | 848 env['NACL_SDK_ROOT'] = pepperdir |
| 866 env['NACLPORTS_NO_ANNOTATE'] = "1" | 849 env['NACLPORTS_NO_ANNOTATE'] = "1" |
| 867 buildbot_common.Run(cmd, env=env, cwd=GONACL_APPENGINE_SRC_DIR) | 850 buildbot_common.Run(cmd, env=env, cwd=GONACL_APPENGINE_SRC_DIR) |
| 868 | 851 |
| 869 | 852 |
| 870 def main(args): | 853 def main(args): |
| 871 parser = argparse.ArgumentParser(description=__doc__) | 854 parser = argparse.ArgumentParser(description=__doc__) |
| 872 parser.add_argument('--nacl-tree-path', | |
| 873 help='Path to native client tree for bionic build.', | |
| 874 dest='nacl_tree_path') | |
| 875 parser.add_argument('--qemu', help='Add qemu for ARM.', | 855 parser.add_argument('--qemu', help='Add qemu for ARM.', |
| 876 action='store_true') | 856 action='store_true') |
| 877 parser.add_argument('--bionic', help='Add bionic build.', | |
| 878 action='store_true') | |
| 879 parser.add_argument('--tar', help='Force the tar step.', | 857 parser.add_argument('--tar', help='Force the tar step.', |
| 880 action='store_true') | 858 action='store_true') |
| 881 parser.add_argument('--archive', help='Force the archive step.', | 859 parser.add_argument('--archive', help='Force the archive step.', |
| 882 action='store_true') | 860 action='store_true') |
| 883 parser.add_argument('--release', help='PPAPI release version.', | 861 parser.add_argument('--release', help='PPAPI release version.', |
| 884 dest='release', default=None) | 862 dest='release', default=None) |
| 885 parser.add_argument('--build-app-engine', | 863 parser.add_argument('--build-app-engine', |
| 886 help='Build AppEngine demos.', action='store_true') | 864 help='Build AppEngine demos.', action='store_true') |
| 887 parser.add_argument('--experimental', | 865 parser.add_argument('--experimental', |
| 888 help='build experimental examples and libraries', action='store_true', | 866 help='build experimental examples and libraries', action='store_true', |
| (...skipping 16 matching lines...) Expand all Loading... |
| 905 import optcomplete | 883 import optcomplete |
| 906 optcomplete.autocomplete(parser) | 884 optcomplete.autocomplete(parser) |
| 907 except ImportError: | 885 except ImportError: |
| 908 pass | 886 pass |
| 909 | 887 |
| 910 global options | 888 global options |
| 911 options = parser.parse_args(args) | 889 options = parser.parse_args(args) |
| 912 | 890 |
| 913 buildbot_common.BuildStep('build_sdk') | 891 buildbot_common.BuildStep('build_sdk') |
| 914 | 892 |
| 915 if options.nacl_tree_path: | |
| 916 options.bionic = True | |
| 917 toolchain_build = os.path.join(options.nacl_tree_path, 'toolchain_build') | |
| 918 print 'WARNING: Building bionic toolchain from NaCl checkout.' | |
| 919 print 'This option builds bionic from the sources currently in the' | |
| 920 print 'provided NativeClient checkout, and the results instead of ' | |
| 921 print 'downloading a toolchain from the builder. This may result in a' | |
| 922 print 'NaCl SDK that can not run on ToT chrome.' | |
| 923 print 'NOTE: To clobber you will need to run toolchain_build_bionic.py' | |
| 924 print 'directly from the NativeClient checkout.' | |
| 925 print '' | |
| 926 response = raw_input("Type 'y' and hit enter to continue.\n") | |
| 927 if response != 'y' and response != 'Y': | |
| 928 print 'Aborting.' | |
| 929 return 1 | |
| 930 | |
| 931 # Get head version of NativeClient tree | |
| 932 buildbot_common.BuildStep('Build bionic toolchain.') | |
| 933 buildbot_common.Run([sys.executable, 'toolchain_build_bionic.py', '-f'], | |
| 934 cwd=toolchain_build) | |
| 935 else: | |
| 936 toolchain_build = None | |
| 937 | |
| 938 if buildbot_common.IsSDKBuilder(): | 893 if buildbot_common.IsSDKBuilder(): |
| 939 options.archive = True | 894 options.archive = True |
| 940 # TODO(binji): re-enable app_engine build when the linux builder stops | 895 # TODO(binji): re-enable app_engine build when the linux builder stops |
| 941 # breaking when trying to git clone from github. | 896 # breaking when trying to git clone from github. |
| 942 # See http://crbug.com/412969. | 897 # See http://crbug.com/412969. |
| 943 options.build_app_engine = False | 898 options.build_app_engine = False |
| 944 options.tar = True | 899 options.tar = True |
| 945 | 900 |
| 946 # NOTE: order matters here. This will be the order that is specified in the | 901 # NOTE: order matters here. This will be the order that is specified in the |
| 947 # Makefiles; the first toolchain will be the default. | 902 # Makefiles; the first toolchain will be the default. |
| 948 toolchains = ['pnacl', 'x86_glibc', 'arm_glibc', 'clang-newlib', 'host'] | 903 toolchains = ['pnacl', 'x86_glibc', 'arm_glibc', 'clang-newlib', 'host'] |
| 949 | 904 |
| 950 # Changes for experimental bionic builder | |
| 951 if options.bionic: | |
| 952 toolchains.append('arm_bionic') | |
| 953 options.build_app_engine = False | |
| 954 | |
| 955 print 'Building: ' + ' '.join(toolchains) | 905 print 'Building: ' + ' '.join(toolchains) |
| 956 platform = getos.GetPlatform() | 906 platform = getos.GetPlatform() |
| 957 | 907 |
| 958 if options.archive and not options.tar: | 908 if options.archive and not options.tar: |
| 959 parser.error('Incompatible arguments with archive.') | 909 parser.error('Incompatible arguments with archive.') |
| 960 | 910 |
| 961 chrome_version = int(build_version.ChromeMajorVersion()) | 911 chrome_version = int(build_version.ChromeMajorVersion()) |
| 962 chrome_revision = build_version.ChromeRevision() | 912 chrome_revision = build_version.ChromeRevision() |
| 963 nacl_revision = build_version.NaClRevision() | 913 nacl_revision = build_version.NaClRevision() |
| 964 pepper_ver = str(chrome_version) | 914 pepper_ver = str(chrome_version) |
| 965 pepper_old = str(chrome_version - 1) | 915 pepper_old = str(chrome_version - 1) |
| 966 pepperdir = os.path.join(OUT_DIR, 'pepper_' + pepper_ver) | 916 pepperdir = os.path.join(OUT_DIR, 'pepper_' + pepper_ver) |
| 967 pepperdir_old = os.path.join(OUT_DIR, 'pepper_' + pepper_old) | 917 pepperdir_old = os.path.join(OUT_DIR, 'pepper_' + pepper_old) |
| 968 if options.bionic: | 918 tarname = 'naclsdk_%s.tar.bz2' % platform |
| 969 tarname = 'naclsdk_bionic.tar.bz2' | |
| 970 else: | |
| 971 tarname = 'naclsdk_%s.tar.bz2' % platform | |
| 972 tarfile = os.path.join(OUT_DIR, tarname) | 919 tarfile = os.path.join(OUT_DIR, tarname) |
| 973 | 920 |
| 974 if options.release: | 921 if options.release: |
| 975 pepper_ver = options.release | 922 pepper_ver = options.release |
| 976 print 'Building PEPPER %s at %s' % (pepper_ver, chrome_revision) | 923 print 'Building PEPPER %s at %s' % (pepper_ver, chrome_revision) |
| 977 | 924 |
| 978 if 'NACL_SDK_ROOT' in os.environ: | 925 if 'NACL_SDK_ROOT' in os.environ: |
| 979 # We don't want the currently configured NACL_SDK_ROOT to have any effect | 926 # We don't want the currently configured NACL_SDK_ROOT to have any effect |
| 980 # of the build. | 927 # of the build. |
| 981 del os.environ['NACL_SDK_ROOT'] | 928 del os.environ['NACL_SDK_ROOT'] |
| 982 | 929 |
| 983 if platform == 'linux': | 930 if platform == 'linux': |
| 984 # Linux-only: make sure the debian/stable sysroot image is installed | 931 # Linux-only: make sure the debian/stable sysroot image is installed |
| 985 install_script = os.path.join(SRC_DIR, 'build', 'linux', 'sysroot_scripts', | 932 install_script = os.path.join(SRC_DIR, 'build', 'linux', 'sysroot_scripts', |
| 986 'install-sysroot.py') | 933 'install-sysroot.py') |
| 987 | 934 |
| 988 buildbot_common.Run([sys.executable, install_script, '--arch=arm']) | 935 buildbot_common.Run([sys.executable, install_script, '--arch=arm']) |
| 989 buildbot_common.Run([sys.executable, install_script, '--arch=i386']) | 936 buildbot_common.Run([sys.executable, install_script, '--arch=i386']) |
| 990 buildbot_common.Run([sys.executable, install_script, '--arch=amd64']) | 937 buildbot_common.Run([sys.executable, install_script, '--arch=amd64']) |
| 991 | 938 |
| 992 if not options.skip_toolchain: | 939 if not options.skip_toolchain: |
| 993 BuildStepCleanPepperDirs(pepperdir, pepperdir_old) | 940 BuildStepCleanPepperDirs(pepperdir, pepperdir_old) |
| 994 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools']) | 941 BuildStepMakePepperDirs(pepperdir, ['include', 'toolchain', 'tools']) |
| 995 BuildStepDownloadToolchains(toolchains) | 942 BuildStepDownloadToolchains(toolchains) |
| 996 if options.nacl_tree_path: | 943 BuildStepUntarToolchains(pepperdir, toolchains) |
| 997 # Instead of untarring, copy the raw bionic toolchain | |
| 998 not_bionic = [i for i in toolchains if i != 'arm_bionic'] | |
| 999 BuildStepUntarToolchains(pepperdir, not_bionic) | |
| 1000 tcname = GetToolchainDirName('arm_bionic') | |
| 1001 srcdir = os.path.join(toolchain_build, 'out', tcname) | |
| 1002 bionicdir = os.path.join(pepperdir, 'toolchain', tcname) | |
| 1003 oshelpers.Copy(['-r', srcdir, bionicdir]) | |
| 1004 else: | |
| 1005 BuildStepUntarToolchains(pepperdir, toolchains) | |
| 1006 if platform == 'linux': | 944 if platform == 'linux': |
| 1007 buildbot_common.Move(os.path.join(pepperdir, 'toolchain', 'arm_trusted'), | 945 buildbot_common.Move(os.path.join(pepperdir, 'toolchain', 'arm_trusted'), |
| 1008 os.path.join(OUT_DIR, 'arm_trusted')) | 946 os.path.join(OUT_DIR, 'arm_trusted')) |
| 1009 | 947 |
| 1010 | 948 |
| 1011 if platform == 'linux': | 949 if platform == 'linux': |
| 1012 # Linux-only: Copy arm libraries from the arm_trusted package. These are | 950 # Linux-only: Copy arm libraries from the arm_trusted package. These are |
| 1013 # needed to be able to run sel_ldr_arm under qemu. | 951 # needed to be able to run sel_ldr_arm under qemu. |
| 1014 arm_libs = [ | 952 arm_libs = [ |
| 1015 'lib/arm-linux-gnueabihf/librt.so.1', | 953 'lib/arm-linux-gnueabihf/librt.so.1', |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1037 BuildStepUpdateUserProjects(pepperdir, toolchains, | 975 BuildStepUpdateUserProjects(pepperdir, toolchains, |
| 1038 options.build_experimental, True) | 976 options.build_experimental, True) |
| 1039 | 977 |
| 1040 BuildStepCopyTextFiles(pepperdir, pepper_ver, chrome_revision, nacl_revision) | 978 BuildStepCopyTextFiles(pepperdir, pepper_ver, chrome_revision, nacl_revision) |
| 1041 | 979 |
| 1042 # Ship with libraries prebuilt, so run that first. | 980 # Ship with libraries prebuilt, so run that first. |
| 1043 BuildStepBuildLibraries(pepperdir, 'src') | 981 BuildStepBuildLibraries(pepperdir, 'src') |
| 1044 GenerateNotice(pepperdir) | 982 GenerateNotice(pepperdir) |
| 1045 | 983 |
| 1046 # Verify the SDK contains what we expect. | 984 # Verify the SDK contains what we expect. |
| 1047 if not options.bionic: | 985 BuildStepVerifyFilelist(pepperdir) |
| 1048 BuildStepVerifyFilelist(pepperdir) | |
| 1049 | 986 |
| 1050 if options.tar: | 987 if options.tar: |
| 1051 BuildStepTarBundle(pepper_ver, tarfile) | 988 BuildStepTarBundle(pepper_ver, tarfile) |
| 1052 | 989 |
| 1053 if platform == 'linux': | 990 if platform == 'linux': |
| 1054 BuildStepBuildPNaClComponent(pepper_ver, chrome_revision) | 991 BuildStepBuildPNaClComponent(pepper_ver, chrome_revision) |
| 1055 | 992 |
| 1056 if options.build_app_engine and platform == 'linux': | 993 if options.build_app_engine and platform == 'linux': |
| 1057 BuildStepBuildAppEngine(pepperdir, chrome_revision) | 994 BuildStepBuildAppEngine(pepperdir, chrome_revision) |
| 1058 | 995 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1070 BuildStepArchivePNaClComponent(chrome_revision) | 1007 BuildStepArchivePNaClComponent(chrome_revision) |
| 1071 | 1008 |
| 1072 return 0 | 1009 return 0 |
| 1073 | 1010 |
| 1074 | 1011 |
| 1075 if __name__ == '__main__': | 1012 if __name__ == '__main__': |
| 1076 try: | 1013 try: |
| 1077 sys.exit(main(sys.argv[1:])) | 1014 sys.exit(main(sys.argv[1:])) |
| 1078 except KeyboardInterrupt: | 1015 except KeyboardInterrupt: |
| 1079 buildbot_common.ErrorExit('build_sdk: interrupted') | 1016 buildbot_common.ErrorExit('build_sdk: interrupted') |
| OLD | NEW |