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

Side by Side Diff: site_scons/site_tools/naclsdk.py

Issue 8366024: Add pnacl-gcc generated code back into the callingconv test mix (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: '' Created 9 years, 2 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 | tests/callingconv/callingconv.c » ('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/python 1 #!/usr/bin/python
2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2011 The Native Client 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 """Nacl SDK tool SCons.""" 6 """Nacl SDK tool SCons."""
7 7
8 import __builtin__ 8 import __builtin__
9 import re 9 import re
10 import os 10 import os
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 327
328 def PNaClForceNative(env): 328 def PNaClForceNative(env):
329 assert(env.Bit('bitcode')) 329 assert(env.Bit('bitcode'))
330 env.Replace(OBJSUFFIX='.o', 330 env.Replace(OBJSUFFIX='.o',
331 SHLIBSUFFIX='.so') 331 SHLIBSUFFIX='.so')
332 env.Append(ASFLAGS=['-arch', '${TARGET_FULLARCH}'], 332 env.Append(ASFLAGS=['-arch', '${TARGET_FULLARCH}'],
333 CCFLAGS=['-arch', '${TARGET_FULLARCH}', '--pnacl-allow-translate'], 333 CCFLAGS=['-arch', '${TARGET_FULLARCH}', '--pnacl-allow-translate'],
334 LINKFLAGS=['--pnacl-allow-native']) 334 LINKFLAGS=['--pnacl-allow-native'])
335 env['SHLINK'] = '${LINK}' 335 env['SHLINK'] = '${LINK}'
336 336
337 # Get an environment for a different frontend when in
338 # PNaCl mode.
339 def PNaClChangeFrontend(env, frontend):
340 assert(env.Bit('bitcode'))
341 assert(frontend in ('clang','dragonegg','llvmgcc'))
342
343 # This is kind of a hack.
344 alt_env = env.Clone()
345 alt_env['PNACL_FRONTEND'] = frontend
346 alt_env = alt_env.Clone(tools = ['naclsdk'])
347 return alt_env
348
349
337 # Get an environment for nacl-gcc when in PNaCl mode. 350 # Get an environment for nacl-gcc when in PNaCl mode.
338 def PNaClGetNNaClEnv(env): 351 def PNaClGetNNaClEnv(env):
339 assert(env.Bit('bitcode')) 352 assert(env.Bit('bitcode'))
340 assert(not env.Bit('target_arm')) 353 assert(not env.Bit('target_arm'))
341 354
342 # This is kind of a hack. We clone the environment, 355 # This is kind of a hack. We clone the environment,
343 # clear the bitcode bit, and then reload naclsdk.py 356 # clear the bitcode bit, and then reload naclsdk.py
344 native_env = env.Clone() 357 native_env = env.Clone()
345 native_env.ClearBits('bitcode') 358 native_env.ClearBits('bitcode')
346 native_env = native_env.Clone(tools = ['naclsdk']) 359 native_env = native_env.Clone(tools = ['naclsdk'])
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
456 env: The SCons environment in question. 469 env: The SCons environment in question.
457 470
458 NOTE: SCons requires the use of this name, which fails lint. 471 NOTE: SCons requires the use of this name, which fails lint.
459 """ 472 """
460 473
461 # make these methods to the top level scons file 474 # make these methods to the top level scons file
462 env.AddMethod(ValidateSdk) 475 env.AddMethod(ValidateSdk)
463 env.AddMethod(AddBiasForPNaCl) 476 env.AddMethod(AddBiasForPNaCl)
464 env.AddMethod(PNaClForceNative) 477 env.AddMethod(PNaClForceNative)
465 env.AddMethod(PNaClGetNNaClEnv) 478 env.AddMethod(PNaClGetNNaClEnv)
479 env.AddMethod(PNaClChangeFrontend)
466 480
467 sdk_mode = SCons.Script.ARGUMENTS.get('naclsdk_mode', 'download') 481 sdk_mode = SCons.Script.ARGUMENTS.get('naclsdk_mode', 'download')
468 482
469 # Invoke the various unix tools that the NativeClient SDK resembles. 483 # Invoke the various unix tools that the NativeClient SDK resembles.
470 env.Tool('g++') 484 env.Tool('g++')
471 env.Tool('gcc') 485 env.Tool('gcc')
472 env.Tool('gnulink') 486 env.Tool('gnulink')
473 env.Tool('ar') 487 env.Tool('ar')
474 env.Tool('as') 488 env.Tool('as')
475 489
(...skipping 28 matching lines...) Expand all
504 # Dependency files it produces are to be found in ${LIBPATH}. 518 # Dependency files it produces are to be found in ${LIBPATH}.
505 # It is applied recursively to those dependencies in case 519 # It is applied recursively to those dependencies in case
506 # some of them are linker scripts too. 520 # some of them are linker scripts too.
507 ldscript_scanner = SCons.Scanner.Base( 521 ldscript_scanner = SCons.Scanner.Base(
508 function=ScanLinkerScript, 522 function=ScanLinkerScript,
509 skeys=['.a', '.so', '.pso'], 523 skeys=['.a', '.so', '.pso'],
510 path_function=SCons.Scanner.FindPathDirs('LIBPATH'), 524 path_function=SCons.Scanner.FindPathDirs('LIBPATH'),
511 recursive=True 525 recursive=True
512 ) 526 )
513 env.Append(SCANNERS=ldscript_scanner) 527 env.Append(SCANNERS=ldscript_scanner)
OLDNEW
« no previous file with comments | « no previous file | tests/callingconv/callingconv.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698