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

Side by Side Diff: build/SConscript.main

Issue 14472: Initial generation of native Visual Studio solution files... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years 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 | « breakpad/SConscript ('k') | build/SConscript.v8 » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 if sys.platform == 'win32': 10 if sys.platform == 'win32':
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 windows_opt = windows_env.Clone() 372 windows_opt = windows_env.Clone()
373 environment_list.append(windows_opt) 373 environment_list.append(windows_opt)
374 windows_opt.Replace( 374 windows_opt.Replace(
375 BUILD_TYPE = 'opt', 375 BUILD_TYPE = 'opt',
376 BUILD_TYPE_DESCRIPTION = 'Windows optimized build', 376 BUILD_TYPE_DESCRIPTION = 'Windows optimized build',
377 ) 377 )
378 windows_opt.Tool('target_optimized') 378 windows_opt.Tool('target_optimized')
379 windows_opt.ApplySConscript(['$CHROME_SRC_DIR/build/release.scons']) 379 windows_opt.ApplySConscript(['$CHROME_SRC_DIR/build/release.scons'])
380 380
381 # -------------------------------------------------------------------------- 381 # --------------------------------------------------------------------------
382 # Platform-independent "msvs" mode for generating Visual Studio
383 # project and solution files from any platform.
384
385 DeclareBit('msvs', 'Generate Visual Studio files')
386
387 msvs_env = windows_env.Clone()
388
389 msvs_env.Tool('target_platform_windows')
390 msvs_env.Tool('component_targets_msvs') # Per target project support.
391
392 del msvs_env['BUILDERS']['MSVSProject']
393 del msvs_env['BUILDERS']['MSVSSolution']
394 msvs_env.Tool('MSVSNew')
395
396 msvs_env.Tool('midl')
397
398 environment_list.append(msvs_env)
399 msvs_env.Replace(
400 BUILD_TYPE = 'msvs',
401 BUILD_TYPE_DESCRIPTION = 'Generate Visual Studio files',
402 HOST_PLATFORMS = ['*'],
403 ICU_LIBS = [],
404 )
405 msvs_env.SetBits('windows', 'msvs')
406 # TODO(sgk): turn into separate debug + release env adding
407 # to a common .sln file
408 msvs_env.Tool('target_debug')
409
410 # --------------------------------------------------------------------------
382 # Linux specific 411 # Linux specific
383 412
384 linux_env = root_env.Clone() 413 linux_env = root_env.Clone()
385 linux_env.Tool('target_platform_linux') 414 linux_env.Tool('target_platform_linux')
386 linux_env.Tool('yacc') 415 linux_env.Tool('yacc')
387 416
388 # By default scons will depend on the first path element for any command line. 417 # By default scons will depend on the first path element for any command line.
389 # For example, it will resolve 'gcc' with $PATH and depend on that for any 418 # For example, it will resolve 'gcc' with $PATH and depend on that for any
390 # action which runs gcc. This disables this behaviour: 419 # action which runs gcc. This disables this behaviour:
391 linux_env['IMPLICIT_COMMAND_DEPENDENCIES'] = False 420 linux_env['IMPLICIT_COMMAND_DEPENDENCIES'] = False
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 FRAMEWORKS = [ 646 FRAMEWORKS = [
618 'AppKit', 647 'AppKit',
619 'ApplicationServices', 648 'ApplicationServices',
620 'Foundation', 649 'Foundation',
621 ], 650 ],
622 651
623 ICU_LIBS = ['icui18n', 'icuuc', 'icudata'], 652 ICU_LIBS = ['icui18n', 'icuuc', 'icudata'],
624 ) 653 )
625 654
626 655
656 # --------------------------------------------------------------------------
657 # Platform-independent "xcode" mode for generating XCode files
658 # from any platform.
659
660 DeclareBit('xcode', 'Generate XCode files')
661
662 # TODO(sgk): remove this after we update Hammer modules.
663 DeclareBit('mac', 'Target platform is mac.')
664
665 xcode_env = mac_env.Clone()
666 # TODO(sgk): uncomment when xcode generation becomes real.
667 #environment_list.append(xcode_env)
668 xcode_env.Replace(
669 BUILD_TYPE = 'xcode',
670 BUILD_TYPE_DESCRIPTION = 'Generate XCode files',
671 HOST_PLATFORMS = ['*'],
672 ICU_LIBS = [],
673 )
674 xcode_env.SetBits('mac', 'xcode')
675 # TODO(sgk): turn into separate debug + release env adding
676 # to a common .sln file
677 xcode_env.Tool('target_debug')
678
679
627 # ------------------------------------------------------------------------- 680 # -------------------------------------------------------------------------
628 681
629 682
630 # Overlay things from a layer below. 683 # Overlay things from a layer below.
631 for env in environment_list: 684 for env in environment_list:
632 env.Dir('$OBJ_ROOT').addRepository(env.Dir('$CHROME_SRC_DIR')) 685 env.Dir('$OBJ_ROOT').addRepository(env.Dir('$CHROME_SRC_DIR'))
633 env.Dir('$OBJ_ROOT/googleurl').addRepository(env.Dir('$CHROME_SRC_DIR/build')) 686 env.Dir('$OBJ_ROOT/googleurl').addRepository(env.Dir('$CHROME_SRC_DIR/build'))
634 687
635 # We pre-resolve some common targets. We end up spending lots of time 688 # We pre-resolve some common targets. We end up spending lots of time
636 # resolving these over and over again. 689 # resolving these over and over again.
(...skipping 27 matching lines...) Expand all
664 tw = textwrap.TextWrapper( 717 tw = textwrap.TextWrapper(
665 width = 78, 718 width = 78,
666 initial_indent = ' '*32, 719 initial_indent = ' '*32,
667 subsequent_indent = ' '*32, 720 subsequent_indent = ' '*32,
668 ) 721 )
669 components = tw.fill(', '.join(components)) 722 components = tw.fill(', '.join(components))
670 all_system_libs = tw.fill(', '.join(env['all_system_libs'])) 723 all_system_libs = tw.fill(', '.join(env['all_system_libs']))
671 724
672 Help(help_fmt % (components, all_system_libs)) 725 Help(help_fmt % (components, all_system_libs))
673 726
674
675 Import('build_component')
676 Default(None) # Reset default target to empty.
677 Default(Alias(build_component)) # Set default target based on where built.
678
679 # ------------------------------------------------------------------------- 727 # -------------------------------------------------------------------------
680 728
681 # Invoke all the SConscripts in each of the environments that make sense on 729 # Invoke all the SConscripts in each of the environments that make sense on
682 # this host-platform. 730 # this host-platform.
683 BuildComponents(environment_list) 731 BuildComponents(environment_list)
684 732
685 # ------------------------------------------------------------------------- 733 # -------------------------------------------------------------------------
686 734
735 Default(None) # Reset default target to empty.
736
737 modes = GetTargetModes().keys()
738
739 if set(modes) - set(['msvs', 'xcode']):
740 # There's at least one mode being built besides the platform-
741 # independent 'msvs' or 'xcode' modes. Build the current
742 # build_component's Alias as default--that is, "base" when we're
743 # in the base/ subdirectory, "chrome" under chrome/, etc.
744 Import('build_component')
745 Default(Alias(build_component)) # Set default target based on where built.
746
747 if 'msvs' in modes:
748 # We're in --mode=msvs, so add its Alias(es) to the default targets.
749 Default(Alias('solutions'))
750
751 # -------------------------------------------------------------------------
752
687 # This must occur after BuildComponents so that the dependency graph 753 # This must occur after BuildComponents so that the dependency graph
688 # will be populated. 754 # will be populated.
689 vs_env = windows_env.Clone() 755 vs_env = windows_env.Clone()
690 vs_env.Append(COMPONENT_VS_SOURCE_SUFFIXES = [ 756 vs_env.Append(COMPONENT_VS_SOURCE_SUFFIXES = [
691 '.def', 757 '.def',
692 '.ini', 758 '.ini',
693 '.txt', 759 '.txt',
694 '.ui', 760 '.ui',
695 '.xml', 761 '.xml',
696 ]) 762 ])
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
736 'all_libraries', 802 'all_libraries',
737 'all_languages', 803 'all_languages',
738 'all_programs', 804 'all_programs',
739 'all_test_programs', 805 'all_test_programs',
740 ], projects = [p], 806 ], projects = [p],
741 COMPONENT_VS_PROJECT_SCRIPT_PATH=( 807 COMPONENT_VS_PROJECT_SCRIPT_PATH=(
742 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'), 808 'cd $$(ProjectDir)/$VS_PROJECT_TO_MAIN_DIR && hammer.bat'),
743 ) 809 )
744 810
745 # ------------------------------------------------------------------------- 811 # -------------------------------------------------------------------------
OLDNEW
« no previous file with comments | « breakpad/SConscript ('k') | build/SConscript.v8 » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698