Out of tree builds with waf?

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Nov 5 17:27:59 UTC 2020

On 05/11/2020 18:22, Sebastian Huber wrote:
> On 05/11/2020 18:16, Andrew Butterfield wrote:
>>  I'm not a waf expert, but might this section in their book help?
>> https://waf.io/book/#_fundamental_waf_commands 
>> <https://waf.io/book/#_fundamental_waf_commands>
>> Can variables `top` and `out` in the example there be manipulated to 
>> do want you want?
> Yes, the --top and --out options works somehow, but I get a warning 
> like this:
> Waf: Entering directory 
> `/home/EB/sebastian_h/src/rtems-source-builder/tmp/build/sparc/erc32'
> CWD /home/EB/sebastian_h/src/rtems-source-builder/tmp is not under 
> /home/EB/sebastian_h/src/rtems, forcing --targets=* (run distclean?)
> Also the documentation says "Though Waf may be called from any folder 
> containing a /wscript/ file,", so I am not sure if this is really 
> supported what I am doing.

What works is something like this:

./waf configure --out $PWD/tmp/xxx/build

called from the source tree. However, this has some side-effects.

1. A .waf* directory is created in the source tree (this is an issue 
with a read-only source tree).

2. Waf somehow remembers this configuration. You can call "./waf" to 
build it. So, there must be some hidden state in the source tree. This 
is not really an out of tree build. You cannot have multiple independent 
build trees.

embedded brains GmbH
Sebastian HUBER
Dornierstr. 4
82178 Puchheim
email: sebastian.huber at embedded-brains.de
Phone: +49-89-18 94 741 - 16
Fax:   +49-89-18 94 741 - 08
PGP: Public key available on request.

embedded brains GmbH
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/

More information about the devel mailing list