OLD | NEW |
1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import os | 5 import os |
6 import shutil | 6 import shutil |
7 import sys | 7 import sys |
8 | 8 |
9 | 9 |
10 p = ARGUMENTS.get('PROGRESS') | 10 p = ARGUMENTS.get('PROGRESS') |
11 if p == 'spinner': | 11 if p == 'spinner': |
12 Progress(['/\r', '|\r', '\\\r', '-\r'], interval=5, file=open('con', 'w')) | 12 Progress(['/\r', '|\r', '\\\r', '-\r'], interval=5, file=open('con', 'w')) |
13 elif p == 'name': | 13 elif p == 'name': |
14 Progress('$TARGET\r', overwrite=True, file=open('con', 'w')) | 14 Progress('$TARGET\r', overwrite=True, file=open('con', 'w')) |
15 | 15 |
16 | 16 |
17 default_warnings = ['no-missing-sconscript', 'no-no-parallel-support'] | 17 default_warnings = ['no-missing-sconscript', 'no-no-parallel-support'] |
| 18 default_warnings = ['no-no-parallel-support'] |
18 SetOption('warn', default_warnings + GetOption('warn')) | 19 SetOption('warn', default_warnings + GetOption('warn')) |
19 | 20 |
20 | 21 |
21 load = ARGUMENTS.get('LOAD') | 22 load = ARGUMENTS.get('LOAD') |
22 if load: | 23 if load: |
23 load = load.split(',') | 24 load = load.split(',') |
24 else: | 25 else: |
25 load = [] | 26 load = [] |
26 | 27 |
27 | 28 |
28 env = Environment( | 29 env = Environment( |
29 BUILD_TYPE = ARGUMENTS.get('BUILD_TYPE', 'Hammer'), | 30 BUILD_TYPE = ARGUMENTS.get('BUILD_TYPE', 'Hammer'), |
30 TARGET_ROOT = '#/$BUILD_TYPE', | 31 TARGET_ROOT = '#/$BUILD_TYPE', |
31 OBJ_ROOT = '$TARGET_ROOT', | 32 OBJ_ROOT = '$TARGET_ROOT', |
| 33 ROOT_DIR = '#/..', |
32 | 34 |
33 LIBS_DIR = '$OBJ_ROOT/Libs', | 35 LIBS_DIR = '$OBJ_ROOT/Libs', |
34 | 36 |
35 BASE_DIR = '$OBJ_ROOT/base', | 37 BASE_DIR = '$OBJ_ROOT/base', |
36 BREAKPAD_DIR = '$OBJ_ROOT/breakpad', | 38 BREAKPAD_DIR = '$OBJ_ROOT/breakpad', |
37 CHROME_DIR = '$OBJ_ROOT/chrome', | 39 CHROME_DIR = '$OBJ_ROOT/chrome', |
38 GEARS_DIR = '$OBJ_ROOT/gears', | 40 GEARS_DIR = '$OBJ_ROOT/gears', |
39 GOOGLE_UPDATE_DIR = '$OBJ_ROOT/google_update', | 41 GOOGLE_UPDATE_DIR = '$OBJ_ROOT/google_update', |
40 | 42 GOOGLEURL_DIR = '$OBJ_ROOT/googleurl', |
41 # Work around a limitation (bug?) in SCons in that, when we build | |
42 # from a different directory, it forces the build targets defined | |
43 # the SConscript.googleurl file to be relative to that file (i.e., | |
44 # here in the build/ directory with us), not relative to the | |
45 # the SConstruct directory from which SCons was launched. When | |
46 # we roll forward to a version of SCons that fixes this, we'll | |
47 # need to revert to the $BUILD_TYPE definition of GOOGLEURL_DIR. | |
48 #GOOGLEURL_DIR = '$OBJ_ROOT/googleurl', | |
49 GOOGLEURL_DIR = '#/../build/googleurl', | |
50 | |
51 NET_DIR = '$OBJ_ROOT/net', | 43 NET_DIR = '$OBJ_ROOT/net', |
52 RLZ_DIR = '$OBJ_ROOT/rlz', | 44 RLZ_DIR = '$OBJ_ROOT/rlz', |
53 SANDBOX_DIR = '$OBJ_ROOT/sandbox', | 45 SANDBOX_DIR = '$OBJ_ROOT/sandbox', |
54 SDCH_DIR = '$OBJ_ROOT/sdch', | 46 SDCH_DIR = '$OBJ_ROOT/sdch', |
55 SKIA_DIR = '$OBJ_ROOT/skia', | 47 SKIA_DIR = '$OBJ_ROOT/skia', |
56 TESTING_DIR = '$OBJ_ROOT/testing', | 48 TESTING_DIR = '$OBJ_ROOT/testing', |
57 THIRD_PARTY_DIR = '$OBJ_ROOT/third_party', | 49 THIRD_PARTY_DIR = '$OBJ_ROOT/third_party', |
58 V8_DIR = '$OBJ_ROOT/v8', | 50 V8_DIR = '$OBJ_ROOT/v8', |
59 WEBKIT_DIR = '$OBJ_ROOT/webkit', | 51 WEBKIT_DIR = '$OBJ_ROOT/webkit', |
60 | 52 |
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 if not os.path.exists(target_dir.abspath): | 449 if not os.path.exists(target_dir.abspath): |
458 Execute(Mkdir(target_dir)) | 450 Execute(Mkdir(target_dir)) |
459 SConsignFile(target_dir.File('.sconsign').abspath) | 451 SConsignFile(target_dir.File('.sconsign').abspath) |
460 | 452 |
461 | 453 |
462 # Use timestamps change, followed by MD5 for speed | 454 # Use timestamps change, followed by MD5 for speed |
463 env.Decider('MD5-timestamp') | 455 env.Decider('MD5-timestamp') |
464 | 456 |
465 | 457 |
466 # Overlay things from a layer below. | 458 # Overlay things from a layer below. |
467 env.Dir('$TARGET_ROOT').addRepository(Dir('..')) | 459 env.Dir('$TARGET_ROOT').addRepository(Dir('#/..')) |
468 | 460 env.Dir('$TARGET_ROOT/googleurl').addRepository(env.Dir('$ROOT_DIR/build')) |
469 | 461 |
470 included = [c for c in load if not c.startswith('-')] | 462 included = [c for c in load if not c.startswith('-')] |
471 excluded = [c[1:] for c in load if c.startswith('-')] | 463 excluded = [c[1:] for c in load if c.startswith('-')] |
472 if not included: | 464 if not included: |
473 included = ['all'] | 465 included = ['all'] |
474 | 466 |
475 components = ['all'] | 467 components = ['all'] |
476 | 468 |
477 def LoadComponent(c): | 469 def LoadComponent(c): |
478 components.append(c) | 470 components.append(c) |
479 return (not GetOption('help') and | 471 return (not GetOption('help') and |
480 c in included or | 472 c in included or |
481 ('all' in included and not c in excluded)) | 473 ('all' in included and not c in excluded)) |
482 | 474 |
483 sconscripts = [] | 475 sconscripts = [] |
484 | 476 |
485 if LoadComponent('base'): | 477 if LoadComponent('base'): |
486 sconscripts.append('$BASE_DIR/SConscript') | 478 sconscripts.append('$BASE_DIR/base.scons') |
487 | 479 |
488 if LoadComponent('breakpad'): | 480 if LoadComponent('breakpad'): |
489 sconscripts.append('$BREAKPAD_DIR/SConscript') | 481 sconscripts.append('$BREAKPAD_DIR/SConscript') |
490 | 482 |
491 if LoadComponent('chrome'): | 483 if LoadComponent('chrome'): |
492 sconscripts.append('$CHROME_DIR/SConscript') | 484 sconscripts.append('$CHROME_DIR/SConscript') |
493 | 485 |
494 if LoadComponent('gears'): | 486 if LoadComponent('gears'): |
495 sconscripts.append('$GEARS_DIR/SConscript') | 487 sconscripts.append('$GEARS_DIR/SConscript') |
496 | 488 |
497 if LoadComponent('google_update'): | 489 if LoadComponent('google_update'): |
498 sconscripts.append('$GOOGLE_UPDATE_DIR/SConscript') | 490 sconscripts.append('$GOOGLE_UPDATE_DIR/SConscript') |
499 | 491 |
500 if LoadComponent('googleurl'): | 492 if LoadComponent('googleurl'): |
501 # googleurl comes from a different repository so we provide the SConscript | 493 # googleurl comes from a different repository so we provide the SConscript |
502 # file. | 494 # file. |
503 sconscripts.append('SConscript.googleurl') | 495 sconscripts.append('$GOOGLEURL_DIR/googleurl.scons') |
504 | 496 |
505 if LoadComponent('net'): | 497 if LoadComponent('net'): |
506 sconscripts.append('$NET_DIR/SConscript') | 498 sconscripts.append('$NET_DIR/net.scons') |
507 | 499 |
508 if LoadComponent('rlz'): | 500 if LoadComponent('rlz'): |
509 sconscripts.append('$RLZ_DIR/SConscript') | 501 sconscripts.append('$RLZ_DIR/SConscript') |
510 | 502 |
511 if LoadComponent('sandbox'): | 503 if LoadComponent('sandbox'): |
512 sconscripts.append('$SANDBOX_DIR/src/SConscript') | 504 sconscripts.append('$SANDBOX_DIR/src/SConscript') |
513 | 505 |
514 if LoadComponent('sdch'): | 506 if LoadComponent('sdch'): |
515 sconscripts.append('$SDCH_DIR/SConscript') | 507 sconscripts.append('$SDCH_DIR/SConscript') |
516 | 508 |
517 if LoadComponent('skia'): | 509 if LoadComponent('skia'): |
518 sconscripts.append('$SKIA_DIR/SConscript') | 510 sconscripts.append('$SKIA_DIR/SConscript') |
519 | 511 |
520 if LoadComponent('testing'): | 512 if LoadComponent('testing'): |
521 sconscripts.append('$TESTING_DIR/SConscript.gtest') | 513 sconscripts.append('$TESTING_DIR/SConscript.gtest') |
522 | 514 |
523 if LoadComponent('third_party'): | 515 if LoadComponent('third_party'): |
524 sconscripts.extend([ | 516 sconscripts.extend([ |
525 '$BSDIFF_DIR/SConscript', | 517 '$BSDIFF_DIR/SConscript', |
526 '$BZIP2_DIR/SConscript', | 518 '$BZIP2_DIR/bzip2.scons', |
527 '$ICU38_DIR/SConscript', | 519 '$ICU38_DIR/icu38.scons', |
528 '$LIBPNG_DIR/SConscript', | 520 '$LIBPNG_DIR/libpng.scons', |
529 '$LZMA_SDK_DIR/SConscript', | 521 '$LZMA_SDK_DIR/SConscript', |
530 '$MODP_B64_DIR/SConscript', | 522 '$MODP_B64_DIR/modp_b64.scons', |
531 '$ZLIB_DIR/SConscript', | 523 '$ZLIB_DIR/zlib.scons', |
532 ]) | 524 ]) |
533 # Temporary until we get these building on Mac. | 525 # Temporary until we get these building on Mac. |
534 if env['PLATFORM'] != 'darwin': | 526 if env['PLATFORM'] != 'darwin': |
535 sconscripts.extend([ | 527 sconscripts.extend([ |
536 '$LIBJPEG_DIR/SConscript', | 528 '$LIBJPEG_DIR/SConscript', |
537 '$LIBXML_DIR/SConscript', | 529 '$LIBXML_DIR/SConscript', |
538 '$LIBXSLT_DIR/SConscript', | 530 '$LIBXSLT_DIR/SConscript', |
539 ]) | 531 ]) |
540 if env['PLATFORM'] in ('posix', 'darwin'): | 532 if env['PLATFORM'] in ('posix', 'darwin'): |
541 sconscripts.extend([ | 533 sconscripts.extend([ |
542 '$LIBEVENT_DIR/SConscript', | 534 '$LIBEVENT_DIR/libevent.scons', |
543 ]) | 535 ]) |
544 # This is temporary until we get this lib to build on other platforms. | 536 # This is temporary until we get this lib to build on other platforms. |
545 if env['PLATFORM'] == 'win32': | 537 if env['PLATFORM'] == 'win32': |
546 sconscripts.extend([ | 538 sconscripts.extend([ |
547 '$BSPATCH_DIR/SConscript', | 539 '$BSPATCH_DIR/SConscript', |
548 ]) | 540 ]) |
549 | 541 |
550 if LoadComponent('v8') and env.Dir('#/../v8').exists(): | 542 if LoadComponent('v8') and env.Dir('#/../v8').exists(): |
551 env.SConscript('SConscript.v8', | 543 env.SConscript('SConscript.v8', |
552 exports=['env']) | 544 exports=['env']) |
(...skipping 27 matching lines...) Expand all Loading... |
580 initial_indent = ' '*32, | 572 initial_indent = ' '*32, |
581 subsequent_indent = ' '*32, | 573 subsequent_indent = ' '*32, |
582 ) | 574 ) |
583 components = tw.fill(', '.join(components)) | 575 components = tw.fill(', '.join(components)) |
584 | 576 |
585 Help(help_fmt % components) | 577 Help(help_fmt % components) |
586 | 578 |
587 | 579 |
588 Import('build_component') | 580 Import('build_component') |
589 Default(build_component) | 581 Default(build_component) |
OLD | NEW |