| Index: v8/build.scons
|
| ===================================================================
|
| --- v8/build.scons (revision 30708)
|
| +++ v8/build.scons (working copy)
|
| @@ -1,134 +0,0 @@
|
| -# 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 __builtin__
|
| -import os
|
| -import sys
|
| -import SCons.Script.SConsOptions
|
| -
|
| -Import('env')
|
| -
|
| -try:
|
| - _ = __builtin__.v8_built
|
| - Return()
|
| -except AttributeError:
|
| - __builtin__.v8_built = True
|
| -
|
| -
|
| -if env.Bit('windows'):
|
| - script_suffix = '.bat'
|
| -else:
|
| - script_suffix = '.sh'
|
| -
|
| -env = env.Clone(
|
| - V8_MODE = 'release',
|
| - V8_MODE_DIR = '$V8_SRC_DIR/obj/$V8_MODE',
|
| - V8_SCONS_COM = '$PYTHON $SCONS -C $V8_SRC_DIR -f SConstruct '
|
| - '$DEBUG_OPTS mode=$V8_MODE importenv=INCLUDE,LIB,CCFLAGS',
|
| - SCONS = '$SCONS_DIR/scons.py',
|
| - DEBUG_OPTS = ['--debug=%s' % item for item in GetOption('debug')]
|
| -)
|
| -
|
| -# Rather than build v8 with our own commands, we just shell out to v8's
|
| -# own SCons-based build, since their build system is complicated.
|
| -# This SConscript just declares dependencies on the outputs of that build.
|
| -
|
| -mksnapshot_exe = env.File('$V8_MODE_DIR/mksnapshot${PROGSUFFIX}')
|
| -libraries_obj = env.File('$V8_MODE_DIR/libraries${OBJSUFFIX}')
|
| -libraries_empty_obj = env.File('$V8_MODE_DIR/libraries-empty${OBJSUFFIX}')
|
| -snapshot_obj = env.File('$V8_MODE_DIR/snapshot${OBJSUFFIX}')
|
| -snapshot_empty_obj = env.File('$V8_MODE_DIR/snapshot-empty${OBJSUFFIX}')
|
| -v8_bin = env.File('$V8_SRC_DIR/shell${PROGSUFFIX}')
|
| -v8_lib = env.File('$V8_SRC_DIR/${LIBPREFIX}v8${LIBSUFFIX}'),
|
| -
|
| -v8_scons_targets_snapshot = [
|
| - libraries_empty_obj,
|
| - snapshot_obj,
|
| -]
|
| -
|
| -v8_scons_targets_no_snapshot = [
|
| - mksnapshot_exe,
|
| - libraries_obj,
|
| - snapshot_empty_obj,
|
| - v8_bin,
|
| - v8_lib,
|
| -]
|
| -
|
| -v8_env = env.Clone()
|
| -
|
| -if v8_env.Bit('windows'):
|
| - v8_env['ENV']['VSCOMNTOOLS'] = env.subst('$VC80_DIR/Common7/Tools')
|
| -
|
| - # SCons crashes if USERPROFILE isn't defined, and it's not defined
|
| - # on Vista for some reason, so this is to make the Vista build work.
|
| - try:
|
| - v8_env['ENV']['USERPROFILE'] = os.environ['USERPROFILE']
|
| - except KeyError:
|
| - v8_env['ENV']['USERPROFILE'] = ""
|
| -
|
| - include_path = ";".join(
|
| - [v8_env.subst("$PLATFORM_SDK_VISTA_6_0_DIR/Include"),
|
| - v8_env.subst("$INCLUDE")])
|
| -
|
| - try:
|
| - v8_env['ENV']['INCLUDE'] = include_path + ";" + v8_env['ENV']['INCLUDE']
|
| - except KeyError:
|
| - v8_env['ENV']['INCLUDE'] = include_path
|
| -
|
| - lib_path = ";".join(
|
| - [v8_env.subst("$PLATFORM_SDK_VISTA_6_0_DIR/Lib"),
|
| - v8_env.subst("$LIB")])
|
| -
|
| - try:
|
| - v8_env['ENV']['LIB'] = lib_path + ";" + v8_env['ENV']['LIB']
|
| - except KeyError:
|
| - v8_env['ENV']['LIB'] = lib_path
|
| -elif v8_env.Bit('linux'):
|
| - v8_env['ENV']['CCFLAGS'] = '-fvisibility=hidden'
|
| -
|
| -v8_no_snapshot = v8_env.Command(
|
| - v8_scons_targets_no_snapshot,
|
| - [],
|
| - ['$V8_SCONS_COM msvcltcg=off snapshot=off sample=shell'])
|
| -
|
| -v8_snapshot = v8_env.Command(
|
| - v8_scons_targets_snapshot,
|
| - [],
|
| - ['$V8_SCONS_COM msvcltcg=off snapshot=on'])
|
| -
|
| -v8_env.AlwaysBuild(v8_no_snapshot)
|
| -v8_env.AlwaysBuild(v8_snapshot)
|
| -
|
| -# Tell our SCons invocation to *not* delete v8.lib and the other targets
|
| -# before building them, so the subsidiary v8 SCons call doesn't always
|
| -# rebuild them (thereby causing us to always rebuild their dependents).
|
| -v8_env.Precious(v8_no_snapshot)
|
| -v8_env.Precious(v8_snapshot)
|
| -
|
| -v8_env.Install('$LIB_DIR', v8_lib)
|
|
|