[Ffmpeg-devel] build systems

Måns Rullgård mru
Wed Sep 21 00:48:22 CEST 2005

Dave Dodge <dododge at dododge.net> writes:

> 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.

I can't but agree.

> Where autotools falls down (this is from an end-user viewpoint, not a
> maintainer viewpoint):
>   - 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.

Yes, those are indeed difficult to deal with.  GCC comes to mind as an

>   - I've seen build trees that insisted on re-running the configure
>     script every time you did a "make".  I consider this broken.

cdrecord.  The author is very proud of it.  I'll say no more.

>   - 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.

That's not libtool's fault as such.  Mozilla just is an
over-complicated heap of bloated C++ code.

>   - 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
>     from it.

Please, don't remind me.

M?ns Rullg?rd
mru at inprovide.com

More information about the ffmpeg-devel mailing list