|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 18-Jun-2021 | - |
| SDL_image/ | H | 17-Jan-2021 | - | 89 | 71 |
| a52/ | H | 27-Jul-2020 | - | 2,131 | 1,903 |
| aom/ | H | 07-Jun-2021 | - | 169 | 148 |
| aribb24/ | H | 24-Nov-2017 | - | 64 | 50 |
| aribb25/ | H | 24-Nov-2017 | - | 31 | 23 |
| asdcplib/ | H | 12-Jan-2018 | - | 4,688 | 4,556 |
| ass/ | H | 13-Jan-2020 | - | 262 | 234 |
| bluray/ | H | 06-Apr-2021 | - | 109 | 89 |
| bpg/ | H | 24-Nov-2017 | - | 37 | 27 |
| breakpad/ | H | 16-Dec-2018 | - | 1,423 | 1,411 |
| caca/ | H | 17-Jan-2021 | - | 126 | 109 |
| cddb/ | H | 20-Mar-2021 | - | 194 | 167 |
| chromaprint/ | H | 17-Jan-2021 | - | 72 | 60 |
| crystalhd/ | H | 24-Nov-2017 | - | 25 | 17 |
| d3d11/ | H | 26-May-2021 | - | 849 | 745 |
| d3d9/ | H | 18-Jan-2021 | - | 507 | 474 |
| daala/ | H | 24-Nov-2017 | - | 35 | 28 |
| dav1d/ | H | 26-May-2021 | - | 30 | 21 |
| dca/ | H | 28-Mar-2020 | - | 36 | 28 |
| directx/ | H | 15-Jan-2019 | - | 28 | 20 |
| dshow/ | H | 15-Jan-2019 | - | 25 | 17 |
| dvbpsi/ | H | 16-Jul-2019 | - | 156 | 133 |
| dvdcss/ | H | 20-Apr-2021 | - | 26 | 18 |
| dvdnav/ | H | 20-Apr-2021 | - | 35 | 26 |
| dvdread/ | H | 18-Apr-2021 | - | 34 | 26 |
| dxvahd/ | H | 19-Mar-2020 | - | 453 | 391 |
| ebml/ | H | 20-Mar-2021 | - | 25 | 17 |
| faad2/ | H | 27-Jul-2020 | - | 140 | 118 |
| ffi/ | H | 24-Nov-2017 | - | 25 | 18 |
| ffmpeg/ | H | 09-Jun-2021 | - | 1,409 | 1,181 |
| flac/ | H | 27-Jul-2020 | - | 242 | 209 |
| fluid/ | H | 24-Nov-2017 | - | 88 | 73 |
| fluidlite/ | H | 17-Jan-2021 | - | 32 | 23 |
| fontconfig/ | H | 27-Jul-2020 | - | 296 | 258 |
| freetype2/ | H | 07-Jun-2021 | - | 34 | 25 |
| fribidi/ | H | 31-Mar-2020 | - | 70 | 59 |
| gcrypt/ | H | 24-Oct-2020 | - | 681 | 588 |
| gettext/ | H | 18-Jan-2021 | - | 203 | 170 |
| glew/ | H | 27-Jul-2020 | - | 141 | 126 |
| glib/ | H | 24-Nov-2017 | - | 28 | 20 |
| gme/ | H | 17-Jan-2021 | - | 70 | 55 |
| gmp/ | H | 24-Oct-2020 | - | 196 | 161 |
| gnutls/ | H | 26-May-2021 | - | 366 | 314 |
| goom/ | H | 27-Jul-2020 | - | 386 | 334 |
| gpg-error/ | H | 24-Oct-2020 | - | 350 | 303 |
| growl/ | H | 24-Oct-2020 | - | 252 | 220 |
| gsm/ | H | 24-Nov-2017 | - | 77 | 61 |
| harfbuzz/ | H | 10-Jun-2021 | - | 523 | 470 |
| iconv/ | H | 16-Feb-2019 | - | 1,704 | 1,683 |
| jack/ | H | 24-Nov-2017 | - | 58 | 44 |
| jpeg/ | H | 02-Dec-2018 | - | 38 | 28 |
| kate/ | H | 05-Jan-2018 | - | 32 | 23 |
| lame/ | H | 16-Jun-2021 | - | 130 | 113 |
| libarchive/ | H | 20-Mar-2021 | - | 754 | 679 |
| libdsm/ | H | 27-Jul-2020 | - | 40 | 30 |
| libmpeg2/ | H | 27-Jul-2020 | - | 441 | 423 |
| libplacebo/ | H | 27-Jul-2020 | - | 157 | 143 |
| libtasn1/ | H | 02-Dec-2018 | - | 39 | 26 |
| libxml2/ | H | 14-Mar-2018 | - | 160 | 137 |
| live555/ | H | 20-Mar-2021 | - | 662 | 588 |
| lua/ | H | 27-Jul-2020 | - | 379 | 327 |
| mad/ | H | 02-Dec-2018 | - | 1,279 | 1,090 |
| matroska/ | H | 20-Mar-2021 | - | 30 | 20 |
| mfx/ | H | 27-Jul-2020 | - | 81 | 67 |
| microdns/ | H | 27-Jul-2020 | - | 145 | 119 |
| modplug/ | H | 18-May-2020 | - | 83 | 68 |
| mpcdec/ | H | 17-Jan-2021 | - | 95 | 78 |
| mpg123/ | H | 16-Jun-2021 | - | 93 | 77 |
| mysofa/ | H | 17-Jan-2021 | - | 38 | 27 |
| ncurses/ | H | 24-Oct-2020 | - | 31 | 22 |
| nettle/ | H | 17-Jan-2021 | - | 74 | 60 |
| nfs/ | H | 20-Mar-2021 | - | 41 | 32 |
| ogg/ | H | 24-Nov-2017 | - | 101 | 86 |
| openjpeg/ | H | 17-Jan-2021 | - | 193 | 162 |
| opus/ | H | 16-Dec-2018 | - | 33 | 23 |
| orc/ | H | 24-Nov-2017 | - | 98 | 84 |
| png/ | H | 15-Feb-2020 | - | 78 | 62 |
| postproc/ | H | 17-Jan-2021 | - | 154 | 130 |
| projectM/ | H | 17-Jan-2021 | - | 407 | 353 |
| protobuf/ | H | 27-Jul-2020 | - | 62 | 49 |
| pthreads/ | H | 27-Jul-2020 | - | 259 | 222 |
| qt/ | H | 24-Oct-2020 | - | 1,746 | 1,574 |
| qtsvg/ | H | 27-Jul-2020 | - | 72 | 56 |
| regex/ | H | 24-Nov-2017 | - | 41 | 30 |
| samplerate/ | H | 24-Nov-2017 | - | 29 | 22 |
| schroedinger/ | H | 24-Nov-2017 | - | 53 | 37 |
| sdl/ | H | 05-Jan-2018 | - | 62 | 52 |
| shout/ | H | 27-Jul-2020 | - | 212 | 178 |
| sidplay2/ | H | 07-Apr-2020 | - | 239 | 213 |
| smb2/ | H | 20-Mar-2021 | - | 25 | 18 |
| soxr/ | H | 17-Jan-2021 | - | 243 | 210 |
| sparkle/ | H | 17-Jan-2021 | - | 30 | 22 |
| spatialaudio/ | H | 17-Jan-2021 | - | 30 | 20 |
| speex/ | H | 27-Jul-2020 | - | 39 | 30 |
| speexdsp/ | H | 27-Jul-2020 | - | 44 | 35 |
| sqlite/ | H | 24-Nov-2017 | - | 27 | 18 |
| srt/ | H | 17-Jan-2021 | - | 177 | 147 |
| ssh2/ | H | 24-Nov-2017 | - | 155 | 127 |
| taglib/ | H | 17-Jan-2021 | - | 200 | 167 |
| theora/ | H | 15-Feb-2020 | - | 108 | 93 |
| tiff/ | H | 17-May-2018 | - | 28 | 21 |
| tiger/ | H | 24-Nov-2017 | - | 73 | 55 |
| tremor/ | H | 24-Oct-2020 | - | 52 | 41 |
| twolame/ | H | 27-Jul-2020 | - | 32 | 24 |
| upnp/ | H | 27-Jul-2020 | - | 542 | 478 |
| vncclient/ | H | 21-Apr-2020 | - | 156 | 139 |
| vorbis/ | H | 27-Jul-2020 | - | 84 | 69 |
| vpx/ | H | 16-Jun-2021 | - | 358 | 323 |
| x264/ | H | 17-Jan-2021 | - | 125 | 104 |
| x265/ | H | 17-Jan-2021 | - | 80 | 67 |
| xau/ | H | 24-Nov-2017 | - | 27 | 18 |
| xcb/ | H | 24-Nov-2017 | - | 61 | 50 |
| xcb-proto/ | H | 24-Nov-2017 | - | 26 | 18 |
| xorg-macros/ | H | 24-Nov-2017 | - | 25 | 17 |
| xproto/ | H | 15-Feb-2020 | - | 27 | 18 |
| zlib/ | H | 24-Nov-2017 | - | 49 | 38 |
| zvbi/ | H | 16-Jun-2021 | - | 385 | 339 |
| README | H A D | 24-Nov-2017 | 3.6 KiB | 126 | 89 |
| change_prefix.sh | H A D | 24-Nov-2017 | 1.9 KiB | 63 | 32 |
| gen-meson-crossfile.py | H A D | 21-Apr-2020 | 1.7 KiB | 53 | 35 |
| get-arch.sh | H A D | 06-Jan-2018 | 401 | 33 | 29 |
| main.mak | H A D | 17-Jan-2021 | 17.1 KiB | 645 | 574 |
| pkg-static.sh | H A D | 24-Nov-2017 | 929 | 39 | 30 |
README
1Writing rules
2==============
3
4At the bare minimum, a package in contrib must provide two Makefile
5targets in src/foo/rules.mak:
6 - .foo to build and install the package, and
7 - .sum-foo to fetch or create a source tarball and verify it,
8where foo the package name.
9
10
11Tarball
12--------
13
14.sum-foo typically depends on a separate target that fetches the source
15code. In that case, .sum-foo needs only verify that the tarball
16is correct, e.g.:
17
18
19 $(TARBALLS)/libfoo-$(FOO_VERSION).tar.bz2:
20 $(call download,$(FOO_URL))
21
22 # This will use the default rule: check SHA-512
23 .sum-foo: libfoo-$(FOO_VERSION).tar.bz2
24
25NOTE: contrary to the previous VLC contribs, this system always uses
26a source tarball, even if the source code is downloaded from a VCS.
27This serves two purposes:
28 - offline builds (or behind a firewall),
29 - source code requirements compliance.
30
31
32Compilation
33------------
34
35Similarly, .foo typically depends on the source code directory. In this
36case, care must be taken that the directory name only exists if the
37source code is fully ready. Otherwise Makefile dependencies will break
38(this is not an issue for files, only directories).
39
40 libfoo: libfoo-$(FOO_VERSION).tar.bz2 .sum-foo
41 $(UNPACK) # to libfoo-$(FOO_VERSION)
42 ### apply patches here ###
43 # last command: make the target directory
44 $(MOVE)
45
46 .foo: libfoo
47 cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
48 cd $< && $(MAKE) install
49 touch $@
50
51Conditional builds
52-------------------
53
54As far as possible, build rules should determine automatically whether
55a package is useful (for VLC media player) or not. Useful packages
56should be listed in the PKGS special variable. See some examples:
57
58 # FFmpeg is always useful
59 PKGS += ffmpeg
60
61 # DirectX headers are useful only on Windows
62 ifdef HAVE_WIN32
63 PKGS += directx
64 endif
65
66 # x264 is only useful when stream output is enabled
67 ifdef BUILD_ENCODERS
68 PKGS += x264
69 endif
70
71If a package is a dependency of another package, but it is not a
72direct dependency of VLC, then it should NOT be added to PKGS. The
73build system will automatically build it via dependencies (see below).
74
75Some packages may be provided by the target system. This is especially
76common when building natively on Linux or BSD. When this situation is
77detected, the package name should be added to the PKGS_FOUND special
78variable. The build system will then skip building this package:
79
80 # Asks pkg-config if foo version 1.2.3 or later is present:
81 ifeq ($(call need_pkg,'foo >= 1.2.3'),)
82 PKGS_FOUND += foo
83 endif
84
85Note: The need_pkg function always return 1 during cross-compilation.
86This is a known bug.
87
88
89Dependencies
90-------------
91
92If package bar depends on package foo, the special DEPS_bar variable
93should be defined as follow:
94
95 DEPS_bar = foo $(DEPS_foo)
96
97Note that dependency resolution is unfortunately _not_ recursive.
98Therefore $(DEPS_foo) really should be specified explicitly as shown
99above. (In practice, this will not make any difference insofar as there
100are no pure second-level nested dependencies. For instance, libass
101depends on FontConfig, which depends on FreeType, but libass depends
102directly on FreeType anyway.)
103
104Also note that DEPS_bar is set "recursively" with =, rather than
105"immediately" with :=. This is so that $(DEPS_foo) is expanded
106correctly, even if DEPS_foo it is defined after DEPS_bar.
107
108Implementation note:
109
110 If you must know, the main.mak build hackery will automatically
111 emit a dependency from .bar onto .dep-foo:
112
113 .bar: .dep-foo
114
115 ...whereby .dep-foo will depend on .foo:
116
117 .dep-foo: .foo
118 touch $@
119
120 ...unless foo was detected in the target distribution:
121
122 .dep-foo:
123 touch $@
124
125 So you really only need to set DEPS_bar.
126