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