diff options
Diffstat (limited to 'o3d/base/build.scons')
-rw-r--r-- | o3d/base/build.scons | 137 |
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) |