comp.lang.ada
 help / color / mirror / Atom feed
From: rotinom <rotinom@gmail.com>
Subject: Re: Compiling Ada from another directory
Date: Mon, 17 Sep 2007 19:08:32 -0000
Date: 2007-09-17T19:08:32+00:00	[thread overview]
Message-ID: <1190056112.291445.188680@50g2000hsm.googlegroups.com> (raw)
In-Reply-To: <g9d4wma9ub.fsf@hod.lan.m-e-leypold.de>


RE: Simon

You're right that the Project files are rather trivial, and the
easiest way to go.  However I am using a build tool called SCons, and
adding Ada support to that.  It has support for dozens of languages,
and handles the dependency issues that gnatmake does by itself.  I'm
just figuring out what the gnattools do under the hood, and adding
that support in.


RE: Markus

A few days late, but the basic problem is that the SCons tool runs
everything out of the directory where the SConstruct file is located
(e.g.: The build root.).

A typical tree layout is:

/src/
/build_dir/
/SConstruct

so, when you build, all commands run as if you were sitting in / .
There is only ever one "current" directory, but SCons can (and
typically does) run with multiple threads at the same time (I've run
it with up to 50 simultaneous threads).  If each Action being run were
to change directory, it would cause havok, so it is really to be
avoided at all costs.

I was having problems getting the correct commands to run as I needed
them to run from this build root.





  reply	other threads:[~2007-09-17 19:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-12 21:59 Compiling Ada from another directory rotinom
2007-09-12 23:01 ` Georg Bauhaus
2007-09-12 23:17   ` rotinom
2007-09-13  0:01 ` Jeffrey R. Carter
2007-09-13  0:02 ` anon
2007-09-13 14:16   ` rotinom
2007-09-13 15:01     ` Markus E L
2007-09-17 19:08       ` rotinom [this message]
2007-09-18 21:21         ` Simon Wright
2007-09-13 22:22     ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox