We had a bug where we weren't setting the fontdata for missing glyphs to
NULL. This caused WebKit not to try to load other fonts when glyphs
were missing.
With that fixed, we can implement the code to find a font for a given
set of code points. This uses fontconfig as it has this information
already indexed.
This fixes css2.1/t0805-c5519-brdr-r-00-a.html
Review URL: http://codereview.chromium.org/13108
git-svn-id: http://src.chromium.org/svn/trunk/src/build@6328 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
$BUILD_TARGET_DIR, so it can be set to "Debug" or "Release' to
mimic Visual Studio, or whatever other subdirectory the user prefers.
Fix PROGRESS= on Linux so the messages go to /dev/tty.
Remove the now-unnecessary in-SCons support for --clobber.
Review URL: http://codereview.chromium.org/13087
git-svn-id: http://src.chromium.org/svn/trunk/src/build@6301 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Configurable CHROME_BUILD_TYPE command line or external environment
variable for selecting appropriate release_impl*.scons settings
(_checksenabled, _coverage, _dom_stats, _official, _purify).
* Configurable CHROMIUM_BUILD command line or external environment
variable for selecting appropriate chromium_build*.scons settings
(_google_chrome).
* Configurable /INCREMENTAL linking via command line or external
environment variable ($INCREMENTAL), through appropriate setting
of an internal $CHROMIUM_INCREMENTAL_FLAGS construction variable.
* Full link of release builds by default.
* Alphabetize *.scons files in the mac_env.FilterOut() list.
* Explicitly set _checksenabled.scons link flags.
Review URL: http://codereview.chromium.org/13039
git-svn-id: http://src.chromium.org/svn/trunk/src/build@6210 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Add third_party/purify/pure_api.c to the base\base_lib.scons sources.
* Support specification of CHROME_BUILD_TYPE (and CHROMIUM_BUILD
while we're here) either on the command line or as an
external environment variable.
* Fix syntax error in release_impl_purify.scons (previously unused).
* Add a central $CHROMIUM_CC_OPT_FLAGS variable (included in $CCFLAGS)
that can be used to set explicitly the optimization level without
having to worry about optimization flags being pulled in from other
settings files.
Review URL: http://codereview.chromium.org/11368
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5887 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
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: http://src.chromium.org/svn/trunk/src/build@5820 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
build\*.scons structure (mirroring build\*.vsprops files):
* Use env.ApplySConscript() instead of env.SConscript with a
hand-crafted dictionary defining 'env'.
* Move various CPPPATH, CCFLAGS, CPPDEFINES, LIBS and LIBPATH
definitions from build/SConscript.main and target-specific
*.scons files into the build\*.scons files that mirror the
existing build\*.vsprops hierarchy.
* Use the new build\{debug,release}.scons files to update the
windows_dbg and windows_opt construction environments.
* Mirror current support for CHROME_BUILD_TYPE and CHROMIUM_BUILD
external environment variables.
* Remove hard-coded /TP options.
* Massage $CXXFLAGS to remove $CCFLAGS, avoiding duplication of options
on command lines. Handle the ripple effect in $PCHCOM by adding
$CCFLAGS back to that command line.
* Delete hammer's default settings of {CC,LINK}FLAGS_{DEBUG,OPTIMIZED}
so they don't pollute our construction environments.
* Update chrome config to link against v8 for opt, v8_g for dbg.
* Get rid of fragile by-hand order of using_net.scons before other
using_*.scons files. We're now using --start-group and --end-group
on Linux to deal with dependency cycles in libraries.
Review URL: http://codereview.chromium.org/11478
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5741 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This allows the LayoutTest harness to run on Linux. Note that the tests still
don't run properly because Linux test_shell is missing the ability to read URLs
from stdin (causing the test_shell to just sit there waiting for input). I'll
add that in another CL.
BUG=4281
Review URL: http://codereview.chromium.org/10413
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5566 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
webkit\SConscript, as a place for calling renamed *.scons files.
Add 'webkit' and 'chrome' COMPONENT_PROGRAM_GROUPS and
COMPONENT_TEST_PROGRAM_GROUPS so the generated .exe files get
copied correctly into the Hammer\ build subdirectory.
Review URL: http://codereview.chromium.org/10768
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5518 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Rename SConscript to *.scons in the following directories:
third_party\{bspatch,bsdiff,lzma_dsk}
chrome\installer\{setup,mini_installer,util}
* Split mini_installer and installer_unittests into separate *.scons files.
* Add using_bspatch.scons and using_lzma_sdk.scons "properties" files,
modifying other *.scons files to use them as appropriate.
Review URL: http://codereview.chromium.org/10952
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5515 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
* Fix the grit tool so it works with Repository() directories (and
tap gspencer to upstream the changes).
* Fix the evaluation of $PRE_EVALUATE_DIRS, which was interfering
with sucking up the source files for listing in the .vcproj files.
* Set AlwaysBuild() on the project files so they're always
evaluated for up-to-dateness when 'all_solutions' is the target.
Review URL: http://codereview.chromium.org/10725
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5440 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Added a dummy media.cc file in order to produce media.lib so there are no
linker errors when building media_unittests.exe. Currently chrome_dll
does NOT depend on media so it will not be linked in, which is OK for now :)
Review URL: http://codereview.chromium.org/10683
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5389 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add march flag to builds. Our system compilers are assuming > i386 already, but
not all gcc installations will do this. Without an march flag, gcc assumes only
a 386 and then some atomic operations are compiled to undefined references
which break linking.
Review URL: http://codereview.chromium.org/10689
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5363 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
a variable called SYSTEM_LIBS, consisting of a comma-separated
list of system libraries. So far, bzip2, libpng, libjpeg,
libxml, libxslt, lzma_sdk, zlib, hunspell, sqlite, libevent are recognized.
BUG=4321
Review URL: http://codereview.chromium.org/10626
Patch from Fabien Tassin <fta@sofaraway.org>.
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5320 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
the number of CPUs. This at least allows the build to function
on unknown systems.
Remove a now-unnecessary addition of $V8_DIR to LIBPATH. The
v8 libraries now get installed in $LIBS_DIR like everyone else.
Review URL: http://codereview.chromium.org/10208
git-svn-id: http://src.chromium.org/svn/trunk/src/build@5007 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
in base, net and sandbox:
* Remove by-hand Install() and Alias() calls.
* Set $COMPONENT_PROGRAM_GROUPS and $COMPONENT_TEST_PROGRAM_GROUPS
(with in each foo\foo.scons file) so executables get added
automatically to the appropriate Alias.
* Set $TESTS_DIR and $STAGING_DIR so executables get linked
directly in their final resting place ($TARGET_ROOT).
Review URL: http://codereview.chromium.org/9188
git-svn-id: http://src.chromium.org/svn/trunk/src/build@4805 4ff67af0-8c30-449e-8e8b-ad334ec8d88c