On 10/11/2007, Ross Burton <[EMAIL PROTECTED]> wrote:
>
> On Sat, 2007-11-10 at 11:44 +0100, Mikkel Kamstrup Erlandsen wrote:
> > 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?
>
> Rob's point was regarding building from tarballs, not svn.  Yes, if you
> build from svn you need the tools to rebuild the build environment.  But
> if you build from a tarball, obviously you need the dependencies (glib,
> etc), but apart from that you need a compiler and shell.  No Python, no
> Perl, no random build tools which are not even packaged in major
> distributions.


Yes, I am aware that Rob was referring to the tarball case.  However you
still need a horde of build dependencies probably 95% header files and then
a related set of scripts/tools to build most of the Gnome stack.

My point however is that you still need to install/compile a lot of
dependencies - who cares if it is installing a script interpreter, build
system, header files, what not. It is still just a load of extra packages to
me.

Poky (an OpenEmbedded derivative) builds packages from scratch in a
> clean environment, so I have two reasons to like autotools:
>
> 1) minimal dependencies.  No need to build Python and so on to actually
> get started.  We do rebuild autotools because some older versions of
> autoconf and so on don't know about certain architectures, but now days
> this could probably go the Debian route and just replace
> config.{guess,sub}.


Why compile a Makefile at all then? Why not just a shell script doing the
same as make. The configure script is already done this way. Then we'd only
have a bourne'ish shell and a C compiler as the only (executable)
dependencies.

2) it cross-compiles with no pain.  Configure scripts know what tests
> need to be performed on the host, and what need to be performed on the
> target.  If a configure scripts wants to check that a file exists on the
> target, it will refuse when cross-compiling because it clearly can't
> tell.  There is a cache of known information which is populated with
> test results such as this, so even complicated configure scripts like
> glib and dbus which probe the target system heavily work without any
> modifications.




I can live with adding another tool (hell, I'm going to have to live
> with building Qt4 just to get qmake), but if a new build tool doesn't
> cross-compile easily you can expect GNOME Mobile to die a sudden death.
> Has anyone tested waf or the other new tools with a cross-build
> environment?


In my ideal world a build system would be completely decoupled from the
implementation - for example like Ant XML with the Java-isms converted to
generic instructions. Such a system could be implemented using existing
build tools such as waf, autotools, ant, or a completely custom framework.
On release time it just compiles a "configure" and an a "compile" script and
all are happy.

Cheers,
Mikkel
_______________________________________________
desktop-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to