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

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: windows .s/.S horror 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
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 1880 matching lines...) Expand 10 before | Expand all | Expand 10 after
1891 def CheckPlatformPreconditions(): 1891 def CheckPlatformPreconditions():
1892 "Check and fail fast if platform-specific preconditions are unmet." 1892 "Check and fail fast if platform-specific preconditions are unmet."
1893 1893
1894 if base_env.Bit('target_arm') and (base_env.Bit('build_x86_32') or 1894 if base_env.Bit('target_arm') and (base_env.Bit('build_x86_32') or
1895 base_env.Bit('build_x86_64')): 1895 base_env.Bit('build_x86_64')):
1896 assert os.getenv('NACL_SDK_CC'), ( 1896 assert os.getenv('NACL_SDK_CC'), (
1897 "NACL_SDK_CC undefined. " 1897 "NACL_SDK_CC undefined. "
1898 "Source tools/llvm/setup_arm_untrusted_toolchain.sh.") 1898 "Source tools/llvm/setup_arm_untrusted_toolchain.sh.")
1899 1899
1900 # ---------------------------------------------------------- 1900 # ----------------------------------------------------------
1901 pre_base_env.Append(
robertm 2011/06/27 14:55:15 Are those defines now visible to the "pnacl env".
robertm 2011/06/27 17:57:34 by "pnacl env" I meant the nacl_env with "bitcode=
1902 CPPDEFINES = [
1903 ['NACL_BLOCK_SHIFT', '5'],
1904 ['NACL_BLOCK_SIZE', '32'],
1905 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ],
1906 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ],
1907 ],
1908 )
1909
1901 base_env = pre_base_env.Clone() 1910 base_env = pre_base_env.Clone()
1902 base_env.Append( 1911 base_env.Append(
1903 BUILD_SUBTYPE = '', 1912 BUILD_SUBTYPE = '',
1904 CPPDEFINES = [ 1913 CPPDEFINES = [
1905 ['NACL_BLOCK_SHIFT', '5'],
1906 ['NACL_BLOCK_SIZE', '32'],
1907 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ],
1908 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ],
1909 ['NACL_TARGET_ARCH', '${TARGET_ARCHITECTURE}' ], 1914 ['NACL_TARGET_ARCH', '${TARGET_ARCHITECTURE}' ],
1910 ['NACL_TARGET_SUBARCH', '${TARGET_SUBARCH}' ], 1915 ['NACL_TARGET_SUBARCH', '${TARGET_SUBARCH}' ],
1911 ], 1916 ],
1912 CPPPATH = ['${SOURCE_ROOT}'], 1917 CPPPATH = ['${SOURCE_ROOT}'],
1913 1918
1914 EXTRA_CFLAGS = [], 1919 EXTRA_CFLAGS = [],
1915 EXTRA_CCFLAGS = [], 1920 EXTRA_CCFLAGS = [],
1916 EXTRA_CXXFLAGS = [], 1921 EXTRA_CXXFLAGS = [],
1917 EXTRA_LIBS = [], 1922 EXTRA_LIBS = [],
1918 CFLAGS = ['${EXTRA_CFLAGS}'], 1923 CFLAGS = ['${EXTRA_CFLAGS}'],
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
2342 # Do this before the site_scons/site_tools/naclsdk.py stuff to pass it along. 2347 # Do this before the site_scons/site_tools/naclsdk.py stuff to pass it along.
2343 pre_base_env.Append( 2348 pre_base_env.Append(
2344 PNACL_BCLDFLAGS = ARGUMENTS.get('pnacl_bcldflags', '').split(':')) 2349 PNACL_BCLDFLAGS = ARGUMENTS.get('pnacl_bcldflags', '').split(':'))
2345 2350
2346 # ---------------------------------------------------------- 2351 # ----------------------------------------------------------
2347 # The nacl_env is used to build native_client modules 2352 # The nacl_env is used to build native_client modules
2348 # using a special tool chain which produces platform 2353 # using a special tool chain which produces platform
2349 # independent binaries 2354 # independent binaries
2350 # NOTE: this loads stuff from: site_scons/site_tools/naclsdk.py 2355 # NOTE: this loads stuff from: site_scons/site_tools/naclsdk.py
2351 # ---------------------------------------------------------- 2356 # ----------------------------------------------------------
2352 nacl_env = pre_base_env.Clone( 2357
2358 nacl_common_env = pre_base_env.Clone(
2353 tools = ['naclsdk'], 2359 tools = ['naclsdk'],
2354 BUILD_TYPE = 'nacl',
2355 BUILD_TYPE_DESCRIPTION = 'NaCl module build',
2356 NACL_BUILD_FAMILY = 'UNTRUSTED', 2360 NACL_BUILD_FAMILY = 'UNTRUSTED',
2357 2361
2362 ARFLAGS = 'rc',
2363
2364 # ${SOURCE_ROOT} for #include <ppapi/...>
2365 # ${SOURCE_ROOT}/gpu for #include <GLES2/...>"
Brad Chen 2011/06/25 13:50:11 thank you for adding comments here.
2366 CPPPATH = ['${SOURCE_ROOT}', '${SOURCE_ROOT}/gpu'],
Nick Bray 2011/06/27 19:52:27 Suggestion: linebreak the paths, comment each entr
2367
2358 EXTRA_CFLAGS = [], 2368 EXTRA_CFLAGS = [],
2359 EXTRA_CCFLAGS = ARGUMENTS.get('nacl_ccflags', '').split(':'), 2369 EXTRA_CCFLAGS = ARGUMENTS.get('nacl_ccflags', '').split(':'),
2360 EXTRA_CXXFLAGS = [], 2370 EXTRA_CXXFLAGS = [],
2361 EXTRA_LIBS = [], 2371 EXTRA_LIBS = [],
2362 EXTRA_LINKFLAGS = ARGUMENTS.get('nacl_linkflags', '').split(':'), 2372 EXTRA_LINKFLAGS = ARGUMENTS.get('nacl_linkflags', '').split(':'),
2363 2373
2364 # This is the address at which a user executable is expected to
2365 # place its data segment in order to be compatible with the
2366 # integrated runtime (IRT) library.
2367 IRT_DATA_REGION_START = '0x10000000',
2368 # Load addresses of the IRT's code and data segments.
2369 IRT_BLOB_CODE_START = '0x08000000',
2370 IRT_BLOB_DATA_START = '0x18000000',
2371
2372 # always optimize binaries 2374 # always optimize binaries
2373 # Command line option nacl_ccflags=... add additional option to nacl build 2375 # Command line option nacl_ccflags=... add additional option to nacl build
2374 CCFLAGS = ['-O2', 2376 CCFLAGS = ['-O2',
2375 '-fomit-frame-pointer', 2377 '-fomit-frame-pointer',
2376 '-Wall', 2378 '-Wall',
2377 '-fdiagnostics-show-option', 2379 '-fdiagnostics-show-option',
2378 '-pedantic', 2380 '-pedantic',
2379 ] + 2381 ] +
2380 werror_flags + 2382 werror_flags +
2381 ['${EXTRA_CCFLAGS}'] , 2383 ['${EXTRA_CCFLAGS}'] ,
2382 CPPPATH = ['$SOURCE_ROOT'], 2384
2383 CFLAGS = ['-std=gnu99', 2385 CFLAGS = ['-std=gnu99',
2384 ] + 2386 ] +
2385 ['${EXTRA_CFLAGS}'], 2387 ['${EXTRA_CFLAGS}'],
2386 CXXFLAGS = ['-std=gnu++98', 2388 CXXFLAGS = ['-std=gnu++98',
2387 '-Wno-long-long', 2389 '-Wno-long-long',
2388 ] + 2390 ] +
2389 ['${EXTRA_CXXFLAGS}'], 2391 ['${EXTRA_CXXFLAGS}'],
2392
2393 # This is the address at which a user executable is expected to
2394 # place its data segment in order to be compatible with the
2395 # integrated runtime (IRT) library.
2396 IRT_DATA_REGION_START = '0x10000000',
2397 # Load addresses of the IRT's code and data segments.
2398 IRT_BLOB_CODE_START = '0x08000000',
2399 IRT_BLOB_DATA_START = '0x18000000',
2400 )
2401
2402 # These add on to those set in pre_base_env, above.
2403 nacl_common_env.Append(
2404 CPPDEFINES = [
2405 # This ensures that UINT32_MAX gets defined.
2406 ['__STDC_LIMIT_MACROS', '1'],
2407 # This ensures that PRId64 etc. get defined.
2408 ['__STDC_FORMAT_MACROS', '1'],
2409 # _GNU_SOURCE ensures that strtof() gets declared.
2410 ['_GNU_SOURCE', 1],
2411 # strdup, and other common stuff
2412 ['_BSD_SOURCE', '1'],
2413 ['_POSIX_C_SOURCE', '199506'],
2414 ['_XOPEN_SOURCE', '600'],
2415
2416 ['DYNAMIC_ANNOTATIONS_ENABLED', '1' ],
Nick Bray 2011/06/27 19:52:27 What does this do?
2417 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ],
2418 ],
2419 )
2420
2421 nacl_env = nacl_common_env.Clone(
2422 BUILD_TYPE = 'nacl',
2423 BUILD_TYPE_DESCRIPTION = 'NaCl module build',
2424
2425 # This magic is copied from scons-2.0.1/engine/SCons/Defaults.py
2426 # where this pattern is used for _LIBDIRFLAGS, which produces -L
2427 # switches. Here we are producing a -Wl,-rpath-link,DIR for each
2428 # element of LIBPATH, i.e. for each -LDIR produced.
2429 RPATH_LINK_FLAGS = '$( ${_concat(RPATHLINKPREFIX, LIBPATH, RPATHLINKSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
bradn 2011/06/25 21:03:55 Use implict concat to join: ('stringislong' 'mores
2430 RPATHLINKPREFIX = '-Wl,-rpath-link,',
2431 RPATHLINKSUFFIX = '',
2432
2390 LIBS = [], 2433 LIBS = [],
2391 LINKFLAGS = ['${EXTRA_LINKFLAGS}'], 2434 LINKFLAGS = ['${EXTRA_LINKFLAGS}', '${RPATH_LINK_FLAGS}'],
2392 CPPDEFINES = [
2393 # _GNU_SOURCE ensures that strtof() gets declared.
2394 ['_GNU_SOURCE', 1],
2395 # This ensures that PRId64 etc. get defined.
2396 ['__STDC_FORMAT_MACROS', '1'],
2397 # strdup, and other common stuff
2398 ['_BSD_SOURCE', '1'],
2399 ['_POSIX_C_SOURCE', '199506'],
2400 ['_XOPEN_SOURCE', '600'],
2401 ],
2402 ) 2435 )
2403 2436
2437 if nacl_common_env.Bit('host_windows'):
2438 # NOTE: This is needed because Windows builds are case-insensitive.
2439 # Without this we use nacl-as, which doesn't handle include directives, etc.
2440 nacl_common_env.Replace(ASCOM = '${CCCOM}')
Nick Bray 2011/06/27 19:52:27 No spaces around "="
2441
2442 # Look in the local include and lib directories before the toolchain's.
2443 nacl_env['INCLUDE_DIR'] = '${TARGET_ROOT}/include'
2444 # Remove the default $LIB_DIR element so that we prepend it without duplication.
2445 # Using PrependUnique alone would let it stay last, where we want it first.
2446 nacl_env.FilterOut(LIBPATH=['${LIB_DIR}'])
2447 nacl_env.PrependUnique(
2448 CPPPATH = ['${INCLUDE_DIR}'],
2449 LIBPATH = ['${LIB_DIR}'],
2450 )
2451
2404 if not nacl_env.Bit('bitcode'): 2452 if not nacl_env.Bit('bitcode'):
2405 if nacl_env.Bit('build_x86_32'): 2453 if nacl_env.Bit('build_x86_32'):
2406 nacl_env.Append(CCFLAGS = ['-m32'], LINKFLAGS = '-m32') 2454 nacl_env.Append(CCFLAGS = ['-m32'], LINKFLAGS = '-m32')
2407 elif nacl_env.Bit('build_x86_64'): 2455 elif nacl_env.Bit('build_x86_64'):
2408 nacl_env.Append(CCFLAGS = ['-m64'], LINKFLAGS = '-m64') 2456 nacl_env.Append(CCFLAGS = ['-m64'], LINKFLAGS = '-m64')
2409 2457
2410 if nacl_env.Bit('bitcode'): 2458 if nacl_env.Bit('bitcode'):
2411 # TODO(robertm): remove this ASAP, we currently have llvm issue with c++ 2459 # TODO(robertm): remove this ASAP, we currently have llvm issue with c++
2412 nacl_env.FilterOut(CCFLAGS = ['-Werror']) 2460 nacl_env.FilterOut(CCFLAGS = ['-Werror'])
2413 nacl_env.Append(CFLAGS = werror_flags) 2461 nacl_env.Append(CFLAGS = werror_flags)
(...skipping 14 matching lines...) Expand all
2428 # We use a special environment for building the IRT image because it must 2476 # We use a special environment for building the IRT image because it must
2429 # always use the newlib toolchain, regardless of --nacl_glibc. We clone 2477 # always use the newlib toolchain, regardless of --nacl_glibc. We clone
2430 # it from nacl_env here, before too much other cruft has been added. 2478 # it from nacl_env here, before too much other cruft has been added.
2431 # We do some more magic below to instantiate it the way we need it. 2479 # We do some more magic below to instantiate it the way we need it.
2432 nacl_irt_env = nacl_env.Clone( 2480 nacl_irt_env = nacl_env.Clone(
2433 BUILD_TYPE = 'nacl_irt', 2481 BUILD_TYPE = 'nacl_irt',
2434 BUILD_TYPE_DESCRIPTION = 'NaCl IRT build', 2482 BUILD_TYPE_DESCRIPTION = 'NaCl IRT build',
2435 NACL_BUILD_FAMILY = 'UNTRUSTED_IRT', 2483 NACL_BUILD_FAMILY = 'UNTRUSTED_IRT',
2436 ) 2484 )
2437 2485
2486 # This needs to happen pretty early, because it affects any concretized
2487 # directory names.
2488 def AddTargetRootSuffix(env, bit_name, suffix):
2489 """Add a suffix to the subdirectory of scons-out that we use. This
2490 usually does not affect correctness, but saves us triggering a
2491 rebuild whenever we add or remove a build option such as --nacl_glibc.
2492 """
2493 if env.Bit(bit_name):
2494 pathname = '%s-%s' % (env.subst('${TARGET_ROOT}'), suffix)
2495 env.Replace(TARGET_ROOT=pathname)
2496
2497 AddTargetRootSuffix(nacl_env, 'bitcode', 'pnacl')
2498 AddTargetRootSuffix(nacl_env, 'nacl_pic', 'pic')
2499 AddTargetRootSuffix(nacl_env, 'use_sandboxed_translator', 'sbtc')
2500 AddTargetRootSuffix(nacl_env, 'nacl_glibc', 'glibc')
2501
2438 if nacl_env.Bit('irt'): 2502 if nacl_env.Bit('irt'):
2439 nacl_env.Replace(PPAPI_LIBS=['ppapi']) 2503 nacl_env.Replace(PPAPI_LIBS=['ppapi'])
2440 # Even non-PPAPI nexes need this for IRT-compatible linking. 2504 # Even non-PPAPI nexes need this for IRT-compatible linking.
2441 # We don't just make them link with ${PPAPI_LIBS} because in 2505 # We don't just make them link with ${PPAPI_LIBS} because in
2442 # the non-IRT case under dynamic linking, that tries to link 2506 # the non-IRT case under dynamic linking, that tries to link
2443 # in libppruntime.so with its undefined symbols and fails 2507 # in libppruntime.so with its undefined symbols and fails
2444 # for nexes that aren't actually PPAPI users. 2508 # for nexes that aren't actually PPAPI users.
2445 nacl_env.Replace(NON_PPAPI_BROWSER_LIBS=nacl_env['PPAPI_LIBS']) 2509 nacl_env.Replace(NON_PPAPI_BROWSER_LIBS=nacl_env['PPAPI_LIBS'])
2446 else: 2510 else:
2447 nacl_env.Replace(NON_PPAPI_BROWSER_LIBS=[]) 2511 nacl_env.Replace(NON_PPAPI_BROWSER_LIBS=[])
(...skipping 15 matching lines...) Expand all
2463 if (nacl_env.Bit('nacl_glibc') and 2527 if (nacl_env.Bit('nacl_glibc') and
2464 nacl_env.Bit('nacl_static_link') and 2528 nacl_env.Bit('nacl_static_link') and
2465 not nacl_env.Bit('bitcode')): 2529 not nacl_env.Bit('bitcode')):
2466 # The "-lc" is necessary because libgcc_eh depends on libc but for 2530 # The "-lc" is necessary because libgcc_eh depends on libc but for
2467 # some reason nacl-gcc is not linking with "--start-group/--end-group". 2531 # some reason nacl-gcc is not linking with "--start-group/--end-group".
2468 nacl_env.Append(LINKFLAGS=[ 2532 nacl_env.Append(LINKFLAGS=[
2469 '-static', 2533 '-static',
2470 '-T', 'ldscripts/%s.x.static' % GetLinkerScriptBaseName(nacl_env), 2534 '-T', 'ldscripts/%s.x.static' % GetLinkerScriptBaseName(nacl_env),
2471 '-lc']) 2535 '-lc'])
2472 2536
2473 def AddTargetRootSuffix(env, bit_name, suffix):
2474 """Add a suffix to the subdirectory of scons-out that we use. This
2475 usually does not affect correctness, but saves us triggering a
2476 rebuild whenever we add or remove a build option such as --nacl_glibc.
2477 """
2478 if env.Bit(bit_name):
2479 pathname = '%s-%s' % (env.subst('${TARGET_ROOT}'), suffix)
2480 env.Replace(TARGET_ROOT=pathname)
2481
2482 AddTargetRootSuffix(nacl_env, 'bitcode', 'pnacl')
2483 AddTargetRootSuffix(nacl_env, 'nacl_pic', 'pic')
2484 AddTargetRootSuffix(nacl_env, 'use_sandboxed_translator', 'sbtc')
2485 AddTargetRootSuffix(nacl_env, 'nacl_glibc', 'glibc')
2486
2487 if nacl_env.Bit('running_on_valgrind'): 2537 if nacl_env.Bit('running_on_valgrind'):
2488 nacl_env.Append(CCFLAGS = ['-g', '-Wno-overlength-strings', 2538 nacl_env.Append(CCFLAGS = ['-g', '-Wno-overlength-strings',
2489 '-fno-optimize-sibling-calls'], 2539 '-fno-optimize-sibling-calls'],
2490 CPPDEFINES = [['DYNAMIC_ANNOTATIONS_ENABLED', '1' ], 2540 CPPDEFINES = [['DYNAMIC_ANNOTATIONS_ENABLED', '1' ],
2491 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ]]) 2541 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ]])
2492 # With GLibC, libvalgrind.so is preloaded at runtime. 2542 # With GLibC, libvalgrind.so is preloaded at runtime.
2493 # With Newlib, it has to be linked in. 2543 # With Newlib, it has to be linked in.
2494 if not nacl_env.Bit('nacl_glibc'): 2544 if not nacl_env.Bit('nacl_glibc'):
2495 nacl_env.Append(LINKFLAGS = ['-Wl,-u,have_nacl_valgrind_interceptors'], 2545 nacl_env.Append(LINKFLAGS = ['-Wl,-u,have_nacl_valgrind_interceptors'],
2496 LIBS = ['valgrind']) 2546 LIBS = ['valgrind'])
2497 2547
2498 environment_list.append(nacl_env) 2548 environment_list.append(nacl_env)
2499 2549
2550 if not nacl_env.Bit('nacl_glibc'):
2551 # These are all specific to nacl-newlib so we do not include them
2552 # when building against nacl-glibc. The functionality of
2553 # pthread/startup/stubs/nosys is provided by glibc. The valgrind
2554 # code currently assumes nc_threads.
2555 nacl_env.Append(
2556 BUILD_SCONSCRIPTS = [
2557 #### ALPHABETICALLY SORTED ####
2558 'src/untrusted/pthread/nacl.scons',
2559 'src/untrusted/startup/nacl.scons',
2560 'src/untrusted/stubs/nacl.scons',
2561 'src/untrusted/nosys/nacl.scons',
2562 #### ALPHABETICALLY SORTED ####
2563 ])
2564
2500 nacl_env.Append( 2565 nacl_env.Append(
2501 BUILD_SCONSCRIPTS = [ 2566 BUILD_SCONSCRIPTS = [
2502 #### ALPHABETICALLY SORTED #### 2567 #### ALPHABETICALLY SORTED ####
2568 'src/include/nacl/nacl.scons',
2569 'src/shared/gio/nacl.scons',
2570 'src/shared/imc/nacl.scons',
2571 'src/shared/platform/nacl.scons',
2572 'src/shared/ppapi/nacl.scons',
2573 'src/shared/ppapi_proxy/nacl.scons',
2574 'src/shared/srpc/nacl.scons',
2503 'src/tools/posix_over_imc/nacl.scons', 2575 'src/tools/posix_over_imc/nacl.scons',
2504 'src/trusted/service_runtime/nacl.scons', 2576 'src/trusted/service_runtime/nacl.scons',
2505 'src/trusted/validator_x86/nacl.scons', 2577 'src/trusted/validator_x86/nacl.scons',
2578 'src/untrusted/ehsupport/nacl.scons',
2579 'src/untrusted/irt_stub/nacl.scons',
2580 'src/untrusted/nacl/nacl.scons',
2581 'src/untrusted/ppapi/nacl.scons',
2582 'src/untrusted/valgrind/nacl.scons',
2506 'tests/app_lib/nacl.scons', 2583 'tests/app_lib/nacl.scons',
2507 'tests/autoloader/nacl.scons', 2584 'tests/autoloader/nacl.scons',
2508 'tests/barebones/nacl.scons', 2585 'tests/barebones/nacl.scons',
2509 'tests/blob_library_loading/nacl.scons', 2586 'tests/blob_library_loading/nacl.scons',
2510 'tests/browser_dynamic_library/nacl.scons', 2587 'tests/browser_dynamic_library/nacl.scons',
2511 'tests/browser_startup_time/nacl.scons', 2588 'tests/browser_startup_time/nacl.scons',
2512 'tests/bundle_size/nacl.scons', 2589 'tests/bundle_size/nacl.scons',
2513 'tests/callingconv/nacl.scons', 2590 'tests/callingconv/nacl.scons',
2514 'tests/chrome_extension/nacl.scons', 2591 'tests/chrome_extension/nacl.scons',
2515 'tests/computed_gotos/nacl.scons', 2592 'tests/computed_gotos/nacl.scons',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2547 'tests/nanosleep/nacl.scons', 2624 'tests/nanosleep/nacl.scons',
2548 'tests/native_worker/nacl.scons', 2625 'tests/native_worker/nacl.scons',
2549 'tests/noop/nacl.scons', 2626 'tests/noop/nacl.scons',
2550 'tests/nrd_xfer/nacl.scons', 2627 'tests/nrd_xfer/nacl.scons',
2551 'tests/nthread_nice/nacl.scons', 2628 'tests/nthread_nice/nacl.scons',
2552 'tests/null/nacl.scons', 2629 'tests/null/nacl.scons',
2553 'tests/nullptr/nacl.scons', 2630 'tests/nullptr/nacl.scons',
2554 'tests/plugin_async_messaging/nacl.scons', 2631 'tests/plugin_async_messaging/nacl.scons',
2555 'tests/pnacl_abi/nacl.scons', 2632 'tests/pnacl_abi/nacl.scons',
2556 'tests/pnacl_client_translator/nacl.scons', 2633 'tests/pnacl_client_translator/nacl.scons',
2634 'tests/ppapi/nacl.scons',
2557 'tests/ppapi_browser/bad/nacl.scons', 2635 'tests/ppapi_browser/bad/nacl.scons',
2558 'tests/ppapi_browser/manifest/nacl.scons', 2636 'tests/ppapi_browser/manifest/nacl.scons',
2559 'tests/ppapi_browser/ppb_graphics2d/nacl.scons', 2637 'tests/ppapi_browser/ppb_graphics2d/nacl.scons',
2560 'tests/ppapi_browser/progress_events/nacl.scons', 2638 'tests/ppapi_browser/progress_events/nacl.scons',
2561 'tests/ppapi_core/nacl.scons', 2639 'tests/ppapi_core/nacl.scons',
2562 'tests/ppapi_example_2d/nacl.scons', 2640 'tests/ppapi_example_2d/nacl.scons',
2563 'tests/ppapi_example_audio/nacl.scons', 2641 'tests/ppapi_example_audio/nacl.scons',
2564 'tests/ppapi_example_font/nacl.scons', 2642 'tests/ppapi_example_font/nacl.scons',
2565 'tests/ppapi_example_gles2/nacl.scons', 2643 'tests/ppapi_example_gles2/nacl.scons',
2566 'tests/ppapi_example_post_message/nacl.scons', 2644 'tests/ppapi_example_post_message/nacl.scons',
2567 'tests/ppapi_file_system/nacl.scons', 2645 'tests/ppapi_file_system/nacl.scons',
2568 'tests/ppapi_geturl/nacl.scons', 2646 'tests/ppapi_geturl/nacl.scons',
2569 'tests/ppapi_gles_book/nacl.scons', 2647 'tests/ppapi_gles_book/nacl.scons',
2570 'tests/ppapi_messaging/nacl.scons', 2648 'tests/ppapi_messaging/nacl.scons',
2571 'tests/ppapi_proxy/nacl.scons', 2649 'tests/ppapi_proxy/nacl.scons',
2572 'tests/ppapi_simple_tests/nacl.scons', 2650 'tests/ppapi_simple_tests/nacl.scons',
2573 'tests/ppapi_test_example/nacl.scons', 2651 'tests/ppapi_test_example/nacl.scons',
2574 'tests/ppapi_test_lib/nacl.scons', 2652 'tests/ppapi_test_lib/nacl.scons',
2575 'tests/ppapi_tests/nacl.scons', 2653 'tests/ppapi_tests/nacl.scons',
2576 'tests/ppapi/nacl.scons',
2577 'tests/pyauto_nacl/nacl.scons', 2654 'tests/pyauto_nacl/nacl.scons',
2578 'tests/redir/nacl.scons', 2655 'tests/redir/nacl.scons',
2579 'tests/rodata_not_writable/nacl.scons', 2656 'tests/rodata_not_writable/nacl.scons',
2580 'tests/signal_handler/nacl.scons', 2657 'tests/signal_handler/nacl.scons',
2581 'tests/srpc/nacl.scons', 2658 'tests/srpc/nacl.scons',
2582 'tests/srpc_hw/nacl.scons', 2659 'tests/srpc_hw/nacl.scons',
2583 'tests/srpc_message/nacl.scons', 2660 'tests/srpc_message/nacl.scons',
2584 'tests/stack_alignment/nacl.scons', 2661 'tests/stack_alignment/nacl.scons',
2585 'tests/startup_message/nacl.scons', 2662 'tests/startup_message/nacl.scons',
2586 'tests/stubout_mode/nacl.scons', 2663 'tests/stubout_mode/nacl.scons',
2587 'tests/sysbasic/nacl.scons', 2664 'tests/sysbasic/nacl.scons',
2665 'tests/syscall_return_sandboxing/nacl.scons',
2588 'tests/syscalls/nacl.scons', 2666 'tests/syscalls/nacl.scons',
2589 'tests/syscall_return_sandboxing/nacl.scons',
2590 'tests/threads/nacl.scons', 2667 'tests/threads/nacl.scons',
2591 'tests/time/nacl.scons', 2668 'tests/time/nacl.scons',
2592 'tests/tls/nacl.scons', 2669 'tests/tls/nacl.scons',
2593 'tests/toolchain/nacl.scons', 2670 'tests/toolchain/nacl.scons',
2594 'tests/unittests/shared/imc/nacl.scons', 2671 'tests/unittests/shared/imc/nacl.scons',
2595 'tests/unittests/shared/srpc/nacl.scons', 2672 'tests/unittests/shared/srpc/nacl.scons',
2596 'tests/untrusted_check/nacl.scons', 2673 'tests/untrusted_check/nacl.scons',
2597 #### ALPHABETICALLY SORTED #### 2674 #### ALPHABETICALLY SORTED ####
2598 ]) 2675 ])
2599 2676
2600 nacl_env.Append( 2677 nacl_env.Append(
2601 BUILD_SCONSCRIPTS = [ 2678 BUILD_SCONSCRIPTS = [
2602 'tools/tests/nacl.scons', 2679 'tools/tests/nacl.scons',
2603 ]) 2680 ])
2604 2681
2605 # ---------------------------------------------------------- 2682 # ----------------------------------------------------------
2606 # Possibly install an sdk by downloading it 2683 # Possibly install an sdk by downloading it
2607 # ---------------------------------------------------------- 2684 # ----------------------------------------------------------
2608 # TODO: explore using a less heavy weight mechanism 2685 # TODO: explore using a less heavy weight mechanism
2609 # NOTE: this uses stuff from: site_scons/site_tools/naclsdk.py 2686 # NOTE: this uses stuff from: site_scons/site_tools/naclsdk.py
2610 import SCons.Script 2687 import SCons.Script
2611 2688
2612 SCons.Script.AddOption('--download', 2689 SCons.Script.AddOption('--download',
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
2647 n = env.Replicate(path, nodes) 2724 n = env.Replicate(path, nodes)
2648 env.Alias('prebuilt_binaries_update', n) 2725 env.Alias('prebuilt_binaries_update', n)
2649 return n 2726 return n
2650 2727
2651 nacl_env.AddMethod(AddPrebuiltBinaryToRepository) 2728 nacl_env.AddMethod(AddPrebuiltBinaryToRepository)
2652 # ---------------------------------------------------------- 2729 # ----------------------------------------------------------
2653 # We force this into a separate env so that the tests in nacl_env 2730 # We force this into a separate env so that the tests in nacl_env
2654 # have NO access to any libraries build here but need to link them 2731 # have NO access to any libraries build here but need to link them
2655 # from the sdk libdir 2732 # from the sdk libdir
2656 # ---------------------------------------------------------- 2733 # ----------------------------------------------------------
2657 nacl_extra_sdk_env = pre_base_env.Clone( 2734 nacl_extra_sdk_env = nacl_common_env.Clone(
2658 tools = ['naclsdk'],
2659 BUILD_TYPE = 'nacl_extra_sdk', 2735 BUILD_TYPE = 'nacl_extra_sdk',
2660 BUILD_TYPE_DESCRIPTION = 'NaCl SDK extra library build', 2736 BUILD_TYPE_DESCRIPTION = 'NaCl SDK extra library build',
2661 NACL_BUILD_FAMILY = 'UNTRUSTED',
2662 IRT_DATA_REGION_START = nacl_env['IRT_DATA_REGION_START'],
2663 # ${SOURCE_ROOT} for #include <ppapi/...>
2664 # ${SOURCE_ROOT}/gpu for #include <GLES2/...>"
2665 CPPPATH = ['${SOURCE_ROOT}', '${SOURCE_ROOT}/gpu'],
2666 CPPDEFINES = [
2667 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ],
2668 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ],
2669 ['NACL_BLOCK_SHIFT', '5' ],
2670 ['DYNAMIC_ANNOTATIONS_ENABLED', '1' ],
2671 ['DYNAMIC_ANNOTATIONS_PREFIX', 'NACL_' ],
2672 # This ensures that UINT32_MAX gets defined.
2673 ['__STDC_LIMIT_MACROS', '1'],
2674 # This ensures that PRId64 etc. get defined.
2675 ['__STDC_FORMAT_MACROS', '1'],
2676 ],
2677 ARFLAGS = 'rc'
2678 ) 2737 )
2679 2738
2680 AddTargetRootSuffix(nacl_extra_sdk_env, 'bitcode', 'pnacl') 2739 AddTargetRootSuffix(nacl_extra_sdk_env, 'bitcode', 'pnacl')
2681 AddTargetRootSuffix(nacl_extra_sdk_env, 'nacl_glibc', 'glibc') 2740 AddTargetRootSuffix(nacl_extra_sdk_env, 'nacl_glibc', 'glibc')
2682 2741
2683 # TODO(robertm): consider moving some of these flags to the naclsdk tool 2742 # TODO(robertm): consider moving some of these flags to the naclsdk tool
2684 nacl_extra_sdk_env.Append(CCFLAGS=['-Wall', 2743 nacl_extra_sdk_env.Append(CCFLAGS=['-Wall',
2685 '-fdiagnostics-show-option', 2744 '-fdiagnostics-show-option',
2686 '-pedantic'] + 2745 '-pedantic'] +
2687 werror_flags + 2746 werror_flags +
(...skipping 20 matching lines...) Expand all
2708 # class constructors 2767 # class constructors
2709 if nacl_extra_sdk_env.Bit('target_arm'): 2768 if nacl_extra_sdk_env.Bit('target_arm'):
2710 nacl_extra_sdk_env.FilterOut(CCFLAGS = ['-Werror']) 2769 nacl_extra_sdk_env.FilterOut(CCFLAGS = ['-Werror'])
2711 nacl_extra_sdk_env.Append(CFLAGS = werror_flags) 2770 nacl_extra_sdk_env.Append(CFLAGS = werror_flags)
2712 2771
2713 # TODO(pdox): Remove this as soon as build_config.h can be 2772 # TODO(pdox): Remove this as soon as build_config.h can be
2714 # changed to accept __pnacl__. 2773 # changed to accept __pnacl__.
2715 if nacl_extra_sdk_env.Bit('bitcode'): 2774 if nacl_extra_sdk_env.Bit('bitcode'):
2716 nacl_extra_sdk_env.AddBiasForPNaCl() 2775 nacl_extra_sdk_env.AddBiasForPNaCl()
2717 2776
2718 if nacl_extra_sdk_env.Bit('host_windows'):
2719 # NOTE: This is needed because Windows builds are case-insensitive.
2720 # Without this we use nacl-as, which doesn't handle include directives, etc.
2721 nacl_extra_sdk_env.Replace(ASCOM = '${CCCOM}')
2722
2723 if nacl_env.Bit('host_windows'):
2724 # NOTE: This is needed because Windows builds are case-insensitive.
2725 # Without this we use nacl-as, which doesn't handle include directives, etc.
2726 nacl_env.Replace(ASCOM = '${CCCOM}')
2727
2728 2777
2729 def NaClSdkLibrary(env, lib_name, *args, **kwargs): 2778 def NaClSdkLibrary(env, lib_name, *args, **kwargs):
2730 env.ComponentLibrary(lib_name, *args, **kwargs) 2779 env.ComponentLibrary(lib_name, *args, **kwargs)
2731 if not env.Bit('nacl_disable_shared'): 2780 if not env.Bit('nacl_disable_shared'):
2732 env_shared = env.Clone(COMPONENT_STATIC=False) 2781 env_shared = env.Clone(COMPONENT_STATIC=False)
2733 soname = SCons.Util.adjustixes(lib_name, 'lib', '.so') 2782 soname = SCons.Util.adjustixes(lib_name, 'lib', '.so')
2734 env_shared.AppendUnique(SHLINKFLAGS=['-Wl,-soname,%s' % (soname)]) 2783 env_shared.AppendUnique(SHLINKFLAGS=['-Wl,-soname,%s' % (soname)])
2735 env_shared.ComponentLibrary(lib_name, *args, **kwargs) 2784 env_shared.ComponentLibrary(lib_name, *args, **kwargs)
2736 2785
2737 nacl_extra_sdk_env.AddMethod(NaClSdkLibrary) 2786 nacl_extra_sdk_env.AddMethod(NaClSdkLibrary)
2787 nacl_env.AddMethod(NaClSdkLibrary)
2738 2788
2739 2789
2740 # --------------------------------------------------------------------- 2790 # ---------------------------------------------------------------------
2741 # Special environment for untrusted test binaries that use raw syscalls 2791 # Special environment for untrusted test binaries that use raw syscalls
2742 # --------------------------------------------------------------------- 2792 # ---------------------------------------------------------------------
2743 def RawSyscallObjects(env, sources): 2793 def RawSyscallObjects(env, sources):
2744 raw_syscall_env = env.Clone() 2794 raw_syscall_env = env.Clone()
2745 raw_syscall_env.Append( 2795 raw_syscall_env.Append(
2746 CPPDEFINES = [ 2796 CPPDEFINES = [
2747 ['USE_RAW_SYSCALLS', '1'], 2797 ['USE_RAW_SYSCALLS', '1'],
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2825 nacl_extra_sdk_env.Alias('extra_sdk_update', [libs, libs_platform]) 2875 nacl_extra_sdk_env.Alias('extra_sdk_update', [libs, libs_platform])
2826 2876
2827 2877
2828 # Add a header file to the toolchain. By default, Native Client-specific 2878 # Add a header file to the toolchain. By default, Native Client-specific
2829 # headers go under nacl/, but there are non-specific headers, such as 2879 # headers go under nacl/, but there are non-specific headers, such as
2830 # the OpenGLES2 headers, that go under their own subdir. 2880 # the OpenGLES2 headers, that go under their own subdir.
2831 def AddHeaderToSdk(env, nodes, subdir = 'nacl/'): 2881 def AddHeaderToSdk(env, nodes, subdir = 'nacl/'):
2832 dir = ARGUMENTS.get('extra_sdk_include_destination') 2882 dir = ARGUMENTS.get('extra_sdk_include_destination')
2833 if not dir: 2883 if not dir:
2834 dir = '${NACL_SDK_INCLUDE}' 2884 dir = '${NACL_SDK_INCLUDE}'
2835 2885 if subdir is not None:
2836 n = env.Replicate(dir + '/' + subdir, nodes) 2886 dir += '/' + subdir
2887 n = env.Replicate(dir, nodes)
2837 env.Alias('extra_sdk_update_header', n) 2888 env.Alias('extra_sdk_update_header', n)
2838 return n 2889 return n
2839 2890
2840 nacl_extra_sdk_env.AddMethod(AddHeaderToSdk) 2891 nacl_extra_sdk_env.AddMethod(AddHeaderToSdk)
2841 2892
2842 2893
2843 def AddLibraryToSdkHelper(env, nodes, is_lib, is_platform): 2894 def AddLibraryToSdkHelper(env, nodes, is_lib, is_platform):
2844 """"Helper function to install libs/objs into the toolchain 2895 """"Helper function to install libs/objs into the toolchain
2845 and associate the action with the extra_sdk_update. 2896 and associate the action with the extra_sdk_update.
2846 2897
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
2895 # so it regenerates the tool paths right. 2946 # so it regenerates the tool paths right.
2896 # TODO(mcgrathr,bradnelson): could get cleaner if naclsdk.py got folded back in. 2947 # TODO(mcgrathr,bradnelson): could get cleaner if naclsdk.py got folded back in.
2897 nacl_irt_env.ClearBits('nacl_glibc') 2948 nacl_irt_env.ClearBits('nacl_glibc')
2898 nacl_irt_env.ClearBits('nacl_pic') 2949 nacl_irt_env.ClearBits('nacl_pic')
2899 if not nacl_irt_env.Bit('target_arm'): 2950 if not nacl_irt_env.Bit('target_arm'):
2900 nacl_irt_env.ClearBits('bitcode') 2951 nacl_irt_env.ClearBits('bitcode')
2901 nacl_irt_env.Tool('naclsdk') 2952 nacl_irt_env.Tool('naclsdk')
2902 # Make it find the libraries it builds, rather than the SDK ones. 2953 # Make it find the libraries it builds, rather than the SDK ones.
2903 nacl_irt_env.Replace(LIBPATH='${LIB_DIR}') 2954 nacl_irt_env.Replace(LIBPATH='${LIB_DIR}')
2904 2955
2905 AddTargetRootSuffix(nacl_irt_env, 'bitcode', 'pnacl')
2906 AddTargetRootSuffix(nacl_irt_env, 'nacl_pic', 'pic')
2907 if nacl_irt_env.Bit('bitcode'): 2956 if nacl_irt_env.Bit('bitcode'):
2908 nacl_irt_env.AddBiasForPNaCl() 2957 nacl_irt_env.AddBiasForPNaCl()
2909 2958
2910 # We have to stub out various methods that are only defined in 2959 # We have to stub out various methods that are only defined in
2911 # nacl_extra_sdk_env, because we doubly use these nacl.scons files 2960 # nacl_extra_sdk_env, because we doubly use these nacl.scons files
2912 # in nacl_irt_env. 2961 # in nacl_irt_env.
2913 # TODO(mcgrathr): Remove these when nacl_extra_sdk_env is removed. 2962 # TODO(mcgrathr): Remove these when nacl_extra_sdk_env is removed.
2914 def IrtAddLibraryToSdk(env, nodes, is_platform=False): 2963 def AddLibraryDummy(env, nodes, is_platform=False):
2915 pass 2964 return [env.File('${LIB_DIR}/%s.a' % x) for x in nodes]
2916 nacl_irt_env.AddMethod(IrtAddLibraryToSdk, 'AddLibraryToSdk') 2965 for env in [nacl_env, nacl_irt_env]:
Nick Bray 2011/06/27 19:52:27 Be consistent in your use of loops. I'd unroll th
2917 nacl_irt_env.AddMethod(IrtAddLibraryToSdk, 'AddObjectToSdk') 2966 env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk')
2967
2968 def AddObjectInternal(env, nodes, is_platform=False):
2969 return env.Replicate('${LIB_DIR}', nodes)
2970 nacl_env.AddMethod(AddObjectInternal, 'AddObjectToSdk')
2971 nacl_irt_env.AddMethod(AddObjectInternal, 'AddObjectToSdk')
2918 2972
2919 def IrtNaClSdkLibrary(env, lib_name, *args, **kwargs): 2973 def IrtNaClSdkLibrary(env, lib_name, *args, **kwargs):
2920 env.ComponentLibrary(lib_name, *args, **kwargs) 2974 env.ComponentLibrary(lib_name, *args, **kwargs)
2921 nacl_irt_env.AddMethod(IrtNaClSdkLibrary, 'NaClSdkLibrary') 2975 nacl_irt_env.AddMethod(IrtNaClSdkLibrary, 'NaClSdkLibrary')
2922 2976
2923 def IrtAddHeaderToSdk(env, nodes, subdir = 'nacl/'): 2977 # Populate the internal include directory when AddHeaderToSdk
2924 pass 2978 # is used inside nacl_env rather than nacl_extra_sdk_env.
2925 nacl_irt_env.AddMethod(IrtAddHeaderToSdk, 'AddHeaderToSdk') 2979 def AddHeaderInternal(env, nodes, subdir='nacl'):
2980 dir = '${INCLUDE_DIR}'
2981 if subdir is not None:
2982 dir += '/' + subdir
2983 n = env.Replicate(dir, nodes)
2984 return n
2985
2986 nacl_env.AddMethod(AddHeaderInternal, 'AddHeaderToSdk')
2987 nacl_irt_env.AddMethod(AddHeaderInternal, 'AddHeaderToSdk')
2988
2989 # We want to do this for nacl_env when not under --nacl_glibc,
2990 # but for nacl_irt_env whether or not under --nacl_glibc, so
2991 # we do it separately for each after making nacl_irt_env.
Nick Bray 2011/06/27 19:52:27 This comment is unclear, it seems you're using the
2992 def AddImplicitLibs(env):
2993 if not env.Bit('nacl_glibc'):
2994 # These are automatically linked in by the compiler, either directly
2995 # or via the linker script that is -lc. In the non-glibc build, we
2996 # are the ones providing these files, so we need dependencies.
2997 # The ComponentProgram method (site_scons/site_tools/component_builders.py)
2998 # adds dependencies on env['IMPLICIT_LIBS'] if that's set.
2999 implicit_libs = ['crt1.o', 'libnacl.a', 'libcrt_platform.a']
3000 if not nacl_env.Bit('bitcode'):
3001 implicit_libs += ['crti.o', 'crtn.o']
3002 env['IMPLICIT_LIBS'] = ['${LIB_DIR}/%s' % file for file in implicit_libs]
3003 # The -B<dir>/ flag is necessary to tell gcc to look for crt[1in].o there.
3004 env.Prepend(LINKFLAGS=['-B${LIB_DIR}/'])
3005
3006 AddImplicitLibs(nacl_env)
3007 AddImplicitLibs(nacl_irt_env)
2926 3008
2927 # Give the environment for building the IRT and its libraries 3009 # Give the environment for building the IRT and its libraries
2928 # the -Ds used for building those libraries for the SDK. 3010 # the -Ds used for building those libraries for the SDK.
2929 # TODO(mcgrathr,bradnelson): clean up when nacl_extra_sdk_env goes away. 3011 # TODO(mcgrathr,bradnelson): clean up when nacl_extra_sdk_env goes away.
2930 # 3012 #
2931 # Since we will use a locally-built libpthread rather than the 3013 # Since we will use a locally-built libpthread rather than the
2932 # one from the toolchain, find its header files in the source 3014 # one from the toolchain, find its header files in the source
2933 # rather than using the ones installed in the toolchain. 3015 # rather than using the ones installed in the toolchain.
2934 nacl_irt_env.AppendUnique(CPPDEFINES = nacl_extra_sdk_env['CPPDEFINES'], 3016 nacl_irt_env.AppendUnique(CPPDEFINES = nacl_extra_sdk_env['CPPDEFINES'],
2935 CPPPATH = ['${MAIN_DIR}/src/untrusted/pthread']) 3017 CPPPATH = ['${MAIN_DIR}/src/untrusted/pthread'])
2936 3018
2937 # TODO(mcgrathr): nacl, crt_platform are implicitly linked in from toolchain, 3019 # TODO(mcgrathr): nacl, crt_platform are implicitly linked in from toolchain,
2938 # scons does not know about the dependencies. We may be building all of 3020 # scons does not know about the dependencies. We may be building all of
2939 # src/untrusted/nacl but only actually getting libimc_syscalls.a from there. 3021 # src/untrusted/nacl but only actually getting libimc_syscalls.a from there.
2940 nacl_irt_env.Append( 3022 nacl_irt_env.Append(
2941 BUILD_SCONSCRIPTS = [ 3023 BUILD_SCONSCRIPTS = [
3024 'src/include/nacl/nacl.scons',
2942 'src/shared/gio/nacl.scons', 3025 'src/shared/gio/nacl.scons',
2943 'src/shared/platform/nacl.scons', 3026 'src/shared/platform/nacl.scons',
2944 'src/shared/ppapi_proxy/nacl.scons', 3027 'src/shared/ppapi_proxy/nacl.scons',
2945 'src/shared/srpc/nacl.scons', 3028 'src/shared/srpc/nacl.scons',
2946 'src/untrusted/irt/nacl.scons', 3029 'src/untrusted/irt/nacl.scons',
2947 'src/untrusted/nacl/nacl.scons', 3030 'src/untrusted/nacl/nacl.scons',
2948 'src/untrusted/pthread/nacl.scons', 3031 'src/untrusted/pthread/nacl.scons',
3032 'src/untrusted/stubs/nacl.scons',
2949 ]) 3033 ])
2950 3034
2951 environment_list.append(nacl_irt_env) 3035 environment_list.append(nacl_irt_env)
2952 3036
2953 windows_coverage_env = windows_env.Clone( 3037 windows_coverage_env = windows_env.Clone(
2954 tools = ['code_coverage'], 3038 tools = ['code_coverage'],
2955 BUILD_TYPE = 'coverage-win', 3039 BUILD_TYPE = 'coverage-win',
2956 BUILD_TYPE_DESCRIPTION = 'Windows code coverage build', 3040 BUILD_TYPE_DESCRIPTION = 'Windows code coverage build',
2957 # TODO(bradnelson): switch nacl to common testing process so this won't be 3041 # TODO(bradnelson): switch nacl to common testing process so this won't be
2958 # needed. 3042 # needed.
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
3154 Default(['all_programs', 'all_bundles', 'all_test_programs', 'all_libraries']) 3238 Default(['all_programs', 'all_bundles', 'all_test_programs', 'all_libraries'])
3155 3239
3156 if BROKEN_TEST_COUNT > 0: 3240 if BROKEN_TEST_COUNT > 0:
3157 msg = "There are %d broken tests." % BROKEN_TEST_COUNT 3241 msg = "There are %d broken tests." % BROKEN_TEST_COUNT
3158 if GetOption('brief_comstr'): 3242 if GetOption('brief_comstr'):
3159 msg += " Add --verbose to the command line for more information." 3243 msg += " Add --verbose to the command line for more information."
3160 print msg 3244 print msg
3161 3245
3162 # separate warnings from actual build output 3246 # separate warnings from actual build output
3163 Banner('B U I L D - O U T P U T:') 3247 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') | site_scons/site_tools/component_builders.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698