summaryrefslogtreecommitdiffstats
path: root/base/SConscript
diff options
context:
space:
mode:
Diffstat (limited to 'base/SConscript')
-rw-r--r--base/SConscript296
1 files changed, 296 insertions, 0 deletions
diff --git a/base/SConscript b/base/SConscript
new file mode 100644
index 0000000..2b7a7cc
--- /dev/null
+++ b/base/SConscript
@@ -0,0 +1,296 @@
+# Copyright 2008, Google Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Import('env')
+
+env = env.Clone()
+env_tests = env.Clone()
+
+env.Prepend(
+ CPPPATH = [
+ '$ICU38_DIR/public/common',
+ '$ICU38_DIR/public/i18n',
+ '..',
+ ],
+ CPPDEFINES = [
+ 'U_STATIC_IMPLEMENTATION',
+ 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
+ 'WIN32_LEAN_AND_MEAN',
+ ],
+ CCFLAGS = [
+ '/TP',
+
+ '/Wp64',
+
+ '/wd4503',
+ '/wd4819',
+ ],
+)
+
+input_files = [
+ 'base_drag_source.cc',
+ 'base_drop_target.cc',
+ 'base_paths.cc',
+ 'base_switches.cc',
+ 'clipboard.cc',
+ 'clipboard_util.cc',
+ 'command_line.cc',
+ 'condition_variable.cc',
+ 'debug_on_start.cc',
+ 'debug_util.cc',
+ 'event_recorder.cc',
+ 'file_util.cc',
+ 'file_version_info.cc',
+ 'histogram.cc',
+ 'hmac.cc',
+ 'iat_patch.cc',
+ 'icu_util.cc',
+ 'idle_timer.cc',
+ 'image_util.cc',
+ 'json_reader.cc',
+ 'json_writer.cc',
+ 'lock.cc',
+ 'lock_impl_win.cc',
+ 'logging.cc',
+ 'md5.cc',
+ 'memory_debug.cc',
+ 'message_loop.cc',
+ 'non_thread_safe.cc',
+ 'path_service.cc',
+ 'pe_image.cc',
+ 'pickle.cc',
+ 'platform_thread.cc',
+ 'process.cc',
+ 'process_util.cc',
+ 'registry.cc',
+ 'resource_util.cc',
+ 'revocable_store.cc',
+ 'sha2.cc',
+ 'shared_event.cc',
+ 'shared_memory.cc',
+ 'stats_table.cc',
+ 'string_escape.cc',
+ 'string_util.cc',
+ 'string_util_icu.cc',
+ 'string_util_win.cc',
+ 'third_party/nspr/prtime.cc',
+ 'third_party/nss/sha512.cc',
+ 'thread.cc',
+ 'thread_local_storage_win.cc',
+ 'time.cc',
+ 'time_win.cc',
+ 'timer.cc',
+ 'tracked.cc',
+ 'tracked_objects.cc',
+ 'values.cc',
+ 'watchdog.cc',
+ 'win_util.cc',
+ 'wmi_util.cc',
+ 'word_iterator.cc',
+ 'worker_pool.cc',
+]
+
+env.StaticLibrary('base', input_files)
+
+
+env_tests.Prepend(
+ CPPPATH = [
+ '$SKIA_DIR/include',
+ '$SKIA_DIR/include/corecg',
+ '$SKIA_DIR/platform',
+ '$ZLIB_DIR',
+ '$LIBPNG_DIR',
+ '$ICU38_DIR/public/common',
+ '$ICU38/_DIRpublic/i18n',
+ '..',
+ ],
+ CPPDEFINES = [
+ 'UNIT_TEST',
+ 'PNG_USER_CONFIG',
+ 'CHROME_PNG_WRITE_SUPPORT',
+ 'U_STATIC_IMPLEMENTATION',
+ '_WIN32_WINNT=0x0600',
+ 'WINVER=0x0600',
+ '_HAS_EXCEPTIONS=0',
+ 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
+ 'WIN32_LEAN_AND_MEAN',
+ ],
+ CCFLAGS = [
+ '/WX',
+ '/Wp64',
+ '/TP',
+
+ '/wd4503',
+ '/wd4819',
+ ],
+ LINKFLAGS = [
+ '/MANIFEST',
+ '/DELAYLOAD:"dwmapi.dll"',
+ '/DELAYLOAD:"uxtheme.dll"',
+ '/MACHINE:X86',
+ '/FIXED:No',
+
+ '/safeseh',
+ '/dynamicbase',
+ '/ignore:4199',
+ '/nxcompat',
+ ],
+ LIBS = [
+ 'advapi32.lib',
+ 'comdlg32.lib',
+ 'DelayImp.lib',
+ 'gdi32.lib',
+ 'kernel32.lib',
+ 'msimg32.lib',
+ 'odbc32.lib',
+ 'odbccp32.lib',
+ 'ole32.lib',
+ 'oleaut32.lib',
+ 'psapi.lib',
+ 'shell32.lib',
+ 'user32.lib',
+ 'usp10.lib',
+ 'uuid.lib',
+ 'version.lib',
+ 'wininet.lib',
+ 'winspool.lib',
+ 'ws2_32.lib',
+ ],
+)
+
+libs = [
+ 'base.lib',
+ 'gfx/base_gfx.lib',
+ '$SKIA_DIR/skia.lib',
+ '$LIBPNG_DIR/libpng.lib',
+ '$TESTING_DIR/gtest.lib',
+ '$ICU38_DIR/icuuc.lib',
+ '$ZLIB_DIR/zlib.lib',
+]
+
+env_tests.Append(
+ CPPPATH = [
+ '$GTEST_DIR/include',
+ ],
+)
+
+env_tests_dll = env_tests.Clone()
+env_tests_dll.Append(
+ CPPDEFINES = [
+ '_WINDLL',
+ 'SINGLETON_UNITTEST_EXPORTS',
+ ],
+)
+dll = env_tests_dll.SharedLibrary(['singleton_dll_unittest.dll',
+ 'singleton_dll_unittest.ilk',
+ 'singleton_dll_unittest.pdb'],
+ ['singleton_dll_unittest.cc',
+ 'build/singleton_dll_unittest.def'] + libs)
+i = env.Install('$TARGET_ROOT', dll[0])
+env.Alias('base', i)
+
+env_tests.Program(['debug_message.exe',
+ 'debug_message.ilk',
+ 'debug_message.pdb'],
+ ['debug_message.cc'] + libs)
+
+test_files = [
+ 'atomic_unittest.cc',
+ 'check_handler_unittest.cc',
+ 'clipboard_unittest.cc',
+ 'command_line_unittest.cc',
+ 'condition_variable_test.cc',
+ 'file_util_unittest.cc',
+ 'file_version_info_unittest.cc',
+ 'fixed_string_unittest.cc',
+ 'gfx/convolver_unittest.cc',
+ 'gfx/image_operations_unittest.cc',
+ 'gfx/native_theme_unittest.cc',
+ 'gfx/platform_canvas_unittest.cc',
+ 'gfx/png_codec_unittest.cc',
+ 'gfx/rect_unittest.cc',
+ 'gfx/uniscribe_unittest.cc',
+ 'gfx/vector_canvas_unittest.cc',
+ 'hmac_unittest.cc',
+ 'json_reader_unittest.cc',
+ 'json_writer_unittest.cc',
+ 'linked_ptr_unittest.cc',
+ 'message_loop_unittest.cc',
+ 'path_service_unittest.cc',
+ 'pe_image_unittest.cc',
+ 'pickle_unittest.cc',
+ 'pr_time_test.cc',
+ 'process_util_unittest.cc',
+ 'ref_counted_unittest.cc',
+ 'run_all_unittests.cc',
+ 'sha2_unittest.cc',
+ 'shared_event_unittest.cc',
+ 'shared_memory_unittest.cc',
+ 'singleton_unittest.cc',
+ 'stack_container_unittest.cc',
+ 'stats_table_unittest.cc',
+ 'string_tokenizer_unittest.cc',
+ 'string_util_unittest.cc',
+ 'thread_local_storage_unittest.cc',
+ 'thread_unittest.cc',
+ 'tracked_objects_test.cc',
+ 'time_unittest.cc',
+ 'timer_unittest.cc',
+ 'values_unittest.cc',
+ 'win_util_unittest.cc',
+ 'wmi_util_unittest.cc',
+
+ 'singleton_dll_unittest.lib',
+]
+
+base_unittests = env_tests.Program([
+ 'base_unittests',
+ 'base_unittests.exp',
+ 'base_unittests.ilk',
+ 'base_unittests.lib',
+ 'base_unittests.pdb'], test_files + libs)
+
+
+# Install up a level to allow unit test path assumptions to be valid.
+installed_base_unittests = env.Install('$TARGET_ROOT', base_unittests)
+
+
+sconscript_dirs = [
+ 'gfx/SConscript',
+]
+
+SConscript(sconscript_dirs, exports=['env'])
+
+
+# Setup alias for all base related targets.
+env.Alias('base', ['.', installed_base_unittests, '../icudt38.dll'])
+
+
+env_tests.StaticObject('perftimer.cc')
+env_tests.StaticObject('run_all_perftests.cc')