[FFmpeg-devel] [RFC] New build system
Josh de Kock
josh at itanimul.li
Thu Jun 14 19:03:07 EEST 2018
Hi,
The current build system is a rather large, and complex monolithic build
system. The configure script takes a sizeable amount of time to execute,
making improving, and modifying it a pain. It is completely written
custom from scratch, while this may not sound terrible it definitely
makes maintaining it more difficult than it needs to be (there have been
23 emails, or about 5% of the ML volume, regarding configure since the
start of the month). As you all probably know, there are many issues
with building on Windows, some include the configure script taking
considerably longer than on other platforms. A new build system could
solve most of these issues if done correctly, as well as having other
added benefits.
As such, I'd like to propose adopting a new build system to FFmpeg,
namely Meson[1]. There has already been a fair amount of work (not by
me) put into this, producing something which builds a fully working
static configuration (configurable options are not implemented yet), on
Linux, Windows and macOS[2]. If you would like to try it out, it
currently requires Meson from master. VLC will also likely be switching
to Meson, which is another reason to consider it.
I remember JEEB and atomnuker potentially being interested in this, but
unsure if they still are.
What's working?
- Working Windows support
- Working Linux support
- Working macOS support
- Non-FATE tests
What's left to do?
- Assembler extensions (mmx etc..)
- Porting the FATE test suite
- Continue going over the configure script and importing various
bits of logic
- Exposing options, for now everything is automatically enabled
- Compatibility ./configure shell script
[1] https://github.com/mesonbuild/meson
[2] https://github.com/MathieuDuponchelle/FFmpeg
Any comments, and thoughts on a new build system would be much
appreciated including concerns regarding it.
--
Josh
More information about the ffmpeg-devel
mailing list