123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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
|