diff options
author | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-21 06:04:04 +0000 |
---|---|---|
committer | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-21 06:04:04 +0000 |
commit | 11e020fcd65c415dc46d10ae9dbe6ba63600ee4c (patch) | |
tree | cddd284203c70dc51f60da67b71b73ce7ec4aff8 /third_party | |
parent | 140d59c7cfa01e2d6a644091c29dcad9010c0e66 (diff) | |
download | chromium_src-11e020fcd65c415dc46d10ae9dbe6ba63600ee4c.zip chromium_src-11e020fcd65c415dc46d10ae9dbe6ba63600ee4c.tar.gz chromium_src-11e020fcd65c415dc46d10ae9dbe6ba63600ee4c.tar.bz2 |
Fix use of LOAD= with WantSystemLib() (we could blow up if a variable
hadn't been added to the config) and extend use of LOAD= into submodules:
* Add a ChromeLoadSConscriptModules() method that encapsulates the
conditional logic, and makes things more readable by specifying
component names as keyword arguments, not hard-coding the logic
as a series of if-tests.
* Put the ChromeLoadSConscriptModules() logic in a Tool module in
site_scons/site_tools, so it doesn't clutter up
build/SConscript.main directly.
* Move env.WantSystemLib() calls into the individual *.scons files,
so we call them each time (or not, based one LOAD=) and the config
itself just returns if the system library is requested and we
don't need to build anything locally.
* Move the settings where a library name changes based on whether or
not the system lib is being used into the using_*.scons files,
so they're available to clients independently of whether or not the
component's *.scons configuration is loaded.
* While here: rename the affected third_party SConscript files:
third_party/libjpeg/SConscript => third_party/libjpeg/libjpeg.scons
third_party/libxml/SConscript => third_party/libxml/libxml.scons
third_party/libxslt/SConscript => third_party/libxslt/libxslt.scons
* While here: move the Chrome{Program,SharedLibrary}() etc. builder
definitions from build/SConscript.main to a new too
Ad the ChromeLoadSConscriptModules() logic in a Tool module,
to remove more clutter from build/SConscript.main.
Review URL: http://codereview.chromium.org/11430
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5820 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r-- | third_party/bzip2/bzip2.scons | 15 | ||||
-rw-r--r-- | third_party/bzip2/using_bzip2.scons | 9 | ||||
-rw-r--r-- | third_party/libjpeg/libjpeg.scons (renamed from third_party/libjpeg/SConscript) | 3 | ||||
-rw-r--r-- | third_party/libpng/libpng.scons | 7 | ||||
-rw-r--r-- | third_party/libxml/libxml.scons (renamed from third_party/libxml/SConscript) | 6 | ||||
-rw-r--r-- | third_party/libxml/using_libxml.scons | 28 | ||||
-rw-r--r-- | third_party/libxslt/libxslt.scons (renamed from third_party/libxslt/SConscript) | 3 | ||||
-rw-r--r-- | third_party/lzma_sdk/lzma_sdk.scons | 3 | ||||
-rw-r--r-- | third_party/zlib/zlib.scons | 8 |
9 files changed, 42 insertions, 40 deletions
diff --git a/third_party/bzip2/bzip2.scons b/third_party/bzip2/bzip2.scons index f1ad082..6089ea1 100644 --- a/third_party/bzip2/bzip2.scons +++ b/third_party/bzip2/bzip2.scons @@ -8,8 +8,17 @@ Configuration for building bzip2.lib / libbzip2.a. Import('env') +if env.WantSystemLib('bzip2'): + Return() + env = env.Clone() +env.Append( + CPPDEFINES = [ + 'BZ_NO_STDIO', + ], +) + if env['PLATFORM'] == 'win32': env.Append( CCFLAGS = [ @@ -19,12 +28,6 @@ if env['PLATFORM'] == 'win32': ], ) -env.Append( - CPPDEFINES = [ - 'BZ_NO_STDIO', - ], -) - input_files = [ 'blocksort.c', 'bzlib.c', diff --git a/third_party/bzip2/using_bzip2.scons b/third_party/bzip2/using_bzip2.scons index b41bca2..cbe837c 100644 --- a/third_party/bzip2/using_bzip2.scons +++ b/third_party/bzip2/using_bzip2.scons @@ -8,8 +8,7 @@ Settings for other components using the bzip2 library. Import("env") -env.Append( - LIBS = [ - env['BZIP2_LIB'], - ], -) +if env.WantSystemLib('bzip2'): + env.Append(LIBS = ['bz2']) +else: + env.Append(LIBS = ['bzip2']) diff --git a/third_party/libjpeg/SConscript b/third_party/libjpeg/libjpeg.scons index 381d437..fdb2c2a 100644 --- a/third_party/libjpeg/SConscript +++ b/third_party/libjpeg/libjpeg.scons @@ -32,6 +32,9 @@ Import('env') env = env.Clone() +if env.WantSystemLib('libjpeg'): + Return() + env.Prepend( CPPPATH = [ '$CHROME_SRC_DIR', diff --git a/third_party/libpng/libpng.scons b/third_party/libpng/libpng.scons index 0f8bd89..01a932d 100644 --- a/third_party/libpng/libpng.scons +++ b/third_party/libpng/libpng.scons @@ -9,11 +9,14 @@ Configuration for building libpng.lib / libpng.a. Import('env') +if env.WantSystemLib('libpng'): + Return() + env = env.Clone() -env.SConscript([ +env.ApplySConscript([ '$ZLIB_DIR/using_zlib.scons', -], {'env':env}) +]) env.Prepend( CPPPATH = [ diff --git a/third_party/libxml/SConscript b/third_party/libxml/libxml.scons index f952a96..d403cd4 100644 --- a/third_party/libxml/SConscript +++ b/third_party/libxml/libxml.scons @@ -29,6 +29,9 @@ Import('env') +if env.WantSystemLib('libxml'): + Return() + env = env.Clone() env.Prepend( @@ -40,9 +43,6 @@ env.Prepend( 'DerivedSources/include', 'include', ], -) - -env.Append( CPPDEFINES = [ 'U_STATIC_IMPLEMENTATION', 'LIBXML_STATIC', diff --git a/third_party/libxml/using_libxml.scons b/third_party/libxml/using_libxml.scons index 4a5c1329..709520f 100644 --- a/third_party/libxml/using_libxml.scons +++ b/third_party/libxml/using_libxml.scons @@ -8,27 +8,10 @@ Settings for other components using the libxml library. Import("env") -env.Append( - CPPPATH = [ - '$LIBXML_DIR/include', - '$LIBXML_DIR/DerivedSources/include', - ], - CPPDEFINES = [ - 'LIBXML_STATIC', - ], - LIBS = [ - env['XML_LIB'], - ], -) -# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -__doc__ = """ -Settings for other components using the libxml library. -""" - -Import("env") +if env.WantSystemLib('libxml'): + env.Append(LIBS = ['xml2']) +else: + env.Append(LIBS = ['libxml']) env.Append( CPPPATH = [ @@ -38,7 +21,4 @@ env.Append( CPPDEFINES = [ 'LIBXML_STATIC', ], - LIBS = [ - env['XML_LIB'], - ], ) diff --git a/third_party/libxslt/SConscript b/third_party/libxslt/libxslt.scons index d28fb75..9a9ff71 100644 --- a/third_party/libxslt/SConscript +++ b/third_party/libxslt/libxslt.scons @@ -31,6 +31,9 @@ Import('env') env = env.Clone() +if env.WantSystemLib('libxslt'): + Return() + env.Prepend( CPPPATH = [ '$LIBXML_DIR/DerivedSources/include', diff --git a/third_party/lzma_sdk/lzma_sdk.scons b/third_party/lzma_sdk/lzma_sdk.scons index b76a2d22..86ea6aa 100644 --- a/third_party/lzma_sdk/lzma_sdk.scons +++ b/third_party/lzma_sdk/lzma_sdk.scons @@ -6,6 +6,9 @@ Import('env') env = env.Clone() +if env.WantSystemLib('lzma_sdk'): + Return() + env.Prepend( CPPPATH = [ '.', diff --git a/third_party/zlib/zlib.scons b/third_party/zlib/zlib.scons index a7dcb89..d37fafa 100644 --- a/third_party/zlib/zlib.scons +++ b/third_party/zlib/zlib.scons @@ -8,8 +8,16 @@ Configuration for building zlib.lib / libzlib.a. Import('env') +if env.WantSystemLib('zlib'): + env.Append(ZLIB_LIB = ['z']) + Return() + env = env.Clone() +env.Append( + ZLIB_LIB = ['zlib'], +) + if env['PLATFORM'] == 'win32': env.Append( CCFLAGS = [ |