From: Giuseppe Greco <giuseppe.greco@ag...> - 2004-03-19 18:49:02
On Fri, 2004-03-19 at 19:26, John Luke wrote:
> On Fri, 2004-03-19 at 19:14 +0100, Giuseppe Greco wrote:
> > I do not agree!
> > Just download the following sample application and
> > try to build it with the latest version of nant:
> > http://developer.agamura.com/resources/thermota-0.6.src.tar.gz
> > We develop our software on Linux, and we use NAnt to build
> > it. Of course, at the beginning there were some small problems,
> > but now I can assure you that NAnt is quite mature.
> I guess we will have to agree to disagree here:
> 1. Nant has greatly improved recently, and I have used it myself on
> linux for a long time.
> 2. Your sample is only managed code.
Yes, that's true... even if you can invoke the
C compiler with the <exec> task. I'm honest... we
used to compile C code with make/automake, but we
tried, for example, to build our LaTeX docs with
NAnt instead of make, and it works fine.
By the way, I understand you viewpoint.
> 3. does nant support building C?
Just ask it to the NAnt community: Ian, Gert, Jarek, is there any
plan to build C support in NAnt?
> 4. There is no one build system that is best for everything
> 5. It is not really about nant being immature, more about not solving
> all the same problems as the auto* tools yet
> 6. I just tried it and it failed, which means I have to re-download nant
> and update it, see if it works, maybe edit the framework settings, then
> retry, so you see it is not as simple as you think
phone: +41 91 604 67 65
mobile: +41 76 390 60 32
> > 3. does nant support building C?
> Just ask it to the NAnt community: Ian, Gert, Jarek, is there any
> plan to build C support in NAnt?
I don't think it's a good idea for NAnt to directly support C compilation or
even C compiler invocation, just because it's soooo complex (just look at
the size of typical "configure" generated by autoconf). NAnt is about
I think we actually could support the auto* tools instead.
Considering that most C packages today have a pretty standard installation
./configure --prefix=... && make && make install
NAnt could support it by:
- locating locating and running make executable for you (this is non-trivial
on win32, on Unix you have some options too...). Same thing applies to other
gnu utilities and even /bin/sh.
- setting the appropriate standard environment variables (like CC, CFLAGS,
- filtering the build output messages (for example to show only errors and
- perhaps we could also support some standard ways of specifying where
components are located (like PKGCONFIG_PATH), e.g. by detecting host OS
- I'm also thinking about automating software tarballs downloads and
extraction (not very sophisticated, we don't want to have another Gentoo or
BSD ports implemented in .NET)
In general, I think NAnt should support running auto*tools instead of
Awaiting your opinions.