summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-21 06:04:04 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-21 06:04:04 +0000
commit11e020fcd65c415dc46d10ae9dbe6ba63600ee4c (patch)
treecddd284203c70dc51f60da67b71b73ce7ec4aff8 /third_party
parent140d59c7cfa01e2d6a644091c29dcad9010c0e66 (diff)
downloadchromium_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.scons15
-rw-r--r--third_party/bzip2/using_bzip2.scons9
-rw-r--r--third_party/libjpeg/libjpeg.scons (renamed from third_party/libjpeg/SConscript)3
-rw-r--r--third_party/libpng/libpng.scons7
-rw-r--r--third_party/libxml/libxml.scons (renamed from third_party/libxml/SConscript)6
-rw-r--r--third_party/libxml/using_libxml.scons28
-rw-r--r--third_party/libxslt/libxslt.scons (renamed from third_party/libxslt/SConscript)3
-rw-r--r--third_party/lzma_sdk/lzma_sdk.scons3
-rw-r--r--third_party/zlib/zlib.scons8
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 = [