summaryrefslogtreecommitdiffstats
path: root/o3d/base/build.scons
diff options
context:
space:
mode:
Diffstat (limited to 'o3d/base/build.scons')
-rw-r--r--o3d/base/build.scons137
1 files changed, 137 insertions, 0 deletions
diff --git a/o3d/base/build.scons b/o3d/base/build.scons
new file mode 100644
index 0000000..499b56d
--- /dev/null
+++ b/o3d/base/build.scons
@@ -0,0 +1,137 @@
+# Copyright 2009, 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 socket
+import time
+
+Import('env')
+
+env.SConscript('icu38_o3d.scons', exports=['env'])
+env.ApplySConscript([
+ '$ICU38_DIR/using_icu38.scons',
+])
+
+chrome_base_inputs = [
+ 'at_exit',
+ 'base_paths',
+ 'base_switches',
+ 'command_line',
+ 'debug_util',
+ 'file_path',
+ 'file_util',
+ 'lock',
+ 'logging',
+ 'path_service',
+ 'string_piece',
+ 'string_util',
+ 'string_util_icu',
+ 'third_party/dmg_fp/dtoa',
+ 'third_party/dmg_fp/g_fmt',
+ 'third_party/nspr/prtime',
+ 'thread',
+]
+
+inputs = [
+]
+
+if env.Bit('windows'):
+ env.Append(CCFLAGS=['/FIstdlib.h'])
+ chrome_base_inputs += [
+ 'base_paths_win',
+ 'debug_util_win',
+ 'file_util_win',
+ 'lock_impl_win',
+ 'message_pump_win',
+ 'platform_thread_win',
+ 'process_util_win',
+ 'registry',
+ 'shared_memory_win',
+ 'sys_string_conversions_win',
+ 'system_monitor_win',
+ 'thread_local_storage_win',
+ 'thread_local_win',
+ 'time_win',
+ 'waitable_event_win',
+ 'win_util',
+ ]
+ # The following are cross-platform, but are not needed on linux or mac, and
+ # pull in more third-party dependencies (libevent) on those platforms, so
+ # they are not built on all platforms currently.
+ # TODO: get the dependencies straightened out.
+ chrome_base_inputs += [
+ 'cpu',
+ 'histogram',
+ 'lazy_instance',
+ 'message_loop',
+ 'message_pump_default',
+ 'ref_counted',
+ 'stats_table',
+ 'system_monitor',
+ 'thread_collision_warner',
+ 'time',
+ 'timer',
+ 'tracked',
+ 'tracked_objects',
+ ]
+
+chrome_base_inputs_posix = [
+ 'atomicops_internals_x86_gcc',
+ 'debug_util_posix',
+ 'file_util_posix',
+ 'lock_impl_posix',
+ 'platform_thread_posix',
+ 'string16',
+ 'thread_local_posix',
+ 'thread_local_storage_posix',
+]
+chrome_base_inputs_mm = []
+
+if env.Bit('linux'):
+ chrome_base_inputs += chrome_base_inputs_posix
+ chrome_base_inputs += [
+ 'base_paths_linux',
+ 'file_util_linux',
+ 'sys_string_conversions_linux',
+ ]
+
+if env.Bit('mac'):
+ chrome_base_inputs += chrome_base_inputs_posix
+ chrome_base_inputs_mm += [
+ 'base_paths_mac',
+ 'file_util_mac',
+ 'platform_thread_mac',
+ 'sys_string_conversions_mac',
+ ]
+
+inputs += env.MakeObjects(chrome_base_inputs, '$CHROME_SRC_DIR/base', 'cc')
+inputs += env.MakeObjects(chrome_base_inputs_mm, '$CHROME_SRC_DIR/base', 'mm')
+
+# Build a library called 'o3d_base' from the input sources.
+o3d_base_lib = env.ComponentLibrary('o3d_base', inputs)