chromium-src-build/linux/unbundle
phajdan.jr@chromium.org 05db126cc0 Linux: switch to using pkg-config for unbundled ICU
This was recommended by upstream ICU developer in https://ssl.icu-project.org/trac/ticket/6102
and should avoid issues with contaminated flags in icu-config.

BUG=none
R=thestig@chromium.org

Review URL: https://codereview.chromium.org/26723003

git-svn-id: http://src.chromium.org/svn/trunk/src/build@228979 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2013-10-16 21:32:10 +00:00
..
README Linux: add script to remove bundled libraries. 2013-08-21 20:17:42 +00:00
expat.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
ffmpeg.gyp Remove use_system_ffmpeg-related logic from media and other mainline gyp files. 2013-05-07 16:59:00 +00:00
flac.gyp Add build/linux/unbundle files for projects in separate repos. 2013-05-02 16:30:00 +00:00
harfbuzz.gyp Fix build with harfbuzz-0.9.18 2013-06-05 21:40:43 +00:00
icu.gyp Linux: switch to using pkg-config for unbundled ICU 2013-10-16 21:32:10 +00:00
jsoncpp.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libevent.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libjpeg.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libpng.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libusb.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libvpx.gyp Miscellaneous fixes for system libraries files: 2013-05-08 23:31:45 +00:00
libwebp.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libxml.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
libxslt.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
openssl.gyp Add an unbundled openssl.gyp file. 2013-08-13 21:16:21 +00:00
opus.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
re2.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
remove_bundled_libraries.py Linux: add script to remove bundled libraries. 2013-08-21 20:17:42 +00:00
replace_gyp_files.py Add an unbundled openssl.gyp file. 2013-08-13 21:16:21 +00:00
snappy.gyp Add support for system snappy. 2013-05-03 21:43:02 +00:00
speex.gyp Add build/linux/unbundle files for projects in separate repos. 2013-05-02 16:30:00 +00:00
sqlite.gyp Extract use_system_foo logic out of gyp files, patch 2 2013-04-26 00:20:29 +00:00
v8.gyp Fix build with system V8. 2013-07-26 00:38:14 +00:00
zlib.gyp Miscellaneous fixes for system libraries files: 2013-05-08 23:31:45 +00:00

README

This directory contains files that make it possible to use system libraries.

For more info please read the following:

 - https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
 - https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies
 - http://www.debian.org/doc/debian-policy/ch-source.html#s-embeddedfiles

For more Chromium-specific context please read
http://spot.livejournal.com/312320.html .

This directory is provided in the source tree to follow above guidelines.
It is a compromise solution which takes into account Chromium developers
who want to avoid the perceived burden of more conditional code in gyp,
and expectations of Open Source community, where using system-provided
libraries is the norm.

Usage:

1. remove_bundled_libraries.py <preserved-directories>

   For example: remove_bundled_libraries.py third_party/mesa

   The script scans sources looking for third_party directories.
   Everything that is not explicitly preserved is removed (except for
   gyp files), and the script fails if any directory passed on command
   line does not exist (to ensure list is kept up to date).

   This is intended to be used on sources extracted from a tarball,
   not a repository.

   NOTE: by default this will not remove anything (for safety). Pass
   --do-remove flag to actually remove files.

2. replace_gyp_files.py <gyp-flags>

   For example: replace_gyp_files.py -Duse_system_harfbuzz=1

   The script ignores flags other than -D for convenience. This makes it
   possible to have a variable e.g. ${myconf} with all the options, and
   execute:

   build/linux/unbundle/replace_gyp_files.py ${myconf}
   build/gyp_chromium ${myconf}