summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-24 03:20:00 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-24 03:20:00 +0000
commit08856366bb615a28da956cd02d8ad749090916ab (patch)
treea98b73e2e8c7e2088ca5d1798ac823bf8fbbaca0 /base
parent6160649ec727ba64ff2e959b3a9f054f67b834d0 (diff)
downloadchromium_src-08856366bb615a28da956cd02d8ad749090916ab.zip
chromium_src-08856366bb615a28da956cd02d8ad749090916ab.tar.gz
chromium_src-08856366bb615a28da956cd02d8ad749090916ab.tar.bz2
Initial subset of .vcproj file generation, covering generation of:
base\build\base.vcproj base\build\base_gfx.vcproj base\build\base_unittests.vcproj base\build\debug_message.vcproj skia\skia.vcproj testing\gtest.vcproj third_party\icu38\icu.vcproj third_party\icu38\icudt.vcproj third_party\libpng\libpng.vcproj third_party\zlib\zlib.vcproj Supporting work in *.scons files: * Adds .h files to the input_files lists in the various *.scons files. * Add arguments to ChromeMSVSProject() to actually generate the .vcproj files. * Add MSVS.AddConfig() calls to the *.scons files to preserve the .vsprops inclusion in the generated .vcproj files. (These will go away eventually as we migrate away from .vsprops in favor of using the settings from the SCons configuration.) * Add MSVS.AddConfig() calls to preserve the .vsprops inclusion. * Move the special generation of dmg_fp/*.cc files ahead of the input file list so we can list the generated object files. * Change the 'solutions' Alias to 'msvs' so we don't mislead about what will actually be generated. Updates to the new _Node_MSVS.py module with latest from upstream prototype development: * Support configurability of: * buildtarget (used to generat project name) * RootNamespace * relative_path_prefix (to prepend './') * tools (to avoid repetition in the project configs) * Track the Visual Studio hierarchy in SCons Nodes, not DOM, so we can delay evaluation until after the complete configuration has been specified. * Add a FileList base class for the things that need, with a subclass hierarchy for the different concrete things in our tree, and a FileListWalk() function for traversing hierarchies. * Centralize turning strings into Nodes in the args2nodes() method and have AddFiles() just use it. Updates to chromium_builders.py to support all this * Add knowledge about stripping out noncompilable files (.h files) from input_files lists. * Return a Null() class if we're not generating MSVS files so we don't have to hide the other calls in if:-blocks. * Add custom ChromeFileList subclass of MSVS.FileList as a container for the file list manipulation we need to do. * Move the Chrome*() function definitions out to global space, and just use the generate() function for adding them to the passed-in environment as class methods. * Make a change to SCons (in Node/FS.py) to handle polymorphism in the new MSVS Node hierarchy. Review URL: http://codereview.chromium.org/16447 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7467 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/base_lib.scons307
-rw-r--r--base/base_sln.scons2
-rw-r--r--base/base_unittests.scons128
-rw-r--r--base/debug_message.scons51
-rw-r--r--base/gfx/base_gfx.scons65
5 files changed, 467 insertions, 86 deletions
diff --git a/base/base_lib.scons b/base/base_lib.scons
index 197832e..e7a83fd 100644
--- a/base/base_lib.scons
+++ b/base/base_lib.scons
@@ -21,93 +21,246 @@ if env.Bit('windows'):
],
)
+# Add object files David M Gay's dtoa and g_fmt third party lib. We
+# compile these separately so we can disable warnings.
+env_dmg_fp = env.Clone()
+if env_dmg_fp.Bit('windows'):
+ env_dmg_fp.Append(
+ CCFLAGS = [
+ '/wd4018',
+ '/wd4102',
+ '/wd4244',
+ '/wd4554',
+ ],
+ )
+elif env_dmg_fp.Bit('posix'):
+ for var in ['CCFLAGS', 'CXXFLAGS']:
+ if '-Wall' in env_dmg_fp[var]:
+ env_dmg_fp[var].remove('-Wall')
+ env_dmg_fp[var].append('-Wno-write-strings')
+
+dtoa_cc = env_dmg_fp.ChromeObject('third_party/dmg_fp/dtoa.cc')
+
+g_fmt_cc = env_dmg_fp.ChromeObject('third_party/dmg_fp/g_fmt.cc')
+
# Some files from this list are not yet ported. They are removed from
# the list, see code below.
-input_files = [
+input_files = ChromeFileList([
'at_exit.cc',
+ 'at_exit.h',
+ 'atomic_ref_count.h',
+ 'atomic_sequence_num.h',
+ 'atomicops.h',
+ 'atomicops_internals_x86_msvc.h',
+ 'base_drag_source.cc',
+ 'base_drag_source.h',
+ 'base_drop_target.cc',
+ 'base_drop_target.h',
'base_paths.cc',
+ 'base_paths.h',
+ 'base_paths_win.cc',
+ 'base_paths_win.h',
'base_switches.cc',
+ 'base_switches.h',
+ 'basictypes.h',
+ 'third_party/nss/blapi.h',
+ 'third_party/nss/blapit.h',
+ '../build/build_config.h',
'bzip2_error_handler.cc',
'clipboard.cc',
+ 'clipboard.h',
'clipboard_util.cc',
+ 'clipboard_util.h',
+ 'clipboard_win.cc',
'command_line.cc',
+ 'command_line.h',
+ 'compiler_specific.h',
+ 'condition_variable.h',
+ 'condition_variable_win.cc',
+ 'cpu.cc',
+ 'cpu.h',
+ 'debug_on_start.cc',
+ 'debug_on_start.h',
'debug_util.cc',
+ 'debug_util.h',
+ 'debug_util_win.cc',
+ 'directory_watcher.h',
+ 'directory_watcher_win.cc',
+ 'third_party/dmg_fp/dmg_fp.h',
+ dtoa_cc,
'event_recorder.cc',
+ 'event_recorder.h',
'field_trial.cc',
+ 'field_trial.h',
'file_path.cc',
+ 'file_path.h',
'file_util.cc',
+ 'file_util.h',
+ 'file_util_win.cc',
'file_version_info.cc',
+ 'file_version_info.h',
+ 'fix_wp64.h',
+ 'float_util.h',
+ g_fmt_cc,
+ 'hash_tables.h',
'histogram.cc',
+ 'histogram.h',
+ 'hmac.h',
+ 'hmac_win.cc',
+ 'iat_patch.cc',
+ 'iat_patch.h',
'icu_util.cc',
+ 'icu_util.h',
+ 'id_map.h',
'idle_timer.cc',
+ 'idle_timer.h',
+ 'image_util.cc',
+ 'image_util.h',
'json_reader.cc',
+ 'json_reader.h',
'json_writer.cc',
+ 'json_writer.h',
'lazy_instance.cc',
+ 'lazy_instance.h',
+ 'linked_ptr.h',
'lock.cc',
+ 'lock.h',
+ 'lock_impl.h',
+ 'lock_impl_win.cc',
'logging.cc',
+ 'logging.h',
'md5.cc',
+ 'md5.h',
'memory_debug.cc',
+ 'memory_debug.h',
'message_loop.cc',
+ 'message_loop.h',
+ 'message_pump.h',
'message_pump_default.cc',
+ 'message_pump_default.h',
+ 'message_pump_win.cc',
+ 'message_pump_win.h',
'non_thread_safe.cc',
+ 'non_thread_safe.h',
'object_watcher.cc',
+ 'object_watcher.h',
+ 'observer_list.h',
+ 'observer_list_threadsafe.h',
'path_service.cc',
+ 'path_service.h',
+ 'pe_image.cc',
+ 'pe_image.h',
'pickle.cc',
+ 'pickle.h',
+ 'platform_file.h',
+ 'platform_file_win.cc',
+ 'platform_thread.h',
+ 'platform_thread_win.cc',
+ 'port.h',
+ 'third_party/nspr/prcpucfg.h',
+ 'third_party/nspr/prcpucfg_win.h',
+ 'process.h',
+ 'process_util.h',
+ 'process_util_win.cc',
+ 'process_win.cc',
+ 'third_party/nspr/prtime.cc',
+ 'third_party/nspr/prtime.h',
+ 'third_party/nspr/prtypes.h',
+ 'third_party/purify/pure.h',
+ 'third_party/purify/pure_api.c',
'rand_util.cc',
+ 'rand_util.h',
+ 'rand_util_win.cc',
'ref_counted.cc',
+ 'ref_counted.h',
+ 'registry.cc',
+ 'registry.h',
'resource_util.cc',
+ 'resource_util.h',
'revocable_store.cc',
+ 'revocable_store.h',
'scoped_clipboard_writer.cc',
+ 'scoped_clipboard_writer.h',
+ 'scoped_handle.h',
+ 'scoped_nsautorelease_pool.h',
+ 'scoped_ptr.h',
'sha2.cc',
+ 'sha2.h',
+ 'third_party/nss/sha256.h',
+ 'third_party/nss/sha512.cc',
+ 'shared_memory.h',
+ 'shared_memory_win.cc',
'simple_thread.cc',
+ 'simple_thread.h',
+ 'singleton.h',
+ 'spin_wait.h',
+ 'stack_container.h',
+ 'stats_counters.h',
'stats_table.cc',
+ 'stats_table.h',
+ 'string16.h',
'string_escape.cc',
+ 'string_escape.h',
'string_piece.cc',
+ 'string_piece.h',
+ 'string_tokenizer.h',
'string_util.cc',
+ 'string_util.h',
'string_util_icu.cc',
+ 'string_util_win.h',
+ 'sys_info.h',
+ 'sys_info_win.cc',
+ 'sys_string_conversions.h',
+ 'sys_string_conversions_win.cc',
'system_monitor.cc',
- 'third_party/nspr/prtime.cc',
- 'third_party/nss/sha512.cc',
+ 'system_monitor.h',
+ 'system_monitor_win.cc',
+ 'task.h',
+ 'test_file_util_win.cc',
+ 'test_file_util.h',
'thread.cc',
+ 'thread.h',
'thread_collision_warner.cc',
+ 'thread_collision_warner.h',
+ 'thread_local.h',
+ 'thread_local_storage.h',
+ 'thread_local_storage_win.cc',
+ 'thread_local_win.cc',
'time.cc',
+ 'time.h',
'time_format.cc',
+ 'time_format.h',
+ 'time_win.cc',
'timer.cc',
+ 'timer.h',
'trace_event.cc',
+ 'trace_event.h',
'tracked.cc',
+ 'tracked.h',
'tracked_objects.cc',
+ 'tracked_objects.h',
+ 'tuple.h',
'values.cc',
+ 'values.h',
+ 'waitable_event.h',
+ 'waitable_event_win.cc',
'watchdog.cc',
+ 'watchdog.h',
+ 'win_util.cc',
+ 'win_util.h',
+ 'windows_message_list.h',
+ 'wmi_util.cc',
+ 'wmi_util.h',
'word_iterator.cc',
-]
-
-# Add object files David M Gay's dtoa and g_fmt third party lib. We
-# compile these separately so we can disable warnings.
-env_dmg_fp = env.Clone()
-if env_dmg_fp.Bit('windows'):
- env_dmg_fp.Append(
- CCFLAGS = [
- '/wd4018',
- '/wd4102',
- '/wd4244',
- '/wd4554',
- ],
- )
-elif env_dmg_fp.Bit('posix'):
- for var in ['CCFLAGS', 'CXXFLAGS']:
- if '-Wall' in env_dmg_fp[var]:
- env_dmg_fp[var].remove('-Wall')
- env_dmg_fp[var].append('-Wno-write-strings')
-
-input_files.extend([
- env_dmg_fp.Object('third_party/dmg_fp/dtoa.cc'),
- env_dmg_fp.Object('third_party/dmg_fp/g_fmt.cc'),
+ 'word_iterator.h',
+ 'worker_pool.cc',
+ 'worker_pool.h',
])
if env.Bit('posix'):
# Remove files that still need to be ported from the input_files list.
# TODO(port): delete files from this list as they get ported.
- to_be_ported_files = [
+ input_files.Remove(
'clipboard_util.cc',
'event_recorder.cc',
'file_version_info.cc',
@@ -119,12 +272,16 @@ if env.Bit('posix'):
'object_watcher.cc',
'resource_util.cc', # Uses HMODULE, but may be abstractable.
- ]
- for remove in to_be_ported_files:
- input_files.remove(remove)
+ )
-if env.Bit('windows'):
- input_files.extend([
+if not env.Bit('windows'):
+ # Remove windows-specific files on non-Windows platforms.
+ # TODO(sgk):
+ # Remove the windows-specific files from the input_files list above
+ # and turn this back in to an add-on-Windows list (like we used to)
+ # once we're comfortable re-ordering the files in the generated
+ # .vcproj file(s).
+ input_files.Remove(
'base_drag_source.cc',
'base_drop_target.cc',
'base_paths_win.cc',
@@ -160,10 +317,10 @@ if env.Bit('windows'):
'win_util.cc',
'wmi_util.cc',
'worker_pool.cc',
- ])
+ )
if env.Bit('posix'):
- input_files.extend([
+ input_files.Extend([
'condition_variable_posix.cc',
'debug_util_posix.cc',
'file_util_posix.cc',
@@ -183,7 +340,7 @@ if env.Bit('posix'):
])
if env.Bit('mac'):
- input_files.extend([
+ input_files.Extend([
'base_paths_mac.mm',
'clipboard_mac.mm',
'file_util_mac.mm',
@@ -199,7 +356,7 @@ if env.Bit('mac'):
])
if env.Bit('linux'):
- input_files.extend([
+ input_files.Extend([
'atomicops_internals_x86_gcc.cc',
'base_paths_linux.cc',
'clipboard_linux.cc',
@@ -217,8 +374,76 @@ if env.Bit('linux'):
env.ChromeStaticLibrary('base', input_files)
-env.ChromeMSVSProject('$BASE_DIR/build/base.vcproj',
- dependencies = [
- '$BASE_DIR/build/debug_message.vcproj',
- ],
- guid='{1832A374-8A74-4F9E-B536-69A699B3E165}')
+p = env.ChromeMSVSProject('build/base.vcproj',
+ guid='{1832A374-8A74-4F9E-B536-69A699B3E165}',
+ dependencies=[
+ 'build/debug_message.vcproj',
+ ],
+ files=input_files,
+ tools=[
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ 'VCCLCompilerTool',
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ 'VCLibrarianTool',
+ 'VCALinkTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCPostBuildEventTool',
+ ])
+
+p.AddConfig('Debug|Win32',
+ ConfigurationType = '4',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/debug.vsprops',
+ './base.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ ConfigurationType = '4',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/release.vsprops',
+ './base.vsprops',
+ ])
+
+p.AddFileConfig(
+ 'third_party/dmg_fp/dtoa.cc',
+ 'Debug|Win32',
+ tools=[
+ MSVSTool('VCCLCompilerTool',
+ DisableSpecificWarnings='4244;4554;4018;4102'),
+ ])
+
+p.AddFileConfig(
+ 'third_party/dmg_fp/dtoa.cc',
+ 'Release|Win32',
+ tools=[
+ MSVSTool('VCCLCompilerTool',
+ DisableSpecificWarnings='4244;4554;4018;4102'),
+ ])
+
+p.AddFileConfig(
+ 'third_party/dmg_fp/g_fmt.cc',
+ 'Debug|Win32',
+ tools=[
+ MSVSTool('VCCLCompilerTool', DisableSpecificWarnings='4102'),
+ ])
+
+p.AddFileConfig(
+ 'third_party/dmg_fp/g_fmt.cc',
+ 'Release|Win32',
+ tools=[
+ MSVSTool('VCCLCompilerTool', DisableSpecificWarnings='4102'),
+ ])
+
+env.AlwaysBuild(p)
+
+i = env.Command('$CHROME_SRC_DIR/base/build/base.vcproj', p,
+ Copy('$TARGET', '$SOURCE'))
+Alias('msvs', i)
diff --git a/base/base_sln.scons b/base/base_sln.scons
index c81f7e3..f86666c 100644
--- a/base/base_sln.scons
+++ b/base/base_sln.scons
@@ -48,4 +48,4 @@ env.AlwaysBuild(solution)
i = env.Command('$CHROME_SRC_DIR/base/base.sln', solution,
Copy('$TARGET', '$SOURCE'))
-Alias('solutions', i)
+Alias('msvs', i)
diff --git a/base/base_unittests.scons b/base/base_unittests.scons
index b14291c..66be1f3 100644
--- a/base/base_unittests.scons
+++ b/base/base_unittests.scons
@@ -41,17 +41,30 @@ if env.Bit('linux'):
],
)
-# These test files work on *all* platforms; tests that don't work
-# cross-platform live below.
-input_files = [
+input_files = ChromeFileList([
+ # TODO(sgk):
+ # We're deliberately mis-indenting the MSVSFilter() calls here
+ # so we don't have to re-indent the file name entries when the
+ # MSVSFilter() calls go away in (favor of automated generation
+ # of the heirarchy).
+ MSVSFilter('support', [
+ 'multiprocess_test.h',
+ 'no_windows2000_unittest.h',
+ 'run_all_unittests.cc',
+ 'test_suite.h',
+ ]),
+
+ MSVSFilter('base_tests', [
'at_exit_unittest.cc',
'atomicops_unittest.cc',
'clipboard_unittest.cc',
'command_line_unittest.cc',
'condition_variable_unittest.cc',
+ 'directory_watcher_unittest.cc',
'field_trial_unittest.cc',
'file_path_unittest.cc',
'file_util_unittest.cc',
+ 'file_version_info_unittest.cc',
'histogram_unittest.cc',
'hmac_unittest.cc',
'idletimer_unittest.cc',
@@ -60,14 +73,17 @@ input_files = [
'lazy_instance_unittest.cc',
'linked_ptr_unittest.cc',
'message_loop_unittest.cc',
+ 'gfx/native_theme_unittest.cc',
+ 'object_watcher_unittest.cc',
'observer_list_unittest.cc',
'path_service_unittest.cc',
+ 'pe_image_unittest.cc',
'pickle_unittest.cc',
'pr_time_unittest.cc',
'process_util_unittest.cc',
'rand_util_unittest.cc',
+ 'gfx/rect_unittest.cc',
'ref_counted_unittest.cc',
- 'run_all_unittests.cc',
'scoped_ptr_unittest.cc',
'sha2_unittest.cc',
'shared_memory_unittest.cc',
@@ -80,81 +96,127 @@ input_files = [
'string_tokenizer_unittest.cc',
'string_util_unittest.cc',
'sys_info_unittest.cc',
+ 'sys_string_conversions_unittest.cc',
+ 'system_monitor_unittest.cc',
'thread_collision_warner_unittest.cc',
'thread_local_storage_unittest.cc',
'thread_local_unittest.cc',
'thread_unittest.cc',
'time_unittest.cc',
+ 'time_unittest_win.cc',
'timer_unittest.cc',
'tracked_objects_unittest.cc',
'tuple_unittest.cc',
'values_unittest.cc',
'waitable_event_unittest.cc',
'watchdog_unittest.cc',
+ 'win_util_unittest.cc',
+ 'wmi_util_unittest.cc',
'word_iterator_unittest.cc',
- 'worker_pool_unittest.cc',
-
- 'gfx/native_theme_unittest.cc',
+ ]),
+
+ MSVSFilter('gfx_tests', [
'gfx/png_codec_unittest.cc',
- 'gfx/rect_unittest.cc',
-]
+ ]),
+])
if env.Bit('posix'):
# Remove files that still need to be ported from the input_files list.
# TODO(port): delete files from this list as they get ported.
- to_be_ported_files = [
+ input_files.Remove(
# We have an implementation of idle_timer, but it's unclear if we want it
# yet, so it's commented out for now. Leave this 'unported'.
'idletimer_unittest.cc',
'gfx/native_theme_unittest.cc',
- ]
- for remove in to_be_ported_files:
- input_files.remove(remove)
+ )
if env.Bit('mac'):
# Remove files that still need to be ported from the input_files list.
# TODO(port): delete files from this list as they get ported.
- to_be_ported_files = [
+ input_files.Remove(
'process_util_unittest.cc',
'stats_table_unittest.cc',
- ]
- for remove in to_be_ported_files:
- input_files.remove(remove)
+ )
-if env.Bit('windows'):
- # Windows-specific tests.
- input_files.extend([
+if not env.Bit('windows'):
+ # Remove Windows-specific tests.
+ input_files.Remove(
'directory_watcher_unittest.cc',
'file_version_info_unittest.cc',
'object_watcher_unittest.cc',
'pe_image_unittest.cc',
+ 'system_monitor_unittest.cc',
'sys_string_conversions_unittest.cc',
'time_unittest_win.cc',
'win_util_unittest.cc',
'wmi_util_unittest.cc',
- ])
+ )
if env.Bit('mac'):
# Mac-specific tests.
- input_files.extend([
+ input_files.Extend([
'mac_util_unittest.cc',
])
env.ChromeTestProgram('base_unittests', input_files)
-env.ChromeMSVSProject('$BASE_DIR/build/base_unittests.vcproj',
- dependencies = [
- '$BASE_DIR/build/base.vcproj',
- '$ZLIB_DIR/zlib.vcproj',
- '$ICU38_DIR/build/icu.vcproj',
- '$BASE_DIR/build/base_gfx.vcproj',
- '$TESTING_DIR/gtest.vcproj',
- '$LIBPNG_DIR/libpng.vcproj',
- '$SKIA_DIR/skia.vcproj',
- ],
- guid='{27A30967-4BBA-48D1-8522-CDE95F7B1CEC}')
+p = env.ChromeMSVSProject('build/base_unittests.vcproj',
+ guid='{27A30967-4BBA-48D1-8522-CDE95F7B1CEC}',
+ dependencies=[
+ '$BASE_DIR/build/base.vcproj',
+ '$ZLIB_DIR/zlib.vcproj',
+ '$ICU38_DIR/build/icu.vcproj',
+ '$BASE_DIR/build/base_gfx.vcproj',
+ '$TESTING_DIR/gtest.vcproj',
+ '$LIBPNG_DIR/libpng.vcproj',
+ '$SKIA_DIR/skia.vcproj',
+ ],
+ files=input_files,
+ tools = [
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ MSVSTool('VCCLCompilerTool',
+ PreprocessorDefinitions='UNIT_TEST'),
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ 'VCLinkerTool',
+ 'VCALinkTool',
+ 'VCManifestTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCAppVerifierTool',
+ 'VCWebDeploymentTool',
+ 'VCPostBuildEventTool',
+ ])
+
+p.AddConfig('Debug|Win32',
+ ConfigurationType = '1',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/debug.vsprops',
+ './base_unittests.vsprops',
+ '$(SolutionDir)../testing/using_gtest.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ ConfigurationType = '1',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/release.vsprops',
+ './base_unittests.vsprops',
+ '$(SolutionDir)../testing/using_gtest.vsprops',
+ ])
+
+env.AlwaysBuild(p)
+
+i = env.Command('$CHROME_SRC_DIR/base/build/base_unittests.vcproj', p,
+ Copy('$TARGET', '$SOURCE'))
+Alias('msvs', i)
# TODO(sgk) should this be moved into base.lib like everything else? This will
# require updating a bunch of other SConscripts which link directly against
diff --git a/base/debug_message.scons b/base/debug_message.scons
index e21aaf2..5ae6f24 100644
--- a/base/debug_message.scons
+++ b/base/debug_message.scons
@@ -18,11 +18,60 @@ if env.Bit('windows'):
],
)
+input_files = ChromeFileList([
+ 'debug_message.cc',
+])
+
if env.Bit('windows'):
# TODO(port): port this if it's needed on non-Windows systems,
# or remove this comment (and merge with the above block?)
# if it's really Windows-specific.
- env.ChromeProgram('debug_message', ['debug_message.cc'])
+ env.ChromeProgram('debug_message', input_files)
env.ChromeMSVSProject('$BASE_DIR/build/debug_message.vcproj',
guid='{0E5474AC-5996-4B13-87C0-4AE931EE0815}')
+
+p = env.ChromeMSVSProject('build/debug_message.vcproj',
+ guid='{0E5474AC-5996-4B13-87C0-4AE931EE0815}',
+ files=input_files,
+ root_namespace='DebugMessage',
+ tools = [
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ 'VCCLCompilerTool',
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ MSVSTool('VCLinkerTool', SubSystem='2'),
+ 'VCALinkTool',
+ 'VCManifestTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCAppVerifierTool',
+ 'VCWebDeploymentTool',
+ 'VCPostBuildEventTool',
+ ])
+
+p.AddConfig('Debug|Win32',
+ ConfigurationType = '1',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/debug.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ ConfigurationType = '1',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/release.vsprops',
+ ])
+
+env.AlwaysBuild(p)
+
+i = env.Command('$CHROME_SRC_DIR/base/build/debug_message.vcproj', p,
+ Copy('$TARGET', '$SOURCE'))
+Alias('msvs', i)
diff --git a/base/gfx/base_gfx.scons b/base/gfx/base_gfx.scons
index b9c2e2d..bcffedc 100644
--- a/base/gfx/base_gfx.scons
+++ b/base/gfx/base_gfx.scons
@@ -24,34 +24,79 @@ if env.Bit('windows'):
],
)
-input_files = [
+input_files = ChromeFileList([
'gdi_util.cc',
+ 'gdi_util.h',
'native_theme.cc',
+ 'native_theme.h',
'png_decoder.cc',
+ 'png_decoder.h',
'png_encoder.cc',
+ 'png_encoder.h',
'point.cc',
+ 'point.h',
'rect.cc',
+ 'rect.h',
'size.cc',
-]
+ 'size.h',
+])
if env.Bit('posix'):
# Remove files that still need to be ported from the input_files list.
# TODO(port): delete files from this list as they get ported.
- to_be_ported_files = [
+ input_files.Remove(
'gdi_util.cc',
'native_theme.cc',
- ]
- for remove in to_be_ported_files:
- input_files.remove(remove)
+ )
if env.Bit('windows'):
- input_files.extend([
+ input_files.Extend([
])
elif env.Bit('linux'):
- input_files.extend([
+ input_files.Extend([
])
env.ChromeStaticLibrary('base_gfx', input_files)
-env.ChromeMSVSProject('$BASE_DIR/build/base_gfx.vcproj',
- guid='{A508ADD3-CECE-4E0F-8448-2F5E454DF551}')
+p = env.ChromeMSVSProject('../build/base_gfx.vcproj',
+ guid='{A508ADD3-CECE-4E0F-8448-2F5E454DF551}',
+ files=input_files,
+ tools=[
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ 'VCCLCompilerTool',
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ 'VCLibrarianTool',
+ 'VCALinkTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCPostBuildEventTool',
+ ])
+
+p.AddConfig('Debug|Win32',
+ ConfigurationType = '4',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/debug.vsprops',
+ './base_gfx.vsprops',
+ '../../skia/using_skia.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ ConfigurationType = '4',
+ InheritedPropertySheets = [
+ '$(SolutionDir)../build/release.vsprops',
+ './base_gfx.vsprops',
+ '../../skia/using_skia.vsprops',
+ ])
+
+env.AlwaysBuild(p)
+
+i = env.Command('$CHROME_SRC_DIR/base/build/base_gfx.vcproj', p,
+ Copy('$TARGET', '$SOURCE'))
+Alias('msvs', i)