|  | This directory contains files that make it possible for Linux | 
|  | distributions to build Chromium using system libraries and exclude the | 
|  | source code for Chromium's bundled copies of system libraries in a | 
|  | consistent manner. Nothing here is used in normal developer builds. | 
|  |  | 
|  |  | 
|  | For more info on the Linux distros' philosophy on bundling system | 
|  | libraries and why this exists, 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 . | 
|  |  | 
|  | Additional resources which might provide even more context: | 
|  |  | 
|  | - http://events.linuxfoundation.org/sites/events/files/slides/LinuxCon%202014%20Slides_0.pdf | 
|  | - https://lwn.net/Articles/619158/ | 
|  |  | 
|  |  | 
|  | This directory is provided in the source tree so one can follow the | 
|  | above guidelines without having to download additional tools and worry | 
|  | about having the right version of the tool. It is a compromise solution | 
|  | which takes into account Chromium developers who want to avoid the | 
|  | perceived burden of more conditional code in build files, 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/GN build 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 source code extracted from a tarball, | 
|  | not on a git repository. | 
|  |  | 
|  | NOTE: by default this will not remove anything (for safety). Pass | 
|  | the --do-remove flag to actually remove files. | 
|  |  | 
|  | 2. replace_gn_files.py --system-libraries lib... | 
|  |  | 
|  | This swaps out a normal library GN build file that is intended for | 
|  | use with a bundled library for a build file that is set up to use | 
|  | the system library. While some build files have use_system_libfoo | 
|  | build flags, using unbundled build files has the advantage that Linux | 
|  | distros can build Chromium without having to specify many additional | 
|  | build flags. | 
|  |  | 
|  | For example: replace_gn_files.py --system-libraries libxml |