diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/base_lib.scons | 307 | ||||
-rw-r--r-- | base/base_sln.scons | 2 | ||||
-rw-r--r-- | base/base_unittests.scons | 128 | ||||
-rw-r--r-- | base/debug_message.scons | 51 | ||||
-rw-r--r-- | base/gfx/base_gfx.scons | 65 |
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) |