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

Side by Side Diff: SConstruct

Issue 7265001: Build and use libraries locally in the nacl build, not requiring "partial SDK" (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: tweaks for pnacl with updated driver Created 9 years, 5 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/component_builders.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 # -*- 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 1892 matching lines...) Expand 10 before | Expand all | Expand 10 after
1903 def CheckPlatformPreconditions(): 1903 def CheckPlatformPreconditions():
1904 "Check and fail fast if platform-specific preconditions are unmet." 1904 "Check and fail fast if platform-specific preconditions are unmet."
1905 1905
1906 if base_env.Bit('target_arm') and (base_env.Bit('build_x86_32') or 1906 if base_env.Bit('target_arm') and (base_env.Bit('build_x86_32') or
1907 base_env.Bit('build_x86_64')): 1907 base_env.Bit('build_x86_64')):
1908 assert os.getenv('NACL_SDK_CC'), ( 1908 assert os.getenv('NACL_SDK_CC'), (
1909 "NACL_SDK_CC undefined. " 1909 "NACL_SDK_CC undefined. "
1910 "Source tools/llvm/setup_arm_untrusted_toolchain.sh.") 1910 "Source tools/llvm/setup_arm_untrusted_toolchain.sh.")
1911 1911
1912 # ---------------------------------------------------------- 1912 # ----------------------------------------------------------
1913 pre_base_env.Append(
1914 CPPDEFINES = [
1915 ['NACL_BLOCK_SHIFT', '5'],
1916 ['NACL_BLOCK_SIZE', '32'],
1917 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ],
1918 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ],
1919 ],
1920 )
1921
1913 base_env = pre_base_env.Clone() 1922 base_env = pre_base_env.Clone()
1914 base_env.Append( 1923 base_env.Append(
1915 BUILD_SUBTYPE = '', 1924 BUILD_SUBTYPE = '',
1916 CPPDEFINES = [ 1925 CPPDEFINES = [
1917 ['NACL_BLOCK_SHIFT', '5'],
1918 ['NACL_BLOCK_SIZE', '32'],
1919 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ],
1920 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ],
1921 ['NACL_TARGET_ARCH', '${TARGET_ARCHITECTURE}' ], 1926 ['NACL_TARGET_ARCH', '${TARGET_ARCHITECTURE}' ],
1922 ['NACL_TARGET_SUBARCH', '${TARGET_SUBARCH}' ], 1927 ['NACL_TARGET_SUBARCH', '${TARGET_SUBARCH}' ],
1923 ], 1928 ],
1924 CPPPATH = ['${SOURCE_ROOT}'], 1929 CPPPATH = ['${SOURCE_ROOT}'],
1925 1930
1926 EXTRA_CFLAGS = [], 1931 EXTRA_CFLAGS = [],
1927 EXTRA_CCFLAGS = [], 1932 EXTRA_CCFLAGS = [],
1928 EXTRA_CXXFLAGS = [], 1933 EXTRA_CXXFLAGS = [],
1929 EXTRA_LIBS = [], 1934 EXTRA_LIBS = [],
1930 CFLAGS = ['${EXTRA_CFLAGS}'], 1935 CFLAGS = ['${EXTRA_CFLAGS}'],
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 # Do this before the site_scons/site_tools/naclsdk.py stuff to pass it along. 2358 # Do this before the site_scons/site_tools/naclsdk.py stuff to pass it along.
2354 pre_base_env.Append( 2359 pre_base_env.Append(
2355 PNACL_BCLDFLAGS = ARGUMENTS.get('pnacl_bcldflags', '').split(':')) 2360 PNACL_BCLDFLAGS = ARGUMENTS.get('pnacl_bcldflags', '').split(':'))
2356 2361
2357 # ---------------------------------------------------------- 2362 # ----------------------------------------------------------
2358 # The nacl_env is used to build native_client modules 2363 # The nacl_env is used to build native_client modules
2359 # using a special tool chain which produces platform 2364 # using a special tool chain which produces platform
2360 # independent binaries 2365 # independent binaries
2361 # NOTE: this loads stuff from: site_scons/site_tools/naclsdk.py 2366 # NOTE: this loads stuff from: site_scons/site_tools/naclsdk.py
2362 # ---------------------------------------------------------- 2367 # ----------------------------------------------------------
2363 nacl_env = pre_base_env.Clone( 2368
2369 nacl_common_env = pre_base_env.Clone(
2364 tools = ['naclsdk'], 2370 tools = ['naclsdk'],
2365 BUILD_TYPE = 'nacl',
2366 BUILD_TYPE_DESCRIPTION = 'NaCl module build',
2367 NACL_BUILD_FAMILY = 'UNTRUSTED', 2371 NACL_BUILD_FAMILY = 'UNTRUSTED',
2368 2372
2373 ARFLAGS = 'rc',
2374
2375 # ${SOURCE_ROOT} for #include <ppapi/...>
2376 # ${SOURCE_ROOT}/gpu for #include <GLES2/...>"
Nick Bray 2011/06/28 21:53:35 Typo
2377 CPPPATH = ['${SOURCE_ROOT}', '${SOURCE_ROOT}/gpu'],
2378
2369 EXTRA_CFLAGS = [], 2379 EXTRA_CFLAGS = [],
2370 EXTRA_CCFLAGS = ARGUMENTS.get('nacl_ccflags', '').split(':'), 2380 EXTRA_CCFLAGS = ARGUMENTS.get('nacl_ccflags', '').split(':'),
2371 EXTRA_CXXFLAGS = [], 2381 EXTRA_CXXFLAGS = [],
2372 EXTRA_LIBS = [], 2382 EXTRA_LIBS = [],
2373 EXTRA_LINKFLAGS = ARGUMENTS.get('nacl_linkflags', '').split(':'), 2383 EXTRA_LINKFLAGS = ARGUMENTS.get('nacl_linkflags', '').split(':'),
2374 2384
2375 # This is the address at which a user executable is expected to
2376 # place its data segment in order to be compatible with the
2377 # integrated runtime (IRT) library.
2378 IRT_DATA_REGION_START = '0x10000000',
2379 # Load addresses of the IRT's code and data segments.
2380 IRT_BLOB_CODE_START = '0x08000000',
2381 IRT_BLOB_DATA_START = '0x18000000',
2382
2383 # always optimize binaries 2385 # always optimize binaries
2384 # Command line option nacl_ccflags=... add additional option to nacl build 2386 # Command line option nacl_ccflags=... add additional option to nacl build
2385 CCFLAGS = ['-O2', 2387 CCFLAGS = ['-O2',
2386 '-fomit-frame-pointer', 2388 '-fomit-frame-pointer',
2387 '-Wall', 2389 '-Wall',
2388 '-fdiagnostics-show-option', 2390 '-fdiagnostics-show-option',
2389 '-pedantic', 2391 '-pedantic',
2390 ] + 2392 ] +
2391 werror_flags + 2393 werror_flags +
2392 ['${EXTRA_CCFLAGS}'] , 2394 ['${EXTRA_CCFLAGS}'] ,
2393 CPPPATH = ['$SOURCE_ROOT'], 2395
2394 CFLAGS = ['-std=gnu99', 2396 CFLAGS = ['-std=gnu99',
2395 ] + 2397 ] +
2396 ['${EXTRA_CFLAGS}'], 2398 ['${EXTRA_CFLAGS}'],
2397 CXXFLAGS = ['-std=gnu++98', 2399 CXXFLAGS = ['-std=gnu++98',
2398 '-Wno-long-long', 2400 '-Wno-long-long',
2399 ] + 2401 ] +
2400 ['${EXTRA_CXXFLAGS}'], 2402 ['${EXTRA_CXXFLAGS}'],
2403
2404 # This is the address at which a user executable is expected to
2405 # place its data segment in order to be compatible with the
2406 # integrated runtime (IRT) library.
2407 IRT_DATA_REGION_START = '0x10000000',
2408 # Load addresses of the IRT's code and data segments.
2409 IRT_BLOB_CODE_START = '0x08000000',
2410 IRT_BLOB_DATA_START = '0x18000000',
2411 )
2412
2413 # These add on to those set in pre_base_env, above.
2414 nacl_common_env.Append(
2415 CPPDEFINES = [
2416 # This ensures that UINT32_MAX gets defined.
2417 ['__STDC_LIMIT_MACROS', '1'],
2418 # This ensures that PRId64 etc. get defined.
2419 ['__STDC_FORMAT_MACROS', '1'],
2420 # _GNU_SOURCE ensures that strtof() gets declared.
2421 ['_GNU_SOURCE', 1],
2422 # strdup, and other common stuff
2423 ['_BSD_SOURCE', '1'],
2424 ['_POSIX_C_SOURCE', '199506'],
2425 ['_XOPEN_SOURCE', '600'],
2426
2427 ['DYNAMIC_ANNOTATIONS_ENABLED', '1' ],
2428 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ],
2429 ],
2430 )
2431
2432 def FixWindowsAssembler(env):
2433 if env.Bit('host_windows'):
2434 # NOTE: This is needed because Windows builds are case-insensitive.
2435 # Without this we use nacl-as, which doesn't handle include directives, etc.
2436 env.Replace(ASCOM='${CCCOM}')
2437
2438 FixWindowsAssembler(nacl_common_env)
2439
2440 # TODO(mcgrathr,pdox): llc troubles at final link time if the libraries are
2441 # built with optimization, remove this hack when the compiler is fixed.
2442 # http://code.google.com/p/nativeclient/issues/detail?id=1225
2443 if nacl_common_env.Bit('bitcode'):
2444 optflags = ['-O0','-O1','-O2','-O3']
2445 nacl_common_env.FilterOut(CCFLAGS=optflags)
2446 nacl_common_env.FilterOut(LINKFLAGS=optflags)
2447 nacl_common_env.FilterOut(CCFLAGS=optflags)
2448 nacl_common_env.FilterOut(CXXFLAGS=optflags)
2449
2450 nacl_env = nacl_common_env.Clone(
2451 BUILD_TYPE = 'nacl',
2452 BUILD_TYPE_DESCRIPTION = 'NaCl module build',
2453
2454 # This magic is copied from scons-2.0.1/engine/SCons/Defaults.py
2455 # where this pattern is used for _LIBDIRFLAGS, which produces -L
2456 # switches. Here we are producing a -Wl,-rpath-link,DIR for each
2457 # element of LIBPATH, i.e. for each -LDIR produced.
2458 RPATH_LINK_FLAGS = '$( ${_concat(RPATHLINKPREFIX, LIBPATH, RPATHLINKSUFFIX,'
2459 '__env__, RDirs, TARGET, SOURCE)} $)',
2460 RPATHLINKPREFIX = '-Wl,-rpath-link,',
2461 RPATHLINKSUFFIX = '',
2462
2401 LIBS = [], 2463 LIBS = [],
2402 LINKFLAGS = ['${EXTRA_LINKFLAGS}'], 2464 LINKFLAGS = ['${EXTRA_LINKFLAGS}', '${RPATH_LINK_FLAGS}'],
2403 CPPDEFINES = [
2404 # _GNU_SOURCE ensures that strtof() gets declared.
2405 ['_GNU_SOURCE', 1],
2406 # This ensures that PRId64 etc. get defined.
2407 ['__STDC_FORMAT_MACROS', '1'],
2408 # strdup, and other common stuff
2409 ['_BSD_SOURCE', '1'],
2410 ['_POSIX_C_SOURCE', '199506'],
2411 ['_XOPEN_SOURCE', '600'],
2412 ],
2413 ) 2465 )
2414 2466
2467 # Look in the local include and lib directories before the toolchain's.
2468 nacl_env['INCLUDE_DIR'] = '${TARGET_ROOT}/include'
2469 # Remove the default $LIB_DIR element so that we prepend it without duplication.
2470 # Using PrependUnique alone would let it stay last, where we want it first.
2471 nacl_env.FilterOut(LIBPATH=['${LIB_DIR}'])
2472 nacl_env.PrependUnique(
2473 CPPPATH = ['${INCLUDE_DIR}'],
2474 LIBPATH = ['${LIB_DIR}'],
2475 )
2476
2415 if not nacl_env.Bit('bitcode'): 2477 if not nacl_env.Bit('bitcode'):
2416 if nacl_env.Bit('build_x86_32'): 2478 if nacl_env.Bit('build_x86_32'):
2417 nacl_env.Append(CCFLAGS = ['-m32'], LINKFLAGS = '-m32') 2479 nacl_env.Append(CCFLAGS = ['-m32'], LINKFLAGS = '-m32')
2418 elif nacl_env.Bit('build_x86_64'): 2480 elif nacl_env.Bit('build_x86_64'):
2419 nacl_env.Append(CCFLAGS = ['-m64'], LINKFLAGS = '-m64') 2481 nacl_env.Append(CCFLAGS = ['-m64'], LINKFLAGS = '-m64')
2420 2482
2421 if nacl_env.Bit('bitcode'): 2483 if nacl_env.Bit('bitcode'):
2422 # TODO(robertm): remove this ASAP, we currently have llvm issue with c++ 2484 # TODO(robertm): remove this ASAP, we currently have llvm issue with c++
2423 nacl_env.FilterOut(CCFLAGS = ['-Werror']) 2485 nacl_env.FilterOut(CCFLAGS = ['-Werror'])
2424 nacl_env.Append(CFLAGS = werror_flags) 2486 nacl_env.Append(CFLAGS = werror_flags)
(...skipping 21 matching lines...) Expand all
2446 NACL_BUILD_FAMILY = 'UNTRUSTED_IRT', 2508 NACL_BUILD_FAMILY = 'UNTRUSTED_IRT',
2447 ) 2509 )
2448 2510
2449 # http://code.google.com/p/nativeclient/issues/detail?id=1225 2511 # http://code.google.com/p/nativeclient/issues/detail?id=1225
2450 if nacl_irt_env.Bit('bitcode'): 2512 if nacl_irt_env.Bit('bitcode'):
2451 optflags = ['-O0','-O1','-O2','-O3'] 2513 optflags = ['-O0','-O1','-O2','-O3']
2452 nacl_irt_env.FilterOut(LINKFLAGS=optflags) 2514 nacl_irt_env.FilterOut(LINKFLAGS=optflags)
2453 nacl_irt_env.FilterOut(CCFLAGS=optflags) 2515 nacl_irt_env.FilterOut(CCFLAGS=optflags)
2454 nacl_irt_env.FilterOut(CXXFLAGS=optflags) 2516 nacl_irt_env.FilterOut(CXXFLAGS=optflags)
2455 2517
2518 # This needs to happen pretty early, because it affects any concretized
2519 # directory names.
2520 def AddTargetRootSuffix(env, bit_name, suffix):
2521 """Add a suffix to the subdirectory of scons-out that we use. This
2522 usually does not affect correctness, but saves us triggering a
2523 rebuild whenever we add or remove a build option such as --nacl_glibc.
2524 """
2525 if env.Bit(bit_name):
2526 pathname = '%s-%s' % (env.subst('${TARGET_ROOT}'), suffix)
2527 env.Replace(TARGET_ROOT=pathname)
2528
2529 AddTargetRootSuffix(nacl_env, 'bitcode', 'pnacl')
2530 AddTargetRootSuffix(nacl_env, 'nacl_pic', 'pic')
2531 AddTargetRootSuffix(nacl_env, 'use_sandboxed_translator', 'sbtc')
2532 AddTargetRootSuffix(nacl_env, 'nacl_glibc', 'glibc')
2456 2533
2457 if nacl_env.Bit('irt'): 2534 if nacl_env.Bit('irt'):
2458 nacl_env.Replace(PPAPI_LIBS=['ppapi']) 2535 nacl_env.Replace(PPAPI_LIBS=['ppapi'])
2459 # Even non-PPAPI nexes need this for IRT-compatible linking. 2536 # Even non-PPAPI nexes need this for IRT-compatible linking.
2460 # We don't just make them link with ${PPAPI_LIBS} because in 2537 # We don't just make them link with ${PPAPI_LIBS} because in
2461 # the non-IRT case under dynamic linking, that tries to link 2538 # the non-IRT case under dynamic linking, that tries to link
2462 # in libppruntime.so with its undefined symbols and fails 2539 # in libppruntime.so with its undefined symbols and fails
2463 # for nexes that aren't actually PPAPI users. 2540 # for nexes that aren't actually PPAPI users.
2464 nacl_env.Replace(NON_PPAPI_BROWSER_LIBS=nacl_env['PPAPI_LIBS']) 2541 nacl_env.Replace(NON_PPAPI_BROWSER_LIBS=nacl_env['PPAPI_LIBS'])
2465 else: 2542 else:
(...skipping 16 matching lines...) Expand all
2482 if (nacl_env.Bit('nacl_glibc') and 2559 if (nacl_env.Bit('nacl_glibc') and
2483 nacl_env.Bit('nacl_static_link') and 2560 nacl_env.Bit('nacl_static_link') and
2484 not nacl_env.Bit('bitcode')): 2561 not nacl_env.Bit('bitcode')):
2485 # The "-lc" is necessary because libgcc_eh depends on libc but for 2562 # The "-lc" is necessary because libgcc_eh depends on libc but for
2486 # some reason nacl-gcc is not linking with "--start-group/--end-group". 2563 # some reason nacl-gcc is not linking with "--start-group/--end-group".
2487 nacl_env.Append(LINKFLAGS=[ 2564 nacl_env.Append(LINKFLAGS=[
2488 '-static', 2565 '-static',
2489 '-T', 'ldscripts/%s.x.static' % GetLinkerScriptBaseName(nacl_env), 2566 '-T', 'ldscripts/%s.x.static' % GetLinkerScriptBaseName(nacl_env),
2490 '-lc']) 2567 '-lc'])
2491 2568
2492 def AddTargetRootSuffix(env, bit_name, suffix):
2493 """Add a suffix to the subdirectory of scons-out that we use. This
2494 usually does not affect correctness, but saves us triggering a
2495 rebuild whenever we add or remove a build option such as --nacl_glibc.
2496 """
2497 if env.Bit(bit_name):
2498 pathname = '%s-%s' % (env.subst('${TARGET_ROOT}'), suffix)
2499 env.Replace(TARGET_ROOT=pathname)
2500
2501 AddTargetRootSuffix(nacl_env, 'bitcode', 'pnacl')
2502 AddTargetRootSuffix(nacl_env, 'nacl_pic', 'pic')
2503 AddTargetRootSuffix(nacl_env, 'use_sandboxed_translator', 'sbtc')
2504 AddTargetRootSuffix(nacl_env, 'nacl_glibc', 'glibc')
2505
2506 if nacl_env.Bit('running_on_valgrind'): 2569 if nacl_env.Bit('running_on_valgrind'):
2507 nacl_env.Append(CCFLAGS = ['-g', '-Wno-overlength-strings', 2570 nacl_env.Append(CCFLAGS = ['-g', '-Wno-overlength-strings',
2508 '-fno-optimize-sibling-calls'], 2571 '-fno-optimize-sibling-calls'],
2509 CPPDEFINES = [['DYNAMIC_ANNOTATIONS_ENABLED', '1' ], 2572 CPPDEFINES = [['DYNAMIC_ANNOTATIONS_ENABLED', '1' ],
2510 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ]]) 2573 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ]])
2511 # With GLibC, libvalgrind.so is preloaded at runtime. 2574 # With GLibC, libvalgrind.so is preloaded at runtime.
2512 # With Newlib, it has to be linked in. 2575 # With Newlib, it has to be linked in.
2513 if not nacl_env.Bit('nacl_glibc'): 2576 if not nacl_env.Bit('nacl_glibc'):
2514 nacl_env.Append(LINKFLAGS = ['-Wl,-u,have_nacl_valgrind_interceptors'], 2577 nacl_env.Append(LINKFLAGS = ['-Wl,-u,have_nacl_valgrind_interceptors'],
2515 LIBS = ['valgrind']) 2578 LIBS = ['valgrind'])
2516 2579
2517 environment_list.append(nacl_env) 2580 environment_list.append(nacl_env)
2518 2581
2582 if not nacl_env.Bit('nacl_glibc'):
2583 # These are all specific to nacl-newlib so we do not include them
2584 # when building against nacl-glibc. The functionality of
2585 # pthread/startup/stubs/nosys is provided by glibc. The valgrind
2586 # code currently assumes nc_threads.
2587 nacl_env.Append(
2588 BUILD_SCONSCRIPTS = [
2589 #### ALPHABETICALLY SORTED ####
2590 'src/untrusted/pthread/nacl.scons',
2591 'src/untrusted/startup/nacl.scons',
2592 'src/untrusted/stubs/nacl.scons',
2593 'src/untrusted/nosys/nacl.scons',
2594 #### ALPHABETICALLY SORTED ####
2595 ])
2596
2519 nacl_env.Append( 2597 nacl_env.Append(
2520 BUILD_SCONSCRIPTS = [ 2598 BUILD_SCONSCRIPTS = [
2521 #### ALPHABETICALLY SORTED #### 2599 #### ALPHABETICALLY SORTED ####
2600 'src/include/nacl/nacl.scons',
2601 'src/shared/gio/nacl.scons',
2602 'src/shared/imc/nacl.scons',
2603 'src/shared/platform/nacl.scons',
2604 'src/shared/ppapi/nacl.scons',
2605 'src/shared/ppapi_proxy/nacl.scons',
2606 'src/shared/srpc/nacl.scons',
2522 'src/tools/posix_over_imc/nacl.scons', 2607 'src/tools/posix_over_imc/nacl.scons',
2523 'src/trusted/service_runtime/nacl.scons', 2608 'src/trusted/service_runtime/nacl.scons',
2524 'src/trusted/validator_x86/nacl.scons', 2609 'src/trusted/validator_x86/nacl.scons',
2610 'src/untrusted/ehsupport/nacl.scons',
2611 'src/untrusted/irt_stub/nacl.scons',
2612 'src/untrusted/nacl/nacl.scons',
2613 'src/untrusted/ppapi/nacl.scons',
2614 'src/untrusted/valgrind/nacl.scons',
2525 'tests/app_lib/nacl.scons', 2615 'tests/app_lib/nacl.scons',
2526 'tests/autoloader/nacl.scons', 2616 'tests/autoloader/nacl.scons',
2527 'tests/barebones/nacl.scons', 2617 'tests/barebones/nacl.scons',
2528 'tests/blob_library_loading/nacl.scons', 2618 'tests/blob_library_loading/nacl.scons',
2529 'tests/browser_dynamic_library/nacl.scons', 2619 'tests/browser_dynamic_library/nacl.scons',
2530 'tests/browser_startup_time/nacl.scons', 2620 'tests/browser_startup_time/nacl.scons',
2531 'tests/bundle_size/nacl.scons', 2621 'tests/bundle_size/nacl.scons',
2532 'tests/callingconv/nacl.scons', 2622 'tests/callingconv/nacl.scons',
2533 'tests/chrome_extension/nacl.scons', 2623 'tests/chrome_extension/nacl.scons',
2534 'tests/computed_gotos/nacl.scons', 2624 'tests/computed_gotos/nacl.scons',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2566 'tests/nanosleep/nacl.scons', 2656 'tests/nanosleep/nacl.scons',
2567 'tests/native_worker/nacl.scons', 2657 'tests/native_worker/nacl.scons',
2568 'tests/noop/nacl.scons', 2658 'tests/noop/nacl.scons',
2569 'tests/nrd_xfer/nacl.scons', 2659 'tests/nrd_xfer/nacl.scons',
2570 'tests/nthread_nice/nacl.scons', 2660 'tests/nthread_nice/nacl.scons',
2571 'tests/null/nacl.scons', 2661 'tests/null/nacl.scons',
2572 'tests/nullptr/nacl.scons', 2662 'tests/nullptr/nacl.scons',
2573 'tests/plugin_async_messaging/nacl.scons', 2663 'tests/plugin_async_messaging/nacl.scons',
2574 'tests/pnacl_abi/nacl.scons', 2664 'tests/pnacl_abi/nacl.scons',
2575 'tests/pnacl_client_translator/nacl.scons', 2665 'tests/pnacl_client_translator/nacl.scons',
2666 'tests/ppapi/nacl.scons',
2576 'tests/ppapi_browser/bad/nacl.scons', 2667 'tests/ppapi_browser/bad/nacl.scons',
2577 'tests/ppapi_browser/manifest/nacl.scons', 2668 'tests/ppapi_browser/manifest/nacl.scons',
2578 'tests/ppapi_browser/ppb_core/nacl.scons', 2669 'tests/ppapi_browser/ppb_core/nacl.scons',
2579 'tests/ppapi_browser/ppb_graphics2d/nacl.scons', 2670 'tests/ppapi_browser/ppb_graphics2d/nacl.scons',
2580 'tests/ppapi_browser/ppb_scrollbar/nacl.scons', 2671 'tests/ppapi_browser/ppb_scrollbar/nacl.scons',
2581 'tests/ppapi_browser/progress_events/nacl.scons', 2672 'tests/ppapi_browser/progress_events/nacl.scons',
2582 'tests/ppapi_example_2d/nacl.scons', 2673 'tests/ppapi_example_2d/nacl.scons',
2583 'tests/ppapi_example_audio/nacl.scons', 2674 'tests/ppapi_example_audio/nacl.scons',
2584 'tests/ppapi_example_events/nacl.scons', 2675 'tests/ppapi_example_events/nacl.scons',
2585 'tests/ppapi_example_font/nacl.scons', 2676 'tests/ppapi_example_font/nacl.scons',
2586 'tests/ppapi_example_gles2/nacl.scons', 2677 'tests/ppapi_example_gles2/nacl.scons',
2587 'tests/ppapi_example_post_message/nacl.scons', 2678 'tests/ppapi_example_post_message/nacl.scons',
2588 'tests/ppapi_file_system/nacl.scons', 2679 'tests/ppapi_file_system/nacl.scons',
2589 'tests/ppapi_geturl/nacl.scons', 2680 'tests/ppapi_geturl/nacl.scons',
2590 'tests/ppapi_gles_book/nacl.scons', 2681 'tests/ppapi_gles_book/nacl.scons',
2591 'tests/ppapi_messaging/nacl.scons', 2682 'tests/ppapi_messaging/nacl.scons',
2592 'tests/ppapi_proxy/nacl.scons', 2683 'tests/ppapi_proxy/nacl.scons',
2593 'tests/ppapi_simple_tests/nacl.scons', 2684 'tests/ppapi_simple_tests/nacl.scons',
2594 'tests/ppapi_test_example/nacl.scons', 2685 'tests/ppapi_test_example/nacl.scons',
2595 'tests/ppapi_test_lib/nacl.scons', 2686 'tests/ppapi_test_lib/nacl.scons',
2596 'tests/ppapi_tests/nacl.scons', 2687 'tests/ppapi_tests/nacl.scons',
2597 'tests/ppapi/nacl.scons',
2598 'tests/pyauto_nacl/nacl.scons', 2688 'tests/pyauto_nacl/nacl.scons',
2599 'tests/redir/nacl.scons', 2689 'tests/redir/nacl.scons',
2600 'tests/rodata_not_writable/nacl.scons', 2690 'tests/rodata_not_writable/nacl.scons',
2601 'tests/signal_handler/nacl.scons', 2691 'tests/signal_handler/nacl.scons',
2602 'tests/srpc/nacl.scons', 2692 'tests/srpc/nacl.scons',
2603 'tests/srpc_hw/nacl.scons', 2693 'tests/srpc_hw/nacl.scons',
2604 'tests/srpc_message/nacl.scons', 2694 'tests/srpc_message/nacl.scons',
2605 'tests/stack_alignment/nacl.scons', 2695 'tests/stack_alignment/nacl.scons',
2606 'tests/startup_message/nacl.scons', 2696 'tests/startup_message/nacl.scons',
2607 'tests/stubout_mode/nacl.scons', 2697 'tests/stubout_mode/nacl.scons',
2608 'tests/sysbasic/nacl.scons', 2698 'tests/sysbasic/nacl.scons',
2699 'tests/syscall_return_sandboxing/nacl.scons',
2609 'tests/syscalls/nacl.scons', 2700 'tests/syscalls/nacl.scons',
2610 'tests/syscall_return_sandboxing/nacl.scons',
2611 'tests/threads/nacl.scons', 2701 'tests/threads/nacl.scons',
2612 'tests/time/nacl.scons', 2702 'tests/time/nacl.scons',
2613 'tests/tls/nacl.scons', 2703 'tests/tls/nacl.scons',
2614 'tests/toolchain/nacl.scons', 2704 'tests/toolchain/nacl.scons',
2615 'tests/unittests/shared/imc/nacl.scons', 2705 'tests/unittests/shared/imc/nacl.scons',
2616 'tests/unittests/shared/srpc/nacl.scons', 2706 'tests/unittests/shared/srpc/nacl.scons',
2617 'tests/untrusted_check/nacl.scons', 2707 'tests/untrusted_check/nacl.scons',
2618 #### ALPHABETICALLY SORTED #### 2708 #### ALPHABETICALLY SORTED ####
2619 ]) 2709 ])
2620 2710
2621 nacl_env.Append( 2711 nacl_env.Append(
2622 BUILD_SCONSCRIPTS = [ 2712 BUILD_SCONSCRIPTS = [
2623 'tools/tests/nacl.scons', 2713 'tools/tests/nacl.scons',
2624 ]) 2714 ])
2625 2715
2626 # ---------------------------------------------------------- 2716 # ----------------------------------------------------------
2627 # Possibly install an sdk by downloading it 2717 # Possibly install an sdk by downloading it
2628 # ---------------------------------------------------------- 2718 # ----------------------------------------------------------
2629 # TODO: explore using a less heavy weight mechanism 2719 # TODO: explore using a less heavy weight mechanism
2630 # NOTE: this uses stuff from: site_scons/site_tools/naclsdk.py 2720 # NOTE: this uses stuff from: site_scons/site_tools/naclsdk.py
2631 import SCons.Script 2721 import SCons.Script
2632 2722
2633 SCons.Script.AddOption('--download', 2723 SCons.Script.AddOption('--download',
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2668 n = env.Replicate(path, nodes) 2758 n = env.Replicate(path, nodes)
2669 env.Alias('prebuilt_binaries_update', n) 2759 env.Alias('prebuilt_binaries_update', n)
2670 return n 2760 return n
2671 2761
2672 nacl_env.AddMethod(AddPrebuiltBinaryToRepository) 2762 nacl_env.AddMethod(AddPrebuiltBinaryToRepository)
2673 # ---------------------------------------------------------- 2763 # ----------------------------------------------------------
2674 # We force this into a separate env so that the tests in nacl_env 2764 # We force this into a separate env so that the tests in nacl_env
2675 # have NO access to any libraries build here but need to link them 2765 # have NO access to any libraries build here but need to link them
2676 # from the sdk libdir 2766 # from the sdk libdir
2677 # ---------------------------------------------------------- 2767 # ----------------------------------------------------------
2678 nacl_extra_sdk_env = pre_base_env.Clone( 2768 nacl_extra_sdk_env = nacl_common_env.Clone(
2679 tools = ['naclsdk'],
2680 BUILD_TYPE = 'nacl_extra_sdk', 2769 BUILD_TYPE = 'nacl_extra_sdk',
2681 BUILD_TYPE_DESCRIPTION = 'NaCl SDK extra library build', 2770 BUILD_TYPE_DESCRIPTION = 'NaCl SDK extra library build',
2682 NACL_BUILD_FAMILY = 'UNTRUSTED',
2683 IRT_DATA_REGION_START = nacl_env['IRT_DATA_REGION_START'],
2684 # ${SOURCE_ROOT} for #include <ppapi/...>
2685 # ${SOURCE_ROOT}/gpu for #include <GLES2/...>"
2686 CPPPATH = ['${SOURCE_ROOT}', '${SOURCE_ROOT}/gpu'],
2687 CPPDEFINES = [
2688 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ],
2689 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ],
2690 ['NACL_BLOCK_SHIFT', '5' ],
2691 ['DYNAMIC_ANNOTATIONS_ENABLED', '1' ],
2692 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ],
2693 # This ensures that UINT32_MAX gets defined.
2694 ['__STDC_LIMIT_MACROS', '1'],
2695 # This ensures that PRId64 etc. get defined.
2696 ['__STDC_FORMAT_MACROS', '1'],
2697 ],
2698 ARFLAGS = 'rc'
2699 ) 2771 )
2700 2772
2701 AddTargetRootSuffix(nacl_extra_sdk_env, 'bitcode', 'pnacl') 2773 AddTargetRootSuffix(nacl_extra_sdk_env, 'bitcode', 'pnacl')
2702 AddTargetRootSuffix(nacl_extra_sdk_env, 'nacl_glibc', 'glibc') 2774 AddTargetRootSuffix(nacl_extra_sdk_env, 'nacl_glibc', 'glibc')
2703 2775
2704 # TODO(robertm): consider moving some of these flags to the naclsdk tool 2776 # TODO(robertm): consider moving some of these flags to the naclsdk tool
2705 nacl_extra_sdk_env.Append(CCFLAGS=['-Wall', 2777 nacl_extra_sdk_env.Append(CCFLAGS=['-Wall',
2706 '-fdiagnostics-show-option', 2778 '-fdiagnostics-show-option',
2707 '-pedantic'] + 2779 '-pedantic'] +
2708 werror_flags + 2780 werror_flags +
(...skipping 20 matching lines...) Expand all
2729 # class constructors 2801 # class constructors
2730 if nacl_extra_sdk_env.Bit('target_arm'): 2802 if nacl_extra_sdk_env.Bit('target_arm'):
2731 nacl_extra_sdk_env.FilterOut(CCFLAGS = ['-Werror']) 2803 nacl_extra_sdk_env.FilterOut(CCFLAGS = ['-Werror'])
2732 nacl_extra_sdk_env.Append(CFLAGS = werror_flags) 2804 nacl_extra_sdk_env.Append(CFLAGS = werror_flags)
2733 2805
2734 # TODO(pdox): Remove this as soon as build_config.h can be 2806 # TODO(pdox): Remove this as soon as build_config.h can be
2735 # changed to accept __pnacl__. 2807 # changed to accept __pnacl__.
2736 if nacl_extra_sdk_env.Bit('bitcode'): 2808 if nacl_extra_sdk_env.Bit('bitcode'):
2737 nacl_extra_sdk_env.AddBiasForPNaCl() 2809 nacl_extra_sdk_env.AddBiasForPNaCl()
2738 2810
2739 if nacl_extra_sdk_env.Bit('host_windows'):
2740 # NOTE: This is needed because Windows builds are case-insensitive.
2741 # Without this we use nacl-as, which doesn't handle include directives, etc.
2742 nacl_extra_sdk_env.Replace(ASCOM = '${CCCOM}')
2743
2744 if nacl_env.Bit('host_windows'):
2745 # NOTE: This is needed because Windows builds are case-insensitive.
2746 # Without this we use nacl-as, which doesn't handle include directives, etc.
2747 nacl_env.Replace(ASCOM = '${CCCOM}')
2748
2749 2811
2750 def NaClSdkLibrary(env, lib_name, *args, **kwargs): 2812 def NaClSdkLibrary(env, lib_name, *args, **kwargs):
2751 env.ComponentLibrary(lib_name, *args, **kwargs) 2813 env.ComponentLibrary(lib_name, *args, **kwargs)
2752 if not env.Bit('nacl_disable_shared'): 2814 if not env.Bit('nacl_disable_shared'):
2753 env_shared = env.Clone(COMPONENT_STATIC=False) 2815 env_shared = env.Clone(COMPONENT_STATIC=False)
2754 soname = SCons.Util.adjustixes(lib_name, 'lib', '.so') 2816 soname = SCons.Util.adjustixes(lib_name, 'lib', '.so')
2755 env_shared.AppendUnique(SHLINKFLAGS=['-Wl,-soname,%s' % (soname)]) 2817 env_shared.AppendUnique(SHLINKFLAGS=['-Wl,-soname,%s' % (soname)])
2756 env_shared.ComponentLibrary(lib_name, *args, **kwargs) 2818 env_shared.ComponentLibrary(lib_name, *args, **kwargs)
2757 2819
2758 nacl_extra_sdk_env.AddMethod(NaClSdkLibrary) 2820 nacl_extra_sdk_env.AddMethod(NaClSdkLibrary)
2821 nacl_env.AddMethod(NaClSdkLibrary)
2759 2822
2760 2823
2761 # --------------------------------------------------------------------- 2824 # ---------------------------------------------------------------------
2762 # Special environment for untrusted test binaries that use raw syscalls 2825 # Special environment for untrusted test binaries that use raw syscalls
2763 # --------------------------------------------------------------------- 2826 # ---------------------------------------------------------------------
2764 def RawSyscallObjects(env, sources): 2827 def RawSyscallObjects(env, sources):
2765 raw_syscall_env = env.Clone() 2828 raw_syscall_env = env.Clone()
2766 raw_syscall_env.Append( 2829 raw_syscall_env.Append(
2767 CPPDEFINES = [ 2830 CPPDEFINES = [
2768 ['USE_RAW_SYSCALLS', '1'], 2831 ['USE_RAW_SYSCALLS', '1'],
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2846 nacl_extra_sdk_env.Alias('extra_sdk_update', [libs, libs_platform]) 2909 nacl_extra_sdk_env.Alias('extra_sdk_update', [libs, libs_platform])
2847 2910
2848 2911
2849 # Add a header file to the toolchain. By default, Native Client-specific 2912 # Add a header file to the toolchain. By default, Native Client-specific
2850 # headers go under nacl/, but there are non-specific headers, such as 2913 # headers go under nacl/, but there are non-specific headers, such as
2851 # the OpenGLES2 headers, that go under their own subdir. 2914 # the OpenGLES2 headers, that go under their own subdir.
2852 def AddHeaderToSdk(env, nodes, subdir = 'nacl/'): 2915 def AddHeaderToSdk(env, nodes, subdir = 'nacl/'):
2853 dir = ARGUMENTS.get('extra_sdk_include_destination') 2916 dir = ARGUMENTS.get('extra_sdk_include_destination')
2854 if not dir: 2917 if not dir:
2855 dir = '${NACL_SDK_INCLUDE}' 2918 dir = '${NACL_SDK_INCLUDE}'
2856 2919 if subdir is not None:
2857 n = env.Replicate(dir + '/' + subdir, nodes) 2920 dir += '/' + subdir
2921 n = env.Replicate(dir, nodes)
2858 env.Alias('extra_sdk_update_header', n) 2922 env.Alias('extra_sdk_update_header', n)
2859 return n 2923 return n
2860 2924
2861 nacl_extra_sdk_env.AddMethod(AddHeaderToSdk) 2925 nacl_extra_sdk_env.AddMethod(AddHeaderToSdk)
2862 2926
2863 2927
2864 def AddLibraryToSdkHelper(env, nodes, is_lib, is_platform): 2928 def AddLibraryToSdkHelper(env, nodes, is_lib, is_platform):
2865 """"Helper function to install libs/objs into the toolchain 2929 """"Helper function to install libs/objs into the toolchain
2866 and associate the action with the extra_sdk_update. 2930 and associate the action with the extra_sdk_update.
2867 2931
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
2913 # The IRT-building environment was cloned from nacl_env, but it should 2977 # The IRT-building environment was cloned from nacl_env, but it should
2914 # ignore the --nacl_glibc, nacl_pic=1 and bitcode=1 switches. 2978 # ignore the --nacl_glibc, nacl_pic=1 and bitcode=1 switches.
2915 # We have to reinstantiate the naclsdk.py magic after clearing those flags, 2979 # We have to reinstantiate the naclsdk.py magic after clearing those flags,
2916 # so it regenerates the tool paths right. 2980 # so it regenerates the tool paths right.
2917 # TODO(mcgrathr,bradnelson): could get cleaner if naclsdk.py got folded back in. 2981 # TODO(mcgrathr,bradnelson): could get cleaner if naclsdk.py got folded back in.
2918 nacl_irt_env.ClearBits('nacl_glibc') 2982 nacl_irt_env.ClearBits('nacl_glibc')
2919 nacl_irt_env.ClearBits('nacl_pic') 2983 nacl_irt_env.ClearBits('nacl_pic')
2920 if not nacl_irt_env.Bit('target_arm'): 2984 if not nacl_irt_env.Bit('target_arm'):
2921 nacl_irt_env.ClearBits('bitcode') 2985 nacl_irt_env.ClearBits('bitcode')
2922 nacl_irt_env.Tool('naclsdk') 2986 nacl_irt_env.Tool('naclsdk')
2987 FixWindowsAssembler(nacl_irt_env)
2923 # Make it find the libraries it builds, rather than the SDK ones. 2988 # Make it find the libraries it builds, rather than the SDK ones.
2924 nacl_irt_env.Replace(LIBPATH='${LIB_DIR}') 2989 nacl_irt_env.Replace(LIBPATH='${LIB_DIR}')
2925 2990
2926 AddTargetRootSuffix(nacl_irt_env, 'bitcode', 'pnacl')
2927 AddTargetRootSuffix(nacl_irt_env, 'nacl_pic', 'pic')
2928 if nacl_irt_env.Bit('bitcode'): 2991 if nacl_irt_env.Bit('bitcode'):
2929 nacl_irt_env.AddBiasForPNaCl() 2992 nacl_irt_env.AddBiasForPNaCl()
2930 2993
2931 # We have to stub out various methods that are only defined in 2994 # We have to stub out various methods that are only defined in
2932 # nacl_extra_sdk_env, because we doubly use these nacl.scons files 2995 # nacl_extra_sdk_env, because we doubly use these nacl.scons files
2933 # in nacl_irt_env. 2996 # in nacl_irt_env.
2934 # TODO(mcgrathr): Remove these when nacl_extra_sdk_env is removed. 2997 # TODO(mcgrathr): Remove these when nacl_extra_sdk_env is removed.
2935 def IrtAddLibraryToSdk(env, nodes, is_platform=False): 2998 def AddLibraryDummy(env, nodes, is_platform=False):
2936 pass 2999 return [env.File('${LIB_DIR}/%s.a' % x) for x in nodes]
2937 nacl_irt_env.AddMethod(IrtAddLibraryToSdk, 'AddLibraryToSdk') 3000 nacl_env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk')
2938 nacl_irt_env.AddMethod(IrtAddLibraryToSdk, 'AddObjectToSdk') 3001 nacl_irt_env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk')
3002
3003 def AddObjectInternal(env, nodes, is_platform=False):
3004 return env.Replicate('${LIB_DIR}', nodes)
3005 nacl_env.AddMethod(AddObjectInternal, 'AddObjectToSdk')
3006 nacl_irt_env.AddMethod(AddObjectInternal, 'AddObjectToSdk')
2939 3007
2940 def IrtNaClSdkLibrary(env, lib_name, *args, **kwargs): 3008 def IrtNaClSdkLibrary(env, lib_name, *args, **kwargs):
2941 env.ComponentLibrary(lib_name, *args, **kwargs) 3009 env.ComponentLibrary(lib_name, *args, **kwargs)
2942 nacl_irt_env.AddMethod(IrtNaClSdkLibrary, 'NaClSdkLibrary') 3010 nacl_irt_env.AddMethod(IrtNaClSdkLibrary, 'NaClSdkLibrary')
2943 3011
2944 def IrtAddHeaderToSdk(env, nodes, subdir = 'nacl/'): 3012 # Populate the internal include directory when AddHeaderToSdk
2945 pass 3013 # is used inside nacl_env rather than nacl_extra_sdk_env.
2946 nacl_irt_env.AddMethod(IrtAddHeaderToSdk, 'AddHeaderToSdk') 3014 def AddHeaderInternal(env, nodes, subdir='nacl'):
3015 dir = '${INCLUDE_DIR}'
3016 if subdir is not None:
3017 dir += '/' + subdir
3018 n = env.Replicate(dir, nodes)
3019 return n
3020
3021 nacl_env.AddMethod(AddHeaderInternal, 'AddHeaderToSdk')
3022 nacl_irt_env.AddMethod(AddHeaderInternal, 'AddHeaderToSdk')
3023
3024 # We want to do this for nacl_env when not under --nacl_glibc,
3025 # but for nacl_irt_env whether or not under --nacl_glibc, so
3026 # we do it separately for each after making nacl_irt_env and
3027 # clearing its Bit('nacl_glibc').
3028 def AddImplicitLibs(env):
3029 if not env.Bit('nacl_glibc'):
3030 # These are automatically linked in by the compiler, either directly
3031 # or via the linker script that is -lc. In the non-glibc build, we
3032 # are the ones providing these files, so we need dependencies.
3033 # The ComponentProgram method (site_scons/site_tools/component_builders.py)
3034 # adds dependencies on env['IMPLICIT_LIBS'] if that's set.
3035 implicit_libs = ['crt1.o', 'libnacl.a', 'libcrt_platform.a']
3036 if nacl_env.Bit('bitcode'):
3037 implicit_libs += ['libehsupport.a']
3038 else:
3039 implicit_libs += ['crti.o', 'crtn.o']
3040 env['IMPLICIT_LIBS'] = ['${LIB_DIR}/%s' % file for file in implicit_libs]
3041 # The -B<dir>/ flag is necessary to tell gcc to look for crt[1in].o there.
3042 env.Prepend(LINKFLAGS=['-B${LIB_DIR}/'])
3043
3044 AddImplicitLibs(nacl_env)
3045 AddImplicitLibs(nacl_irt_env)
2947 3046
2948 # Give the environment for building the IRT and its libraries 3047 # Give the environment for building the IRT and its libraries
2949 # the -Ds used for building those libraries for the SDK. 3048 # the -Ds used for building those libraries for the SDK.
2950 # TODO(mcgrathr,bradnelson): clean up when nacl_extra_sdk_env goes away. 3049 # TODO(mcgrathr,bradnelson): clean up when nacl_extra_sdk_env goes away.
2951 # 3050 #
2952 # Since we will use a locally-built libpthread rather than the 3051 # Since we will use a locally-built libpthread rather than the
2953 # one from the toolchain, find its header files in the source 3052 # one from the toolchain, find its header files in the source
2954 # rather than using the ones installed in the toolchain. 3053 # rather than using the ones installed in the toolchain.
2955 nacl_irt_env.AppendUnique(CPPDEFINES = nacl_extra_sdk_env['CPPDEFINES'], 3054 nacl_irt_env.AppendUnique(CPPDEFINES = nacl_extra_sdk_env['CPPDEFINES'],
2956 CPPPATH = ['${MAIN_DIR}/src/untrusted/pthread']) 3055 CPPPATH = ['${MAIN_DIR}/src/untrusted/pthread'])
2957 3056
2958 # TODO(mcgrathr): nacl, crt_platform are implicitly linked in from toolchain, 3057 # TODO(mcgrathr): nacl, crt_platform are implicitly linked in from toolchain,
2959 # scons does not know about the dependencies. We may be building all of 3058 # scons does not know about the dependencies. We may be building all of
2960 # src/untrusted/nacl but only actually getting libimc_syscalls.a from there. 3059 # src/untrusted/nacl but only actually getting libimc_syscalls.a from there.
2961 nacl_irt_env.Append( 3060 nacl_irt_env.Append(
2962 BUILD_SCONSCRIPTS = [ 3061 BUILD_SCONSCRIPTS = [
3062 'src/include/nacl/nacl.scons',
2963 'src/shared/gio/nacl.scons', 3063 'src/shared/gio/nacl.scons',
2964 'src/shared/platform/nacl.scons', 3064 'src/shared/platform/nacl.scons',
2965 'src/shared/ppapi_proxy/nacl.scons', 3065 'src/shared/ppapi_proxy/nacl.scons',
2966 'src/shared/srpc/nacl.scons', 3066 'src/shared/srpc/nacl.scons',
3067 'src/untrusted/ehsupport/nacl.scons',
2967 'src/untrusted/irt/nacl.scons', 3068 'src/untrusted/irt/nacl.scons',
2968 'src/untrusted/nacl/nacl.scons', 3069 'src/untrusted/nacl/nacl.scons',
2969 'src/untrusted/pthread/nacl.scons', 3070 'src/untrusted/pthread/nacl.scons',
3071 'src/untrusted/stubs/nacl.scons',
2970 ]) 3072 ])
2971 3073
2972 environment_list.append(nacl_irt_env) 3074 environment_list.append(nacl_irt_env)
2973 3075
2974 windows_coverage_env = windows_env.Clone( 3076 windows_coverage_env = windows_env.Clone(
2975 tools = ['code_coverage'], 3077 tools = ['code_coverage'],
2976 BUILD_TYPE = 'coverage-win', 3078 BUILD_TYPE = 'coverage-win',
2977 BUILD_TYPE_DESCRIPTION = 'Windows code coverage build', 3079 BUILD_TYPE_DESCRIPTION = 'Windows code coverage build',
2978 # TODO(bradnelson): switch nacl to common testing process so this won't be 3080 # TODO(bradnelson): switch nacl to common testing process so this won't be
2979 # needed. 3081 # needed.
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
3175 Default(['all_programs', 'all_bundles', 'all_test_programs', 'all_libraries']) 3277 Default(['all_programs', 'all_bundles', 'all_test_programs', 'all_libraries'])
3176 3278
3177 if BROKEN_TEST_COUNT > 0: 3279 if BROKEN_TEST_COUNT > 0:
3178 msg = "There are %d broken tests." % BROKEN_TEST_COUNT 3280 msg = "There are %d broken tests." % BROKEN_TEST_COUNT
3179 if GetOption('brief_comstr'): 3281 if GetOption('brief_comstr'):
3180 msg += " Add --verbose to the command line for more information." 3282 msg += " Add --verbose to the command line for more information."
3181 print msg 3283 print msg
3182 3284
3183 # separate warnings from actual build output 3285 # separate warnings from actual build output
3184 Banner('B U I L D - O U T P U T:') 3286 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/component_builders.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698