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
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to