[Ffmpeg-devel] build systems
Wed Sep 21 00:34:31 CEST 2005
On Tue, Sep 20, 2005 at 01:36:58PM +0100, M?ns Rullg?rd wrote:
> Attila Kinali said:
> > Then why hasn't anyone written a replacement yet?
> It would take time and effort.
Yes, consider that autoconf has been around for over a decade and has
accumulated a lot of knowledge about obscure systems most people
haven't even heard of. That's it's strength. It presents a common
front-end for configuration, which from a user standpoint is a
godsend. It makes scripted builds very simple.
...but then so does pretty much any configuration system that calls
itself "configure" and understands at least the --prefix and --help
options. From a user standpoint, as long as I see that I'm usually
happy. I do remember the days of having to hand-edit headers and
Makefiles in some unique way for every build tree; autotools made that
mostly go away, for which I am thankful.
Where autotools falls down (this is from an end-user viewpoint, not a
- Some projects have multiple configure scripts in subdirectories.
This is a pain because it takes so much longer to build and
experiment with configure settings. It also makes
hacking/overriding the configure script very complicated.
- I've seen build trees that insisted on re-running the configure
script every time you did a "make". I consider this broken.
- Libtool bloat. Example: a few years ago I compiled Mozilla. At
the time the final executable was around 16M in size. The
compilation however consumed 1.5 _gigabytes_ of disk space. For a
16M executable. This is completely absurd, and I believe libtool
or perhaps some specific way of using it is the cause.
- Libtool failures. Be VERY thankful that this is rare, because
debugging libtool output is ten thousand times worse than anything
you might find in a configure script or Makefile. If you've never
been face-to-face with this monster, be very glad; if you have
been, you're probably cursing at it under your breath as you read
this. My most recent encounter was in July, and I'm still sore
More information about the ffmpeg-devel