Re: build systems



On 10/11/2007, Rob Taylor <rob taylor codethink co uk> wrote:
Hubert Figuiere wrote:
> On Fri, 2007-11-09 at 15:40 +0100, Dave Neary wrote:
>> That said, there is one concern which trumps all others when choosing
>> a
>> build system: how easy is it for someone with a plain vanilla
>> distribution to compile & install your software? ./configure && make
>> &&
>> make install is about as hard as it can be. any harder, and your
>> barrier
>> to entry is too high. That includes "cd build; cmake ..; make; make
>> install;" (at least until it becomes ubiquitous). How does toc2 fare
>> on
>> this level? autoconf/automake are hard for the software developer,
>> because the goal is to make it easy for the software builder. The
>> trade-off pays off in community size, testers, developers and
>> translators down the line.
>
> And in that casse, the requirement for autotools based is very low: only
> shell and the compiler + dependencies for said program (no need for the
> autotools if you just want to build). While for CMake based build, you
> need CMake to be installed first.

<snip>

I don't have much to add to this thread (I like autotools, but its like
git or vim/emacs - love only after much pain..) But the low dependency
of autotool's generated output is very important, and a lot of the
reason that it looks the way it looks. To build a package that's using
autotools all you need is any bourne(ish) shell and any flavour of make.

Totally wrong. I dare you build anything with a barebones linux install with only a shell and make. You need:

 * A C compiler
 * Tons and tones of -dev packages
 * If you want to compile a fresh SVN/CVS checkout you need libtool/intltool/*tool/auto*/m4/<blah-di-blah>

If I create an absolutely minimal installation and do "apt-get build-dep nautilus" how many development related packages would I end up with? 100? More?


Development requires a lot of packages. Let's not pretend it doesn't. Cheers,
Mikkel


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]