Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
..
README 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_algorithm.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_base.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_cleanup.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_container.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_debugging.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_flags.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_functional.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_hash.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_memory.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_meta.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_numeric.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_random.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_status.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_strings.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_synchronization.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_time.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
absl_types.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
brotli.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
crc32c.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
dav1d.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
double-conversion.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
ffmpeg.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
flac.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
fontconfig.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
freetype.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
harfbuzz-ng.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
icu.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
jsoncpp.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libXNVCtrl.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libaom.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libavif.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libdrm.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libevent.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libjpeg.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libjxl.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libpng.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libvpx.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libwebp.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libxml.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libxslt.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
libyuv.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
openh264.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
opus.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
re2.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
remove_bundled_libraries.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
replace_gn_files.py 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
snappy.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
swiftshader-SPIRV-Headers.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
swiftshader-SPIRV-Tools.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
vulkan-SPIRV-Headers.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
vulkan-SPIRV-Tools.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
woff2.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago
zlib.gn 4762b62e7d Publish DEPS for 106.0.5249.13 1 year ago

README

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

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