Boost logo

Boost-Build :

Subject: [Boost-build] rule execution order
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2016-10-16 16:55:34


I have managed to write a rule "numpy" that builds the numpy documentation.

I invoke that rule explicitly in my doc's Jamfile. The output I get from
running `.../b2` tells me that the "numpy" rule is executed before
anything else, and the individual commands appear out-of-order. For
example, I get this output:

$ ../../../b2
building numpy docs
running sphinx-build
Performing configuration checks

    - 32-bit : no (cached)
    - 64-bit : yes (cached)
    - arm : no (cached)
    - mips1 : no (cached)
    - power : no (cached)
    - sparc : no (cached)
    - x86 : yes (cached)
    - symlinks supported : yes (cached)
...found 3780 targets...
...updating 1 target...

Why is the "numpy" rule executed before even configuration has taken
place (and how can I fix that) ?

And, an issue that I suspect is related to the above: As can be seen in
the "numpy" definition
following Steven's suggestion I'm using the "install" rule to copy the
source files into the build directory, where I invoke the "make" command
via the "SHELL" rule, before issuing another "install" to get the
generated html files back to the final destination. Invoking this yields
the error


$ ../../../b2
building numpy docs
running sphinx-build
sh: line 0: cd: ../../../bin.v2/libs/python/doc/numpy: No such file or
Performing configuration checks

which demonstrates that the copying of the source files into the build
directory hasn't been done by the point where I invoke the sphinx build
(which includes a "cd"). Does the "install" rule merely register an
action to be performed later, while my rule above expects it to be done
"imperatively" ?

Any idea what I'm missing ? Should I use some other means to copy my
files around ?

Thanks for your help,


      ...ich hab' noch einen Koffer in Berlin...

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at