Index: build/linux/unbundle/README |
diff --git a/build/linux/unbundle/README b/build/linux/unbundle/README |
index 47336a1a330caa1ff6786eabb56df61a736425f7..6e4f0a95c9f9f42fbc156902b5936290f2390501 100644 |
--- a/build/linux/unbundle/README |
+++ b/build/linux/unbundle/README |
@@ -1,6 +1,11 @@ |
-This directory contains files that make it possible to use system libraries. |
+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 please read the following: |
+ |
+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 |
@@ -14,10 +19,13 @@ 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 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 build files, |
-and expectations of Open Source community, where using system-provided |
+ |
+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: |
@@ -28,15 +36,22 @@ Usage: |
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). |
+ 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 sources extracted from a tarball, |
- not a repository. |
+ 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 |
- --do-remove flag to actually remove files. |
+ 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 |