Add the build directory to the repository.
git-svn-id: http://src.chromium.org/svn/trunk/src/build@7 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
Коммит
a94d40f912
|
@ -0,0 +1,15 @@
|
|||
List of property sheets to be included by projects:
|
||||
common.vsprops
|
||||
Not used anymore. No-op. Kept for compatibility with current projects.
|
||||
|
||||
debug.vsprops
|
||||
Enables debug settings. Must be included directly in Debug configuration. Includes internal\essential.vsprops.
|
||||
|
||||
external_code.vsprops
|
||||
Contains settings made to simplify usage of external (non-Google) code. It relaxes the warning levels. Should be included after debug.vsprops or release.vsprops to override their settings.
|
||||
|
||||
output_dll_copy.rules
|
||||
Run to enable automatic copy of DLL when they are as an input file in a vcproj project.
|
||||
|
||||
release.vsprops
|
||||
Enables release settings. Must be included directly in Release configuration. Includes internal\essential.vsprops. Also includes "internal\release_impl$(CHROME_BUILD_TYPE).vsprops". So the behavior is dependant on the CHROME_BUILD_TYPE environment variable.
|
|
@ -0,0 +1,100 @@
|
|||
# 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.Prepend(
|
||||
CPPPATH = [
|
||||
'$ICU38_DIR/public/common',
|
||||
'$ICU38_DIR/public/i18n',
|
||||
'#/..',
|
||||
],
|
||||
)
|
||||
|
||||
env.Append(
|
||||
CPPDEFINES = [
|
||||
'U_STATIC_IMPLEMENTATION',
|
||||
'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
|
||||
'WIN32_LEAN_AND_MEAN',
|
||||
],
|
||||
|
||||
CCFLAGS = [
|
||||
'/TP',
|
||||
|
||||
'/Wp64',
|
||||
|
||||
'/wd4503',
|
||||
'/wd4819',
|
||||
],
|
||||
)
|
||||
|
||||
input_files = [
|
||||
'src/gurl.cc',
|
||||
'src/url_canon_etc.cc',
|
||||
'src/url_canon_fileurl.cc',
|
||||
'src/url_canon_host.cc',
|
||||
'src/url_canon_icu.cc',
|
||||
'src/url_canon_internal.cc',
|
||||
'src/url_canon_ip.cc',
|
||||
'src/url_canon_mailtourl.cc',
|
||||
'src/url_canon_path.cc',
|
||||
'src/url_canon_pathurl.cc',
|
||||
'src/url_canon_query.cc',
|
||||
'src/url_canon_relative.cc',
|
||||
'src/url_canon_stdurl.cc',
|
||||
'src/url_parse.cc',
|
||||
'src/url_parse_file.cc',
|
||||
'src/url_util.cc',
|
||||
]
|
||||
|
||||
env.StaticLibrary('googleurl', input_files)
|
||||
|
||||
|
||||
# Commented out for now because we can't build googleurl unit tests
|
||||
# with gtest. This will apparently be fixed some day...
|
||||
#
|
||||
#env_tests = env.Clone()
|
||||
#
|
||||
#env_tests.Append(
|
||||
# CPPPATH = [
|
||||
# '$GTEST_DIR/include',
|
||||
# ],
|
||||
#)
|
||||
#
|
||||
#test_files = [
|
||||
# 'src/gurl_unittest.cc',
|
||||
# 'src/url_canon_unittest.cc',
|
||||
# 'src/url_parse_unittest.cc',
|
||||
# 'src/url_util_unittest.cc',
|
||||
#]
|
||||
#
|
||||
#env_tests.StaticLibrary('googleurl_tests', test_files)
|
||||
|
|
@ -0,0 +1,334 @@
|
|||
# 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 os
|
||||
import shutil
|
||||
import sys
|
||||
|
||||
#TODO(rspangler): extra imports for testing
|
||||
#from SCons.Script.__init__ import *
|
||||
|
||||
|
||||
p = ARGUMENTS.get('PROGRESS')
|
||||
if p == 'spinner':
|
||||
Progress(['/\r', '|\r', '\\\r', '-\r'], interval=5, file=open('con', 'w'))
|
||||
elif p == 'name':
|
||||
Progress('$TARGET\r', overwrite=True, file=open('con', 'w'))
|
||||
|
||||
|
||||
SetOption('warn', ['no-missing-sconscript'] + GetOption('warn'))
|
||||
|
||||
processors = int(os.environ.get('NUMBER_OF_PROCESSORS', 1))
|
||||
SetOption('num_jobs', processors + 1)
|
||||
|
||||
|
||||
msvs_env = Environment(tools=['msvc', 'mslink', 'msvs'])['ENV']
|
||||
|
||||
|
||||
env = Environment(
|
||||
BUILD_TYPE = ARGUMENTS.get('BUILD_TYPE', 'Hammer'),
|
||||
TARGET_ROOT = '#/$BUILD_TYPE',
|
||||
OBJ_ROOT = '$TARGET_ROOT',
|
||||
|
||||
CSCRIPT = 'c:\\Windows\\System32\\cscript',
|
||||
|
||||
PLATFORMSDK_VISTA_REL = '../third_party/platformsdk_vista_6_0',
|
||||
PLATFORMSDK_VISTA = '#/$PLATFORMSDK_VISTA_REL',
|
||||
VISUAL_STUDIO = 'C:/Program Files/Microsoft Visual Studio 8',
|
||||
|
||||
BASE_DIR = '#/$BUILD_TYPE/base',
|
||||
BREAKPAD_DIR = '#/$BUILD_TYPE/breakpad',
|
||||
CHROME_DIR = '#/$BUILD_TYPE/chrome',
|
||||
GEARS_DIR = '#/$BUILD_TYPE/gears',
|
||||
GOOGLE_UPDATE_DIR = '#/$BUILD_TYPE/google_update',
|
||||
|
||||
# Work around a limitation (bug?) in SCons in that, when we build
|
||||
# from a different directory, it forces the build targets defined
|
||||
# the SConscript.googleurl file to be relative to that file (i.e.,
|
||||
# here in the build/ directory with us), not relative to the
|
||||
# the SConstruct directory from which SCons was launched. When
|
||||
# we roll forward to a version of SCons that fixes this, we'll
|
||||
# need to revert to the $BUILD_TYPE definition of GOOGLEURL_DIR.
|
||||
#GOOGLEURL_DIR = '#/$BUILD_TYPE/googleurl',
|
||||
GOOGLEURL_DIR = '#/../build/googleurl',
|
||||
|
||||
NET_DIR = '#/$BUILD_TYPE/net',
|
||||
RLZ_DIR = '#/$BUILD_TYPE/rlz',
|
||||
SANDBOX_DIR = '#/$BUILD_TYPE/sandbox',
|
||||
SKIA_DIR = '#/$BUILD_TYPE/skia',
|
||||
TESTING_DIR = '#/$BUILD_TYPE/testing',
|
||||
THIRD_PARTY_DIR = '#/$BUILD_TYPE/third_party',
|
||||
V8_DIR = '#/$BUILD_TYPE/v8',
|
||||
WEBKIT_DIR = '#/$BUILD_TYPE/webkit',
|
||||
|
||||
GTEST_DIR = '$TESTING_DIR/gtest',
|
||||
|
||||
BSDIFF_DIR = '$THIRD_PARTY_DIR/bsdiff',
|
||||
BSPATCH_DIR = '$THIRD_PARTY_DIR/bspatch',
|
||||
BZIP2_DIR = '$THIRD_PARTY_DIR/bzip2',
|
||||
ICU38_DIR = '$THIRD_PARTY_DIR/icu38',
|
||||
LIBJPEG_DIR = '$THIRD_PARTY_DIR/libjpeg',
|
||||
LIBPNG_DIR = '$THIRD_PARTY_DIR/libpng',
|
||||
LIBXML_DIR = '$THIRD_PARTY_DIR/libxml',
|
||||
LIBXSLT_DIR = '$THIRD_PARTY_DIR/libxslt',
|
||||
LZMA_SDK_DIR = '$THIRD_PARTY_DIR/lzma_sdk',
|
||||
MODP_B64_DIR = '$THIRD_PARTY_DIR/modp_b64',
|
||||
NPAPI_DIR = '$THIRD_PARTY_DIR/npapi',
|
||||
ZLIB_DIR = '$THIRD_PARTY_DIR/zlib',
|
||||
|
||||
THIRD_PARTY_WEBKIT_DIR = '$THIRD_PARTY_DIR/webkit',
|
||||
|
||||
CYGWIN_DIR = Dir('#../third_party/cygwin'),
|
||||
CYGWIN_BIN_DIR = '$CYGWIN_DIR/bin',
|
||||
|
||||
PYTHON=sys.executable,
|
||||
|
||||
PERL = '$CYGWIN_BIN_DIR/perl.exe',
|
||||
PERL_INCLUDE_FLAG = '-I ',
|
||||
PERL_INCLUDE_SUFFIX = '',
|
||||
_PERL_INCLUDE_FLAGS = ('${_concat(PERL_INCLUDE_FLAG, '
|
||||
'PERL_INCLUDE_PATH, '
|
||||
'PERL_INCLUDE_SUFFIX,'
|
||||
'__env__, RDirs, TARGET, SOURCE)}'),
|
||||
|
||||
MSVS_ENV = msvs_env,
|
||||
|
||||
YACC = '$CYGWIN_BIN_DIR/bison.exe',
|
||||
|
||||
ARFLAGS = [
|
||||
'/nologo',
|
||||
],
|
||||
|
||||
CCFLAGS = [
|
||||
'/Od', # no optimization
|
||||
|
||||
'/RTC1',
|
||||
'/MTd', # static link to crt, and debug version
|
||||
'/Gy',
|
||||
'/GR-',
|
||||
|
||||
'/W3',
|
||||
|
||||
'/Z7',
|
||||
|
||||
'/nologo',
|
||||
'/errorReport:prompt',
|
||||
],
|
||||
|
||||
CPPDEFINES = [
|
||||
'_CRT_SECURE_NO_DEPRECATE',
|
||||
'_CRT_NONSTDC_NO_WARNINGS',
|
||||
'_CRT_NONSTDC_NO_DEPRECATE',
|
||||
'_SCL_SECURE_NO_DEPRECATE',
|
||||
|
||||
'_DEBUG',
|
||||
|
||||
'_CRT_RAND_S',
|
||||
('_WIN32_WINNT', '0x0600'),
|
||||
('WINVER', '0x0600'),
|
||||
'WIN32',
|
||||
'_WINDOWS',
|
||||
('_HAS_EXCEPTIONS', 0),
|
||||
'NOMINMAX',
|
||||
'_UNICODE',
|
||||
'UNICODE',
|
||||
],
|
||||
|
||||
CPPPATH = [
|
||||
'$PLATFORMSDK_VISTA/files/Include',
|
||||
'$PLATFORMSDK_VISTA/files/VC/INCLUDE',
|
||||
'$VISUAL_STUDIO/VC/atlmfc/include',
|
||||
],
|
||||
|
||||
LIBPATH = [
|
||||
'$PLATFORMSDK_VISTA/files/Lib',
|
||||
'$PLATFORMSDK_VISTA/files/VC/LIB',
|
||||
'c:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/lib',
|
||||
],
|
||||
|
||||
LINKFLAGS = [
|
||||
'/DEBUG',
|
||||
],
|
||||
)
|
||||
|
||||
if ARGUMENTS.get('VERBOSE') in (None, '0'):
|
||||
env['CCCOMSTR'] = 'Compiling $TARGET ...'
|
||||
env['CXXCOMSTR'] = 'Compiling $TARGET ...'
|
||||
env['ARCOMSTR'] = 'Archiving $TARGET ...'
|
||||
env['LINKCOMSTR'] = 'Linking $TARGET ...'
|
||||
|
||||
|
||||
# Place the .sconsign.dblite in the build directory.
|
||||
target_dir = env.Dir('$TARGET_ROOT')
|
||||
if not os.path.exists(target_dir.abspath):
|
||||
Execute(Mkdir(target_dir))
|
||||
SConsignFile(target_dir.File('.sconsign').abspath)
|
||||
|
||||
|
||||
# Add --clobber (for the buildbot).
|
||||
# NOTE: seems to be crucial to do this before any builders are invoked.
|
||||
AddOption('--clobber', action='store_true', dest='clobber', default=False,
|
||||
help='Delete build directory before building.')
|
||||
if GetOption('clobber'):
|
||||
shutil.rmtree(env.Dir('$TARGET_ROOT').abspath, True)
|
||||
|
||||
|
||||
# Force scons to handle long include lines correctly.
|
||||
pchcom_fixed = env['PCHCOM']
|
||||
pchcom_fixed = pchcom_fixed.replace('${TARGETS[0]}', '$TARGET')
|
||||
pchcom_fixed = pchcom_fixed.replace('${TARGETS[1]}', '$TARGETS1')
|
||||
env.Replace(
|
||||
CCCOM = "${TEMPFILE('%s')}" % env['CCCOM'],
|
||||
CXXCOM = "${TEMPFILE('%s')}" % env['CXXCOM'],
|
||||
SHCCCOM = "${TEMPFILE('%s')}" % env['SHCCCOM'],
|
||||
SHCXXCOM = "${TEMPFILE('%s')}" % env['SHCXXCOM'],
|
||||
PCHCOM = "${TEMPFILE('%s')}" % pchcom_fixed,
|
||||
TARGETS1 = '${TARGETS[1]}',
|
||||
)
|
||||
|
||||
env['ENV']['PROGRAMFILES'] = os.environ['PROGRAMFILES']
|
||||
env['ENV']['SystemDrive'] = os.environ['SystemDrive']
|
||||
env['ENV']['USERPROFILE'] = os.environ['USERPROFILE']
|
||||
|
||||
# Use timestamps change, followed by MD5 for speed
|
||||
env.Decider('MD5-timestamp')
|
||||
|
||||
# Overlay things from a layer below.
|
||||
env.Dir('$TARGET_ROOT').addRepository(Dir('..'))
|
||||
|
||||
|
||||
load = ARGUMENTS.get('LOAD')
|
||||
if load:
|
||||
load = load.split(',')
|
||||
else:
|
||||
load = []
|
||||
|
||||
included = [c for c in load if not c.startswith('-')]
|
||||
excluded = [c[1:] for c in load if c.startswith('-')]
|
||||
if not included:
|
||||
included = ['all']
|
||||
|
||||
components = ['all']
|
||||
|
||||
def LoadComponent(c):
|
||||
components.append(c)
|
||||
return (not GetOption('help') and
|
||||
c in included or
|
||||
('all' in included and not c in excluded))
|
||||
|
||||
sconscripts = []
|
||||
|
||||
if LoadComponent('base'):
|
||||
sconscripts.append('$BASE_DIR/SConscript')
|
||||
|
||||
if LoadComponent('breakpad'):
|
||||
sconscripts.append('$BREAKPAD_DIR/SConscript')
|
||||
|
||||
if LoadComponent('chrome'):
|
||||
sconscripts.append('$CHROME_DIR/SConscript')
|
||||
|
||||
if LoadComponent('google_update'):
|
||||
sconscripts.append('$GOOGLE_UPDATE_DIR/SConscript')
|
||||
|
||||
if LoadComponent('googleurl'):
|
||||
env.SConscript('SConscript.googleurl',
|
||||
duplicate=0,
|
||||
variant_dir='$GOOGLEURL_DIR',
|
||||
src_dir='../googleurl',
|
||||
exports=['env'])
|
||||
|
||||
if LoadComponent('net'):
|
||||
sconscripts.append('$NET_DIR/SConscript')
|
||||
|
||||
if LoadComponent('rlz'):
|
||||
sconscripts.append('$RLZ_DIR/SConscript')
|
||||
|
||||
if LoadComponent('sandbox'):
|
||||
sconscripts.append('$SANDBOX_DIR/src/SConscript')
|
||||
|
||||
if LoadComponent('skia'):
|
||||
sconscripts.append('$SKIA_DIR/SConscript')
|
||||
|
||||
if LoadComponent('testing'):
|
||||
sconscripts.append('$TESTING_DIR/SConscript.gtest')
|
||||
|
||||
if LoadComponent('third_party'):
|
||||
sconscripts.extend([
|
||||
'$BSDIFF_DIR/SConscript',
|
||||
'$BSPATCH_DIR/SConscript',
|
||||
'$BZIP2_DIR/SConscript',
|
||||
'$ICU38_DIR/SConscript',
|
||||
'$LIBJPEG_DIR/SConscript',
|
||||
'$LIBPNG_DIR/SConscript',
|
||||
'$LIBXML_DIR/SConscript',
|
||||
'$LIBXSLT_DIR/SConscript',
|
||||
'$LZMA_SDK_DIR/SConscript',
|
||||
'$MODP_B64_DIR/SConscript',
|
||||
'$ZLIB_DIR/SConscript',
|
||||
])
|
||||
|
||||
if LoadComponent('v8') and env.Dir('#/../v8').exists():
|
||||
env.SConscript('SConscript.v8',
|
||||
exports=['env'])
|
||||
|
||||
if LoadComponent('webkit'):
|
||||
sconscripts.append('$WEBKIT_DIR/SConscript')
|
||||
|
||||
env.SConscript(sconscripts, exports=['env'])
|
||||
|
||||
|
||||
help_fmt = """
|
||||
Usage: hammer [SCONS_OPTIONS] [VARIABLES] [TARGET] ...
|
||||
|
||||
Supported build variables:
|
||||
|
||||
BUILD_TYPE=type Build type. Also used as the subdirectory name
|
||||
in which the build occurs.
|
||||
LOAD=[module,...] Comma-separated list of components to load in the
|
||||
dependency graph ('-' prefix excludes):
|
||||
%s
|
||||
PROGRESS=type Display a progress indicator:
|
||||
name: print each evaluated target name
|
||||
spinner: print a spinner every 5 targets
|
||||
"""
|
||||
|
||||
if GetOption('help'):
|
||||
import textwrap
|
||||
tw = textwrap.TextWrapper(
|
||||
width = 78,
|
||||
initial_indent = ' '*32,
|
||||
subsequent_indent = ' '*32,
|
||||
)
|
||||
components = tw.fill(', '.join(components))
|
||||
|
||||
Help(help_fmt % components)
|
||||
|
||||
|
||||
Import('build_component')
|
||||
Default(build_component)
|
|
@ -0,0 +1,78 @@
|
|||
# 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()
|
||||
|
||||
# Grungy environment hackery to satisfy the Visual Studio that we're
|
||||
# going to execute.
|
||||
import os
|
||||
env['ENV'] = os.environ.copy()
|
||||
|
||||
env.AppendENVPath('INCLUDE', env['MSVS_ENV']['INCLUDE'])
|
||||
env.AppendENVPath('LIB', env['MSVS_ENV']['LIB'])
|
||||
env.AppendENVPath('PATH', env['MSVS_ENV']['PATH'])
|
||||
|
||||
|
||||
mksnapshot_exe = File('#/../v8/bin/debug/mksnapshot.exe')
|
||||
v8_exe = File('#/../v8/Debug/v8_shell.exe')
|
||||
|
||||
v8_scons_targets = [
|
||||
mksnapshot_exe,
|
||||
File('#/../v8/bin/debug/v8.lib'),
|
||||
File('#/../v8/bin/debug/snapshot-empty.obj'),
|
||||
File('#/../v8/vc80.pdb')
|
||||
]
|
||||
|
||||
v8 = env.Command(v8_scons_targets,
|
||||
[],
|
||||
'cd ..\\v8 && $PYTHON $SCONS $SCONSFLAGS ${TARGETS[:-1]}',
|
||||
SCONS='..\\third_party\\scons-0.98.3\\scons.py',
|
||||
SCONSFLAGS='-Q --warn=no-deprecated')
|
||||
env.AlwaysBuild(v8)
|
||||
env.Install('$V8_DIR', v8)
|
||||
|
||||
i = env.Install('$TARGET_ROOT', mksnapshot_exe)
|
||||
env.Alias('webkit', i)
|
||||
|
||||
|
||||
v8_shell = env.Command(v8_exe,
|
||||
[],
|
||||
'cd ..\\v8 && devenv /nologo v8.sln /build Debug v8_shell')
|
||||
env.AlwaysBuild(v8_shell)
|
||||
|
||||
i = env.Install('$TARGET_ROOT', v8_exe)
|
||||
env.Alias('chrome', i)
|
||||
|
||||
# By default, SCons deletes the target before invoking the command.
|
||||
# Tell SCons to *not* delete v8.lib and the other targets so the
|
||||
# subsidiary v8 SCons call doesn't always rebuild it (thereby causing
|
||||
# us to always rebuild things that use it).
|
||||
env.Precious(v8 + v8_shell)
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="common (no-op)"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="debug"
|
||||
InheritedPropertySheets=".\internal\essential.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="external_code"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE"
|
||||
WarnAsError="false"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DisableSpecificWarnings="4800"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,24 @@
|
|||
Internal property sheets:
|
||||
essential.vsprops
|
||||
Contains the common settings used throughout the projects. Is included by either ..\debug.vsprops or ..\release.vsprops, so in general, it is not included directly.
|
||||
|
||||
release_defaults.vsprops
|
||||
Included by ..\release.vsprops. Its settings are overriden by release_impl$(CHROME_BUILD_TYPE).vsprops. Uses the default VS setting which is "Maximize Speed". Results in relatively fast build with reasonable optimization level but without whole program optimization to reduce build time.
|
||||
|
||||
release_impl.vsprops
|
||||
Included by ..\release.vsprops by default when CHROME_BUILD_TYPE is undefined. Includes release_defaults.vsprops.
|
||||
|
||||
release_impl_checksenabled.vsprops
|
||||
Included by ..\release.vsprops when CHROME_BUILD_TYPE=_checksenabled. Matches what release_defaults.vsprops does, but doesn't actually inherit from it as we couldn't quite get that working. The only difference is that _DEBUG is set instead of NDEBUG. Used for keeping debug checks enabled with a build that is fast enough to dogfood with.
|
||||
|
||||
release_impl_official.vsprops
|
||||
Included by ..\release.vsprops when CHROME_BUILD_TYPE=_official. Includes release_defaults.vsprops. Enables Whole Program Optimizations (WPO), which doubles the build time. Results in much more optimized build. Uses "Full Optimization" and "Flavor small code".
|
||||
|
||||
release_impl_pgo_instrument.vsprops
|
||||
Included by ..\release.vsprops when CHROME_BUILD_TYPE=_pgo_instrument. Includes release_defaults.vsprops. Enables Profile Guided Optimization (PGO) instrumentation (first pass). Uses "Full Optimization" and "Flavor small code".
|
||||
|
||||
release_impl_pgo_optimize.vsprops
|
||||
Included by ..\release.vsprops when CHROME_BUILD_TYPE=_pgo_optimize. Includes release_defaults.vsprops. Enables Profile Guided Optimization (PGO) optimization (second pass). Uses "Full Optimization" and "Flavor small code".
|
||||
|
||||
release_impl_purify.vsprops
|
||||
Included by ..\release.vsprops when CHROME_BUILD_TYPE=_purify. Includes release_defaults.vsprops. Disables optimizations. Used with Purify to test without debug tools and without optimization; i.e. NDEBUG is defined but the compiler doesn't optimize the binary.
|
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="essential"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)$(ConfigurationName)\obj\$(ProjectName)"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalIncludeDirectories="$(SolutionDir)..;$(SDKIncludes)"
|
||||
PreprocessorDefinitions="_WIN32_WINNT=0x0600;WINVER=0x0600;WIN32;_WINDOWS;_HAS_EXCEPTIONS=0;NOMINMAX;_CRT_RAND_S;CERT_CHAIN_PARA_HAS_EXTRA_FIELDS;WIN32_LEAN_AND_MEAN"
|
||||
MinimalRebuild="false"
|
||||
ExceptionHandling="0"
|
||||
RuntimeTypeInfo="false"
|
||||
WarningLevel="3"
|
||||
WarnAsError="true"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
DisableSpecificWarnings="4503; 4819"
|
||||
BufferSecurityCheck="true"
|
||||
EnableFunctionLevelLinking="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)\lib\$(ProjectName).lib"
|
||||
AdditionalLibraryDirectories="$(SDKLibs)"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalLibraryDirectories="$(SDKLibs)"
|
||||
GenerateDebugInformation="true"
|
||||
MapFileName="$(OutDir)\$(TargetName).map"
|
||||
ImportLibrary="$(OutDir)\lib\$(TargetName).lib"
|
||||
TargetMachine="1"
|
||||
FixedBaseAddress="1"
|
||||
AdditionalOptions="/safeseh /dynamicbase /ignore:4199 /nxcompat"
|
||||
AdditionalDependencies="wininet.lib version.lib msimg32.lib ws2_32.lib usp10.lib psapi.lib"
|
||||
DelayLoadDLLs="dwmapi.dll,uxtheme.dll"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
GenerateStublessProxies="true"
|
||||
TypeLibraryName="$(InputName).tlb"
|
||||
OutputDirectory="$(IntDir)"
|
||||
HeaderFileName="$(InputName).h"
|
||||
DLLDataFileName="dlldata.c"
|
||||
InterfaceIdentifierFileName="$(InputName)_i.c"
|
||||
ProxyFileName="$(InputName)_p.c"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
Culture="1033"
|
||||
AdditionalIncludeDirectories="$(SolutionDir).."
|
||||
/>
|
||||
<UserMacro
|
||||
Name="SDK"
|
||||
Value="$(SolutionDir)..\third_party\platformsdk_vista_6_0\files"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="SDKIncludes"
|
||||
Value="$(SDK)\Include;$(SDK)\VC\INCLUDE;$(VSInstallDir)\VC\atlmfc\include"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="SDKLibs"
|
||||
Value="$(SDK)\Lib;$(SDK)\VC\LIB"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="DefaultOutputDirectory"
|
||||
Value="$(SolutionDir)$(ConfigurationName)"
|
||||
/>
|
||||
<UserMacro
|
||||
Name="DefaultIntermediateDirectory"
|
||||
Value="$(SolutionDir)$(ConfigurationName)\obj\$(ProjectName)"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release"
|
||||
InheritedPropertySheets=".\essential.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
StringPooling="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
OptimizeForWindows98="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl"
|
||||
InheritedPropertySheets=".\release_defaults.vsprops"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl_checksenabled"
|
||||
InheritedPropertySheets=".\essential.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_HAS_ITERATOR_DEBUGGING=0;_SECURE_SCL=0"
|
||||
RuntimeLibrary="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
OptimizeReferences="2"
|
||||
OptimizeForWindows98="1"
|
||||
EnableCOMDATFolding="2"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="_DEBUG;_HAS_ITERATOR_DEBUGGING=0;_SECURE_SCL=0"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,23 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl_dom_stats"
|
||||
InheritedPropertySheets=".\essential.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;ENABLE_DOM_STATS_COUNTERS"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
OptimizeReferences="2"
|
||||
OptimizeForWindows98="1"
|
||||
EnableCOMDATFolding="2"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
PreprocessorDefinitions="NDEBUG;ENABLE_DOM_STATS_COUNTERS"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl_official"
|
||||
InheritedPropertySheets=".\release_defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalOptions="/ltcg"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkTimeCodeGeneration="1"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,32 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl_pgo_instrument"
|
||||
OutputDirectory="$(DefaultOutputDirectory)_pgo"
|
||||
IntermediateDirectory="$(DefaultOutputDirectory)_pgo\obj\$(ProjectName)"
|
||||
InheritedPropertySheets=".\release_defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalOptions="/ltcg"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkTimeCodeGeneration="2"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
CommandLine="xcopy /D /Y "$(DevEnvDir)..\..\VC\bin\pgort80.dll" "$(OutDir)""
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl_pgo_optimize"
|
||||
OutputDirectory="$(DefaultOutputDirectory)_pgo"
|
||||
IntermediateDirectory="$(DefaultOutputDirectory)_pgo\obj\$(ProjectName)"
|
||||
InheritedPropertySheets=".\release_defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="3"
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
FavorSizeOrSpeed="2"
|
||||
OmitFramePointers="true"
|
||||
EnableFiberSafeOptimizations="true"
|
||||
WholeProgramOptimization="true"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
AdditionalOptions="/ltcg"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkTimeCodeGeneration="3"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release_impl_purify"
|
||||
InheritedPropertySheets=".\release_defaults.vsprops"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="PURIFY"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="false"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
EnableCOMDATFolding="1"
|
||||
/>
|
||||
</VisualStudioPropertySheet>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VisualStudioToolFile
|
||||
Name="Output DLL copy"
|
||||
Version="8.00"
|
||||
>
|
||||
<Rules>
|
||||
<CustomBuildRule
|
||||
Name="Output DLL copy"
|
||||
CommandLine="xcopy /R /C /Y $(InputPath) $(OutDir)"
|
||||
Outputs="$(OutDir)\$(InputFileName)"
|
||||
FileExtensions="*.dll"
|
||||
>
|
||||
<Properties>
|
||||
</Properties>
|
||||
</CustomBuildRule>
|
||||
</Rules>
|
||||
</VisualStudioToolFile>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioPropertySheet
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="release"
|
||||
InheritedPropertySheets="internal\release_impl$(CHROME_BUILD_TYPE).vsprops"
|
||||
>
|
||||
</VisualStudioPropertySheet>
|
Загрузка…
Ссылка в новой задаче