• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1This directory contains files that make it possible to use system libraries.
2
3For more info please read the following:
4
5 - https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
6 - https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies
7 - http://www.debian.org/doc/debian-policy/ch-source.html#s-embeddedfiles
8
9For more Chromium-specific context please read
10http://spot.livejournal.com/312320.html .
11
12Additional resources which might provide even more context:
13
14  - http://events.linuxfoundation.org/sites/events/files/slides/LinuxCon%202014%20Slides_0.pdf
15  - https://lwn.net/Articles/619158/
16
17This directory is provided in the source tree to follow above guidelines.
18It is a compromise solution which takes into account Chromium developers
19who want to avoid the perceived burden of more conditional code in build files,
20and expectations of Open Source community, where using system-provided
21libraries is the norm.
22
23Usage:
24
251. remove_bundled_libraries.py <preserved-directories>
26
27   For example: remove_bundled_libraries.py third_party/mesa
28
29   The script scans sources looking for third_party directories.
30   Everything that is not explicitly preserved is removed (except for
31   gyp files), and the script fails if any directory passed on command
32   line does not exist (to ensure list is kept up to date).
33
34   This is intended to be used on sources extracted from a tarball,
35   not a repository.
36
37   NOTE: by default this will not remove anything (for safety). Pass
38   --do-remove flag to actually remove files.
39
402. Pick the script to run depending on whether you use GYP or GN:
41
422a. replace_gyp_files.py <gyp-flags>
43
44    For example: replace_gyp_files.py -Duse_system_harfbuzz=1
45
46    The script ignores flags other than -D for convenience. This makes it
47    possible to have a variable e.g. ${myconf} with all the options, and
48    execute:
49
50    build/linux/unbundle/replace_gyp_files.py ${myconf}
51    build/gyp_chromium ${myconf}
52
532b. replace_gn_files.py --system-libraries lib...
54
55    For example: replace_gn_files.py --system-libraries libxml
56