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

Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 11e020fcd65c415dc46d10ae9dbe6ba63600ee4c
diff --git a/zlib.scons b/zlib.scons
index a7dcb89..d37fafa 100644
--- a/zlib.scons
+++ b/zlib.scons
@@ -8,8 +8,16 @@
 
 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 = [