diff options
author | evanm@google.com <evanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-12 22:42:01 +0000 |
---|---|---|
committer | evanm@google.com <evanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-12 22:42:01 +0000 |
commit | 1e7c684b86c74491f03ac0daa188b992a170003e (patch) | |
tree | 8ab6895c9ac7c2ecd8b0ecea53dfad7ea62028a1 /build | |
parent | f75b3353303c01d012392e407876dd0904330b6f (diff) | |
download | chromium_src-1e7c684b86c74491f03ac0daa188b992a170003e.zip chromium_src-1e7c684b86c74491f03ac0daa188b992a170003e.tar.gz chromium_src-1e7c684b86c74491f03ac0daa188b992a170003e.tar.bz2 |
Last changes to get Linux unit tests building:
Some minor SConscript changes. Removed the obsolete .linux file.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@758 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rw-r--r-- | build/SConscript.main.linux | 410 |
1 files changed, 0 insertions, 410 deletions
diff --git a/build/SConscript.main.linux b/build/SConscript.main.linux deleted file mode 100644 index a0c8f4d..0000000 --- a/build/SConscript.main.linux +++ /dev/null @@ -1,410 +0,0 @@ -# -*- mode: python -*- -# 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. - -# TODO(keunwoo): This file is a temporary shim while we debug problems -# with SConscript.main under Linux. We'll merge this back into -# SConscript.main someday. - -import os -import shutil -import sys - - - -env = Environment( - BUILD_TYPE = ARGUMENTS.get('BUILD_TYPE', 'Hammer'), - TARGET_ROOT = '#/$BUILD_TYPE', - OBJ_ROOT = '$TARGET_ROOT', - - LIBS_DIR = '#/$BUILD_TYPE/Libs', - - 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', - - PYTHON=sys.executable, - - LIBPATH = ['$LIBS_DIR'], - - # XXX linux-specific: - # Build 32-bit libraries/executables, debug info. - CCFLAGS='-m32 -g', - LINKFLAGS='-m32', - # TODO(linux): we should also compile with - # CCFLAGS='-Werror', but not yet. -) - - -def ChromeProgram(env, *args, **kw): - return env.Program(*args, **kw) -env.AddMethod(ChromeProgram, "ChromeProgram") - -def ChromeTestProgram(env, *args, **kw): - return env.Program(*args, **kw) -env.AddMethod(ChromeTestProgram, "ChromeTestProgram") - -def ChromeStaticLibrary(env, *args, **kw): - result = env.StaticLibrary(*args, **kw) - env.Install('$LIBS_DIR', result) - return result -env.AddMethod(ChromeStaticLibrary, "ChromeStaticLibrary") - -def ChromeSharedLibrary(env, *args, **kw): - return env.SharedLibrary(*args, **kw) -env.AddMethod(ChromeSharedLibrary, "ChromeSharedLibrary") - - -if env['PLATFORM'] == 'win32': - - msvs_env = Environment(tools=['msvc', 'mslink', 'msvs'])['ENV'] - - env.Replace( - CSCRIPT = 'c:\\Windows\\System32\\cscript', - - PLATFORMSDK_VISTA_REL = '../third_party/platformsdk_vista_6_0', - PLATFORMSDK_VISTA = '#/$PLATFORMSDK_VISTA_REL', - VISUAL_STUDIO = '/Program Files/Microsoft Visual Studio 8', - - CYGWIN_DIR = Dir('#../third_party/cygwin'), - CYGWIN_BIN_DIR = '$CYGWIN_DIR/bin', - - 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 = [ - '/nologo', - - '/Od', # no optimization - - '/RTC1', - '/MTd', # static link to crt, and debug version - '/Gy', - '/GR-', - - '/W3', - - '/Z7', - - '/errorReport:prompt', - - '/wd4503', - '/wd4819', - ], - - 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', - - 'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS', - 'WIN32_LEAN_AND_MEAN', - ], - - CPPPATH = [ - '$PLATFORMSDK_VISTA/files/Include', - '$PLATFORMSDK_VISTA/files/VC/INCLUDE', - '$VISUAL_STUDIO/VC/atlmfc/include', - ], - - LIBS = [ - 'advapi32.lib', - 'comdlg32.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', - - 'DelayImp.lib', - ], - - LINKFLAGS = [ - '/nologo', - '/DEBUG', - ], - ) - - env.Append( - LIBPATH = [ - '$PLATFORMSDK_VISTA/files/Lib', - '$PLATFORMSDK_VISTA/files/VC/LIB', - '$VISUAL_STUDIO/VC/atlmfc/lib', - ], - ) - - # TODO(sgk): remove once we upgrade to SCons 0.98.4 - for var in ['INCLUDE', 'LIB', 'PATH']: - msvs_env[var] = msvs_env[var].split('|', 1)[0] - env['ENV'][var] = env['ENV'][var].split('|', 1)[0] - - # 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'] - -elif env['PLATFORM'] == 'posix': - - env.Replace() - -else: - - print "Unsupported SCons $PLATFORM value %s" % repr(env['PLATFORM']) - Exit(1) - - -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) - -# 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: - # TODO(evanm): default load should be empty so we load all files, but for - # now let's only load the ones we know work. - load = ['base', 'testing', 'third_party'] - -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 - VERBOSE=1 Display full command lines -""" - -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) |