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

Side by Side Diff: ppapi/native_client/src/untrusted/pnacl_support_extension/pnacl_component_crx_gen.py

Issue 152133007: [MIPS] Support for MIPS PNaCl in PPAPI (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 6 years, 10 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/python 1 #!/usr/bin/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 """This script lays out the PNaCl translator files for a 6 """This script lays out the PNaCl translator files for a
7 normal Chrome installer, for one platform. Once run num-of-arches times, 7 normal Chrome installer, for one platform. Once run num-of-arches times,
8 the result can then be packed into a multi-CRX zip file. 8 the result can then be packed into a multi-CRX zip file.
9 9
10 This script depends on and pulls in the translator nexes and libraries 10 This script depends on and pulls in the translator nexes and libraries
(...skipping 20 matching lines...) Expand all
31 # This is based on the machine "building" this extension. 31 # This is based on the machine "building" this extension.
32 # We also used this to identify the arch-specific different versions of 32 # We also used this to identify the arch-specific different versions of
33 # this extension. 33 # this extension.
34 34
35 def CanonicalArch(arch): 35 def CanonicalArch(arch):
36 if arch in ('x86_64', 'x86-64', 'x64', 'amd64'): 36 if arch in ('x86_64', 'x86-64', 'x64', 'amd64'):
37 return 'x86-64' 37 return 'x86-64'
38 # TODO(jvoung): be more specific about the arm architecture version? 38 # TODO(jvoung): be more specific about the arm architecture version?
39 if arch in ('arm', 'armv7'): 39 if arch in ('arm', 'armv7'):
40 return 'arm' 40 return 'arm'
41 if arch in ('mips', 'mipsel'):
42 return 'mips'
jvoung (off chromium) 2014/02/06 00:39:56 can you just make the canonical arch "mips32" put
petarj 2014/02/20 00:23:18 Done.
41 if re.match('^i.86$', arch) or arch in ('x86_32', 'x86-32', 'ia32', 'x86'): 43 if re.match('^i.86$', arch) or arch in ('x86_32', 'x86-32', 'ia32', 'x86'):
42 return 'x86-32' 44 return 'x86-32'
43 return None 45 return None
44 46
45 def GetBuildArch(): 47 def GetBuildArch():
46 arch = platform.machine() 48 arch = platform.machine()
47 return CanonicalArch(arch) 49 return CanonicalArch(arch)
48 50
49 BUILD_ARCH = GetBuildArch() 51 BUILD_ARCH = GetBuildArch()
50 ARCHES = ['x86-32', 'x86-64', 'arm'] 52 ARCHES = ['x86-32', 'x86-64', 'arm', 'mips']
51 53
52 def IsValidArch(arch): 54 def IsValidArch(arch):
53 return arch in ARCHES 55 return arch in ARCHES
54 56
55 # The version of the arch used by configure and pnacl's build.sh. 57 # The version of the arch used by configure and pnacl's build.sh.
56 def StandardArch(arch): 58 def StandardArch(arch):
57 return {'x86-32': 'i686', 59 return {'x86-32': 'i686',
58 'x86-64': 'x86_64', 60 'x86-64': 'x86_64',
59 'arm' : 'armv7'}[arch] 61 'arm' : 'armv7',
62 'mips' : 'mips'}[arch]
60 63
61 64
62 ###################################################################### 65 ######################################################################
63 66
64 def GetNaClRoot(): 67 def GetNaClRoot():
65 """ Find the native_client path, relative to this script. 68 """ Find the native_client path, relative to this script.
66 This script is in ppapi/... and native_client is a sibling of ppapi. 69 This script is in ppapi/... and native_client is a sibling of ppapi.
67 """ 70 """
68 script_file = os.path.abspath(__file__) 71 script_file = os.path.abspath(__file__)
69 def SearchForNaCl(cur_dir): 72 def SearchForNaCl(cur_dir):
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 class PnaclDirs(object): 182 class PnaclDirs(object):
180 toolchain_dir = J(NACL_ROOT, 'toolchain') 183 toolchain_dir = J(NACL_ROOT, 'toolchain')
181 output_dir = J(toolchain_dir, 'pnacl-package') 184 output_dir = J(toolchain_dir, 'pnacl-package')
182 185
183 @staticmethod 186 @staticmethod
184 def TranslatorRoot(): 187 def TranslatorRoot():
185 return J(PnaclDirs.toolchain_dir, 'pnacl_translator') 188 return J(PnaclDirs.toolchain_dir, 'pnacl_translator')
186 189
187 @staticmethod 190 @staticmethod
188 def LibDir(target_arch): 191 def LibDir(target_arch):
192 # Libraries for MIPS are located in lib-mips32 directory.
193 if (target_arch == "mips"):
194 return J(PnaclDirs.TranslatorRoot(), 'lib-mips32')
dmichael (off chromium) 2014/02/05 23:55:22 I'm not very familiar with this code, but... why
petarj 2014/02/06 00:38:48 PNaCl uses mips32 to refer to 32bit MIPS LE. This
189 return J(PnaclDirs.TranslatorRoot(), 'lib-%s' % target_arch) 195 return J(PnaclDirs.TranslatorRoot(), 'lib-%s' % target_arch)
190 196
191 @staticmethod 197 @staticmethod
192 def SandboxedCompilerDir(target_arch): 198 def SandboxedCompilerDir(target_arch):
193 return J(PnaclDirs.toolchain_dir, 199 return J(PnaclDirs.toolchain_dir,
194 'pnacl_translator', StandardArch(target_arch), 'bin') 200 'pnacl_translator', StandardArch(target_arch), 'bin')
195 201
196 @staticmethod 202 @staticmethod
197 def SetOutputDir(d): 203 def SetOutputDir(d):
198 PnaclDirs.output_dir = d 204 PnaclDirs.output_dir = d
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 378
373 abi_version = int(args[0]) 379 abi_version = int(args[0])
374 380
375 arches = DetermineInstallerArches(options.target_arch) 381 arches = DetermineInstallerArches(options.target_arch)
376 BuildInstallerStyle(abi_version, lib_overrides, arches) 382 BuildInstallerStyle(abi_version, lib_overrides, arches)
377 return 0 383 return 0
378 384
379 385
380 if __name__ == '__main__': 386 if __name__ == '__main__':
381 sys.exit(Main()) 387 sys.exit(Main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698