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

Side by Side Diff: build/download_nacl_toolchains.py

Issue 9838005: Support for ARM NaCl untrusted runtime build. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Remove excessive check for CrOs Created 8 years, 9 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
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
16 script_dir = os.path.dirname(os.path.abspath(__file__)) 17 script_dir = os.path.dirname(os.path.abspath(__file__))
17 src_dir = os.path.dirname(script_dir) 18 src_dir = os.path.dirname(script_dir)
18 nacl_dir = os.path.join(src_dir, 'native_client') 19 nacl_dir = os.path.join(src_dir, 'native_client')
19 nacl_build_dir = os.path.join(nacl_dir, 'build') 20 nacl_build_dir = os.path.join(nacl_dir, 'build')
20 download_script = os.path.join(nacl_build_dir, 'download_toolchains.py') 21 download_script = os.path.join(nacl_build_dir, 'download_toolchains.py')
21 if not os.path.exists(download_script): 22 if not os.path.exists(download_script):
22 print "Can't find '%s'" % download_script 23 print "Can't find '%s'" % download_script
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, nacl_build_dir)
27 import download_toolchains 28 import download_toolchains
28 29
29 # TODO (robertm): Finish getting PNaCl ready for prime time. 30 # TODO (robertm): Finish getting PNaCl ready for prime time.
30 # BUG: 31 # BUG:
31 # We remove this --optional-pnacl argument, and instead replace it with 32 # We remove this --optional-pnacl argument, and instead replace it with
32 # --no-pnacl for most cases. However, if the bot name is the pnacl_sdk 33 # --no-pnacl for most cases. However, if the bot name is the pnacl_sdk
33 # bot then we will go ahead and download it. This prevents increasing the 34 # bot then we will go ahead and download it. This prevents increasing the
34 # gclient sync time for developers, or standard Chrome bots. 35 # gclient sync time for developers, or standard Chrome bots.
35 if '--optional-pnacl' in args: 36 if '--optional-pnacl' in args:
36 args.remove('--optional-pnacl') 37 args.remove('--optional-pnacl')
38 # By default we don't use PNaCl toolchain yet, unless on ARM, where
39 # there is no other toolchain to build untrusted code at the moment.
40 # So analyze if we're building for ARM, or on SDK buildbot.
41 use_pnacl = False
42 if 'target_arch=arm' in os.environ.get('GYP_DEFINES', ''):
Mark Seaborn 2012/03/28 14:59:24 Hmm, this is a horrible hack that doesn't work if
Nikolay 2012/03/29 14:36:07 Agree, but fortunately this hack also matches the
davidjames 2012/03/29 17:30:24 What changes need to be made to the CrOS ebuild to
Nikolay 2012/03/30 14:02:11 See https://chromiumcodereview.appspot.com/9923012
Nikolay 2012/04/02 08:32:13 Was told that need to use gerrit here, so please s
43 use_pnacl = True
37 buildbot_name = os.environ.get('BUILDBOT_BUILDERNAME', '') 44 buildbot_name = os.environ.get('BUILDBOT_BUILDERNAME', '')
38 if buildbot_name.find('pnacl') >= 0 and buildbot_name.find('sdk') >= 0: 45 if buildbot_name.find('pnacl') >= 0 and buildbot_name.find('sdk') >= 0:
46 use_pnacl = True
47 if use_pnacl:
39 print '\n*** DOWNLOADING PNACL TOOLCHAIN ***\n' 48 print '\n*** DOWNLOADING PNACL TOOLCHAIN ***\n'
40 else: 49 else:
41 args.append('--no-pnacl') 50 args.append('--no-pnacl')
42 51
43 download_toolchains.Main(args) 52 download_toolchains.Main(args)
44 return 0 53 return 0
45 54
46 55
47 if __name__ == '__main__': 56 if __name__ == '__main__':
48 sys.exit(Main(sys.argv[1:])) 57 sys.exit(Main(sys.argv[1:]))
49
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698