diff options
Diffstat (limited to 'third_party/libwebrtc/build/linux/unbundle/README')
-rw-r--r-- | third_party/libwebrtc/build/linux/unbundle/README | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/linux/unbundle/README b/third_party/libwebrtc/build/linux/unbundle/README new file mode 100644 index 0000000000..b6b6321b38 --- /dev/null +++ b/third_party/libwebrtc/build/linux/unbundle/README @@ -0,0 +1,57 @@ +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/zlib + + 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 |