summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/linux/unbundle/README
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 19:33:14 +0000
commit36d22d82aa202bb199967e9512281e9a53db42c9 (patch)
tree105e8c98ddea1c1e4784a60a5a6410fa416be2de /third_party/libwebrtc/build/linux/unbundle/README
parentInitial commit. (diff)
downloadfirefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz
firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip
Adding upstream version 115.7.0esr.upstream/115.7.0esrupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/libwebrtc/build/linux/unbundle/README')
-rw-r--r--third_party/libwebrtc/build/linux/unbundle/README57
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