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

Side by Side Diff: native_client_sdk/src/tools/nacl_config.py

Issue 137853013: [NaCl SDK] Fix the AppEngine lua build after r243629. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 11 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 | « no previous file | native_client_sdk/src/tools/tests/nacl_config_test.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 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 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 """A helper script to print paths of NaCl binaries, includes, libs, etc. 6 """A helper script to print paths of NaCl binaries, includes, libs, etc.
7 7
8 It is similar in behavior to pkg-config or sdl-config. 8 It is similar in behavior to pkg-config or sdl-config.
9 """ 9 """
10 10
11 import optparse 11 import optparse
12 import os 12 import os
13 import posixpath 13 import posixpath
14 import sys 14 import sys
15 15
16 import getos 16 import getos
17 17
18 18
19 if sys.version_info < (2, 6, 0): 19 if sys.version_info < (2, 6, 0):
20 sys.stderr.write("python 2.6 or later is required run this script\n") 20 sys.stderr.write("python 2.6 or later is required run this script\n")
21 sys.exit(1) 21 sys.exit(1)
22 22
23 23
24 VALID_ARCHES = ('arm', 'x86_32', 'x86_64', 'i686') 24 VALID_ARCHES = ('arm', 'x86_32', 'x86_64', 'i686')
25 VALID_PNACL_ARCHES = (None, 'pnacl')
25 ARCH_NAME = { 26 ARCH_NAME = {
26 'arm': 'arm', 27 'arm': 'arm',
27 'x86_32': 'i686', 28 'x86_32': 'i686',
28 'i686': 'i686', 29 'i686': 'i686',
29 'x86_64': 'x86_64' 30 'x86_64': 'x86_64'
30 } 31 }
31 32
32 ARCH_ALT_NAME = { 33 ARCH_ALT_NAME = {
33 'arm': 'arm', 34 'arm': 'arm',
34 'x86_32': 'x86_32', 35 'x86_32': 'x86_32',
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 85
85 def ExpectToolchain(toolchain, expected_toolchains): 86 def ExpectToolchain(toolchain, expected_toolchains):
86 Expect(toolchain in expected_toolchains, 87 Expect(toolchain in expected_toolchains,
87 'Expected toolchain to be one of [%s], not %s.' % ( 88 'Expected toolchain to be one of [%s], not %s.' % (
88 ', '.join(expected_toolchains), toolchain)) 89 ', '.join(expected_toolchains), toolchain))
89 90
90 91
91 def ExpectArch(arch, expected_arches): 92 def ExpectArch(arch, expected_arches):
92 Expect(arch in expected_arches, 93 Expect(arch in expected_arches,
93 'Expected arch to be one of [%s], not %s.' % ( 94 'Expected arch to be one of [%s], not %s.' % (
94 ', '.join(expected_arches), arch)) 95 ', '.join(map(str, expected_arches)), arch))
95 96
96 97
97 def CheckValidToolchainArch(toolchain, arch, arch_required=False): 98 def CheckValidToolchainArch(toolchain, arch, arch_required=False):
98 if toolchain or arch or arch_required: 99 if toolchain or arch or arch_required:
99 ExpectToolchain(toolchain, VALID_TOOLCHAINS) 100 ExpectToolchain(toolchain, VALID_TOOLCHAINS)
100 101
101 if toolchain in HOST_TOOLCHAINS: 102 if toolchain in HOST_TOOLCHAINS:
102 Expect(arch is None, 103 Expect(arch is None,
103 'Expected no arch for host toolchain %r. Got %r.' % ( 104 'Expected no arch for host toolchain %r. Got %r.' % (
104 toolchain, arch)) 105 toolchain, arch))
105 elif toolchain == 'pnacl': 106 elif toolchain == 'pnacl':
106 Expect(arch is None, 107 Expect(arch is None or arch == 'pnacl',
107 'Expected no arch for toolchain %r. Got %r.' % (toolchain, arch)) 108 'Expected no arch for toolchain %r. Got %r.' % (toolchain, arch))
108 elif arch_required: 109 elif arch_required:
109 Expect(arch is not None, 110 Expect(arch is not None,
110 'Expected arch to be one of [%s] for toolchain %r.\n' 111 'Expected arch to be one of [%s] for toolchain %r.\n'
111 'Use the -a or --arch flags to specify one.\n' % ( 112 'Use the -a or --arch flags to specify one.\n' % (
112 ', '.join(VALID_ARCHES), toolchain)) 113 ', '.join(VALID_ARCHES), toolchain))
113 114
114 if arch: 115 if arch:
115 ExpectArch(arch, VALID_ARCHES) 116 if toolchain == 'pnacl':
117 ExpectArch(arch, VALID_PNACL_ARCHES)
118 else:
119 ExpectArch(arch, VALID_ARCHES)
120
116 if arch == 'arm': 121 if arch == 'arm':
117 Expect(toolchain == 'newlib', 'The arm arch only supports newlib.') 122 Expect(toolchain == 'newlib', 'The arm arch only supports newlib.')
118 123
119 124
120 def GetArchName(arch): 125 def GetArchName(arch):
121 return ARCH_NAME.get(arch) 126 return ARCH_NAME.get(arch)
122 127
123 128
124 def GetArchAltName(arch): 129 def GetArchAltName(arch):
125 return ARCH_ALT_NAME.get(arch) 130 return ARCH_ALT_NAME.get(arch)
(...skipping 15 matching lines...) Expand all
141 return sdk_path.replace('\\', '/') 146 return sdk_path.replace('\\', '/')
142 else: 147 else:
143 return sdk_path 148 return sdk_path
144 149
145 150
146 def GetToolchainDir(toolchain, arch=None): 151 def GetToolchainDir(toolchain, arch=None):
147 ExpectToolchain(toolchain, NACL_TOOLCHAINS) 152 ExpectToolchain(toolchain, NACL_TOOLCHAINS)
148 root = GetPosixSDKPath() 153 root = GetPosixSDKPath()
149 platform = getos.GetPlatform() 154 platform = getos.GetPlatform()
150 if toolchain == 'pnacl': 155 if toolchain == 'pnacl':
151 assert arch is None
152 subdir = '%s_pnacl' % platform 156 subdir = '%s_pnacl' % platform
153 else: 157 else:
154 assert arch is not None 158 assert arch is not None
155 subdir = '%s_%s_%s' % (platform, GetArchBaseName(arch), toolchain) 159 subdir = '%s_%s_%s' % (platform, GetArchBaseName(arch), toolchain)
156 160
157 return posixpath.join(root, 'toolchain', subdir) 161 return posixpath.join(root, 'toolchain', subdir)
158 162
159 163
160 def GetToolchainArchDir(toolchain, arch): 164 def GetToolchainArchDir(toolchain, arch):
161 ExpectToolchain(toolchain, NACL_TOOLCHAINS) 165 ExpectToolchain(toolchain, NACL_TOOLCHAINS)
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 263
260 return 0 264 return 0
261 265
262 266
263 if __name__ == '__main__': 267 if __name__ == '__main__':
264 try: 268 try:
265 sys.exit(main(sys.argv[1:])) 269 sys.exit(main(sys.argv[1:]))
266 except Error as e: 270 except Error as e:
267 sys.stderr.write(str(e) + '\n') 271 sys.stderr.write(str(e) + '\n')
268 sys.exit(1) 272 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | native_client_sdk/src/tools/tests/nacl_config_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698