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

Side by Side Diff: SConstruct

Issue 7242011: Get rid of assumptions about ".nexe" extension. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: '' Created 9 years, 6 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 | site_scons/site_tools/naclsdk.py » ('j') | tests/barebones/nacl.scons » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # -*- python -*- 1 # -*- 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 import atexit 6 import atexit
7 import glob 7 import glob
8 import os 8 import os
9 import platform 9 import platform
10 import stat 10 import stat
(...skipping 1108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 1119
1120 command = [validator] + validator_flags + [image] 1120 command = [validator] + validator_flags + [image]
1121 return CommandTest(env, name, command, size, **extra) 1121 return CommandTest(env, name, command, size, **extra)
1122 1122
1123 pre_base_env.AddMethod(CommandValidatorTestNacl) 1123 pre_base_env.AddMethod(CommandValidatorTestNacl)
1124 1124
1125 1125
1126 def ExtractPublishedFiles(env, target_name): 1126 def ExtractPublishedFiles(env, target_name):
1127 run_files = ['$STAGING_DIR/' + os.path.basename(published_file.path) 1127 run_files = ['$STAGING_DIR/' + os.path.basename(published_file.path)
1128 for published_file in env.GetPublished(target_name, 'run')] 1128 for published_file in env.GetPublished(target_name, 'run')]
1129 nexe = '$STAGING_DIR/' + target_name 1129 nexe = '$STAGING_DIR/%s${PROGSUFFIX}' % target_name
1130 return [env.File(file) for file in run_files + [nexe]] 1130 return [env.File(file) for file in run_files + [nexe]]
1131 1131
1132 pre_base_env.AddMethod(ExtractPublishedFiles) 1132 pre_base_env.AddMethod(ExtractPublishedFiles)
1133 1133
1134 1134
1135 # ---------------------------------------------------------- 1135 # ----------------------------------------------------------
1136 EXTRA_ENV = ['XAUTHORITY', 'HOME', 'DISPLAY', 'SSH_TTY', 'KRB5CCNAME'] 1136 EXTRA_ENV = ['XAUTHORITY', 'HOME', 'DISPLAY', 'SSH_TTY', 'KRB5CCNAME']
1137 1137
1138 def SetupBrowserEnv(env): 1138 def SetupBrowserEnv(env):
1139 for var_name in EXTRA_ENV: 1139 for var_name in EXTRA_ENV:
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1442 1442
1443 gdb = nacl_extra_sdk_env['GDB'] 1443 gdb = nacl_extra_sdk_env['GDB']
1444 command = ([gdb, '-q', '-batch', '-x', input, '--loader', sel_ldr] + 1444 command = ([gdb, '-q', '-batch', '-x', input, '--loader', sel_ldr] +
1445 gdb_flags + command) 1445 gdb_flags + command)
1446 1446
1447 return CommandTest(env, name, command, 'large', **extra) 1447 return CommandTest(env, name, command, 'large', **extra)
1448 1448
1449 pre_base_env.AddMethod(CommandGdbTestNacl) 1449 pre_base_env.AddMethod(CommandGdbTestNacl)
1450 1450
1451 1451
1452 def SelUniversalTest(env, name, command, sel_universal_flags=None, **kwargs): 1452 def SelUniversalTest(env, name, nexe, sel_universal_flags=None, **kwargs):
1453 # The dynamic linker's ability to receive arguments over IPC at 1453 # The dynamic linker's ability to receive arguments over IPC at
1454 # startup currently requires it to reject the plugin's first 1454 # startup currently requires it to reject the plugin's first
1455 # connection, but this interferes with the sel_universal-based 1455 # connection, but this interferes with the sel_universal-based
1456 # testing because sel_universal does not retry the connection. 1456 # testing because sel_universal does not retry the connection.
1457 # TODO(mseaborn): Fix by retrying the connection or by adding an 1457 # TODO(mseaborn): Fix by retrying the connection or by adding an
1458 # option to ld.so to disable its argv-over-IPC feature. 1458 # option to ld.so to disable its argv-over-IPC feature.
1459 if env.Bit('nacl_glibc') and not env.Bit('nacl_static_link'): 1459 if env.Bit('nacl_glibc') and not env.Bit('nacl_static_link'):
1460 return [] 1460 return []
1461 1461
1462 if sel_universal_flags is None: 1462 if sel_universal_flags is None:
1463 sel_universal_flags = [] 1463 sel_universal_flags = []
1464 1464
1465 # when run under qemu, sel_universal must sneeak in qemu to execv 1465 # when run under qemu, sel_universal must sneeak in qemu to execv
1466 # call that spawns sel_ldr. 1466 # call that spawns sel_ldr.
1467 if env.Bit('target_arm') and env.UsingEmulator(): 1467 if env.Bit('target_arm') and env.UsingEmulator():
1468 sel_universal_flags.append('--command_prefix') 1468 sel_universal_flags.append('--command_prefix')
1469 sel_universal_flags.append(env['EMULATOR']) 1469 sel_universal_flags.append(env['EMULATOR'])
1470 1470
1471 node = CommandSelLdrTestNacl(env, 1471 node = CommandSelLdrTestNacl(env,
1472 name, 1472 name,
1473 command, 1473 nexe,
1474 loader='sel_universal', 1474 loader='sel_universal',
1475 sel_ldr_flags=sel_universal_flags, 1475 sel_ldr_flags=sel_universal_flags,
1476 **kwargs) 1476 **kwargs)
1477 # sel_universal locates sel_ldr via /proc/self/exe on Linux. 1477 # sel_universal locates sel_ldr via /proc/self/exe on Linux.
1478 if not env.Bit('built_elsewhere'): 1478 if not env.Bit('built_elsewhere'):
1479 env.Depends(node, GetSelLdr(env)) 1479 env.Depends(node, GetSelLdr(env))
1480 return node 1480 return node
1481 1481
1482 pre_base_env.AddMethod(SelUniversalTest) 1482 pre_base_env.AddMethod(SelUniversalTest)
1483 1483
(...skipping 20 matching lines...) Expand all
1504 extra['osenv'] = extra.get('osenv', []) + extra_env 1504 extra['osenv'] = extra.get('osenv', []) + extra_env
1505 1505
1506 pre_base_env.AddMethod(MakeVerboseExtraOptions) 1506 pre_base_env.AddMethod(MakeVerboseExtraOptions)
1507 1507
1508 def ShouldUseVerboseOptions(extra): 1508 def ShouldUseVerboseOptions(extra):
1509 """ Heuristic for setting up Verbose NACLLOG options. """ 1509 """ Heuristic for setting up Verbose NACLLOG options. """
1510 return ('process_output' in extra or 1510 return ('process_output' in extra or
1511 'log_golden' in extra) 1511 'log_golden' in extra)
1512 1512
1513 # ---------------------------------------------------------- 1513 # ----------------------------------------------------------
1514 def CommandSelLdrTestNacl(env, name, command, 1514 def CommandSelLdrTestNacl(env, name, nexe,
1515 args = None,
1515 log_verbosity=2, 1516 log_verbosity=2,
1516 sel_ldr_flags=None, 1517 sel_ldr_flags=None,
1517 loader='sel_ldr', 1518 loader='sel_ldr',
1518 size='medium', 1519 size='medium',
1519 # True for *.nexe statically linked with glibc 1520 # True for *.nexe statically linked with glibc
1520 glibc_static=False, 1521 glibc_static=False,
1521 uses_ppapi=False, 1522 uses_ppapi=False,
1522 **extra): 1523 **extra):
1523 # Disable all sel_ldr tests for windows under coverage. 1524 # Disable all sel_ldr tests for windows under coverage.
1524 # Currently several .S files block sel_ldr from being instrumented. 1525 # Currently several .S files block sel_ldr from being instrumented.
1525 # See http://code.google.com/p/nativeclient/issues/detail?id=831 1526 # See http://code.google.com/p/nativeclient/issues/detail?id=831
1526 if ('TRUSTED_ENV' in env and 1527 if ('TRUSTED_ENV' in env and
1527 env['TRUSTED_ENV'].Bit('coverage_enabled') and 1528 env['TRUSTED_ENV'].Bit('coverage_enabled') and
1528 env['TRUSTED_ENV'].Bit('windows')): 1529 env['TRUSTED_ENV'].Bit('windows')):
1529 return [] 1530 return []
1530 1531
1532 command = [nexe]
1533 if args is not None:
1534 command += args
1535
1531 sel_ldr = GetSelLdr(env, loader); 1536 sel_ldr = GetSelLdr(env, loader);
1532 if not sel_ldr: 1537 if not sel_ldr:
1533 print 'WARNING: no sel_ldr found. Skipping test %s' % name 1538 print 'WARNING: no sel_ldr found. Skipping test %s' % name
1534 return [] 1539 return []
1535 1540
1536 # Avoid problems with [] as default arguments 1541 # Avoid problems with [] as default arguments
1537 if sel_ldr_flags is None: 1542 if sel_ldr_flags is None:
1538 sel_ldr_flags = [] 1543 sel_ldr_flags = []
1539 1544
1540 # Disable the validator if running a GLibC test under Valgrind. 1545 # Disable the validator if running a GLibC test under Valgrind.
(...skipping 1616 matching lines...) Expand 10 before | Expand all | Expand 10 after
3157 Default(['all_programs', 'all_bundles', 'all_test_programs', 'all_libraries']) 3162 Default(['all_programs', 'all_bundles', 'all_test_programs', 'all_libraries'])
3158 3163
3159 if BROKEN_TEST_COUNT > 0: 3164 if BROKEN_TEST_COUNT > 0:
3160 msg = "There are %d broken tests." % BROKEN_TEST_COUNT 3165 msg = "There are %d broken tests." % BROKEN_TEST_COUNT
3161 if GetOption('brief_comstr'): 3166 if GetOption('brief_comstr'):
3162 msg += " Add --verbose to the command line for more information." 3167 msg += " Add --verbose to the command line for more information."
3163 print msg 3168 print msg
3164 3169
3165 # separate warnings from actual build output 3170 # separate warnings from actual build output
3166 Banner('B U I L D - O U T P U T:') 3171 Banner('B U I L D - O U T P U T:')
OLDNEW
« no previous file with comments | « no previous file | site_scons/site_tools/naclsdk.py » ('j') | tests/barebones/nacl.scons » ('J')

Powered by Google App Engine
This is Rietveld 408576698