Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(248)

Side by Side Diff: build/download_nacl_toolchains.py

Issue 261773002: Chromium NaCl scripts now uses package_version to extract. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nacl_revision 13106->13115 Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « DEPS ('k') | chrome/test/nacl_test_injection/buildbot_chrome_nacl_stage.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 """Shim to run nacl toolchain download script only if there is a nacl dir.""" 6 """Shim to run nacl toolchain download script only if there is a nacl dir."""
7 7
8 import os 8 import os
9 import sys 9 import sys
10 10
11 11
12 def Main(args): 12 def Main(args):
13 # Exit early if disable_nacl=1. 13 # Exit early if disable_nacl=1.
14 if 'disable_nacl=1' in os.environ.get('GYP_DEFINES', ''): 14 if 'disable_nacl=1' in os.environ.get('GYP_DEFINES', ''):
15 return 0 15 return 0
16 script_dir = os.path.dirname(os.path.abspath(__file__)) 16 script_dir = os.path.dirname(os.path.abspath(__file__))
17 src_dir = os.path.dirname(script_dir) 17 src_dir = os.path.dirname(script_dir)
18 nacl_dir = os.path.join(src_dir, 'native_client') 18 nacl_dir = os.path.join(src_dir, 'native_client')
19 nacl_build_dir = os.path.join(nacl_dir, 'build') 19 nacl_build_dir = os.path.join(nacl_dir, 'build')
20 download_script = os.path.join(nacl_build_dir, 'download_toolchains.py') 20 package_version_dir = os.path.join(nacl_build_dir, 'package_version')
21 if not os.path.exists(download_script): 21 package_version = os.path.join(package_version_dir, 'package_version.py')
22 print "Can't find '%s'" % download_script 22 if not os.path.exists(package_version):
23 print "Can't find '%s'" % package_version
23 print 'Presumably you are intentionally building without NativeClient.' 24 print 'Presumably you are intentionally building without NativeClient.'
24 print 'Skipping NativeClient toolchain download.' 25 print 'Skipping NativeClient toolchain download.'
25 sys.exit(0) 26 sys.exit(0)
26 sys.path.insert(0, nacl_build_dir) 27 sys.path.insert(0, package_version_dir)
27 import download_toolchains 28 import package_version
28 29
29 # TODO (robertm): Finish getting PNaCl ready for prime time.
30 # BUG: 30 # BUG:
31 # We remove this --optional-pnacl argument, and instead replace it with 31 # We remove this --optional-pnacl argument, and instead replace it with
32 # --no-pnacl for most cases. However, if the bot name is an sdk 32 # --no-pnacl for most cases. However, if the bot name is an sdk
33 # bot then we will go ahead and download it. This prevents increasing the 33 # bot then we will go ahead and download it. This prevents increasing the
34 # gclient sync time for developers, or standard Chrome bots. 34 # gclient sync time for developers, or standard Chrome bots.
35 if '--optional-pnacl' in args: 35 if '--optional-pnacl' in args:
36 args.remove('--optional-pnacl') 36 args.remove('--optional-pnacl')
37 use_pnacl = False 37 use_pnacl = False
38 buildbot_name = os.environ.get('BUILDBOT_BUILDERNAME', '') 38 buildbot_name = os.environ.get('BUILDBOT_BUILDERNAME', '')
39 if 'pnacl' in buildbot_name and 'sdk' in buildbot_name: 39 if 'pnacl' in buildbot_name and 'sdk' in buildbot_name:
40 use_pnacl = True 40 use_pnacl = True
41 if use_pnacl: 41 if use_pnacl:
42 print '\n*** DOWNLOADING PNACL TOOLCHAIN ***\n' 42 print '\n*** DOWNLOADING PNACL TOOLCHAIN ***\n'
43 else: 43 else:
44 args.append('--no-pnacl') 44 args.extend(['--exclude', 'pnacl_newlib'])
45 45
46 # Only download the ARM gcc toolchain if we are building for ARM 46 # Only download the ARM gcc toolchain if we are building for ARM
47 # TODO(olonho): we need to invent more reliable way to get build 47 # TODO(olonho): we need to invent more reliable way to get build
48 # configuration info, to know if we're building for ARM. 48 # configuration info, to know if we're building for ARM.
49 if 'target_arch=arm' in os.environ.get('GYP_DEFINES', ''): 49 if 'target_arch=arm' not in os.environ.get('GYP_DEFINES', ''):
50 args.append('--arm-untrusted') 50 args.extend(['--exclude', 'nacl_arm_newlib'])
51 51
52 # Append the name of the file to use as a version and hash source. 52 args.append('sync')
53 # NOTE: While not recommended, it is possible to redirect this file to 53 args.append('--extract')
54 # a chrome location to avoid branching NaCl if just a toolchain needs 54 package_version.main(args)
jvoung - send to chromium... 2014/05/02 15:49:15 I don't know if someone's mentioned this already o
55 # to be bumped.
56 args.append(os.path.join(nacl_dir, 'TOOL_REVISIONS'))
57
58 download_toolchains.main(args)
59 return 0 55 return 0
60 56
61 57
62 if __name__ == '__main__': 58 if __name__ == '__main__':
63 sys.exit(Main(sys.argv[1:])) 59 sys.exit(Main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « DEPS ('k') | chrome/test/nacl_test_injection/buildbot_chrome_nacl_stage.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698