|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-07-01 06:47:39
Hi Peter,
> local ProgramFiles = [ modules.peek : ProgramFiles ] ;
> if $(ProgramFiles)
> {
> ProgramFiles = "$(ProgramFiles:J= )" ;
> **** ^^^^^^^^
> **** What does the ":J=" mean? I assume it processes the environment
> variable somehow?
The ProgramFiles variable is actually a list (just like all variables in
jam). The :J= concatenates all elements of the list, adding " " between
them. 'J' standard for "join".
This is a workaround for the fact that jam used to split all environment
variables on spaces. This is not necessary now, I've replaced the line
with:
local ProgramFiles = [ os.environ ProgramFiles ] ;
and committed.
> # VS71COMNTOOLS is set by VS .NET 2003 to <VSDIR>\Common7\Tools
> version-7.1-path = [ path.make "$(VS71COMNTOOLS:J= )" ] ;
> version-7.1-path = [ path.parent $(version-7.1-path) ] ;
> version-7.1-path = [ path.parent $(version-7.1-path) ] ;
> version-7.1-path = [ path.join $(version-7.1-path) "VC7" ] ;
> version-7.1-path = [ path.native $(version-7.1-path) ] ;
>
> **** I see that up the top of the msvc.jam file "import path ;" occurs. I
> have searched for the path.jam file
> **** in the v2\build, v2\kernal, v2\tools directories but I cannot find
> this
> file. Where is this file defined.
In v2\util
> **** Essentially I am curious what the "path." commands do.
Please see the docs in path.jam, or try:
bjam --help path.join
> # The vccars32.bat is actually in "bin" directory.
> # (except for free VC7.1 tools)
> possible-paths = $(possible-paths)\\bin $(possible-paths) ;
>
> **** Why does the "$(possible-paths)\\bin" command append "\\bin" to each
> path registered within the variable?
> **** I would have thought that it would have just appended it to the very
> last entry.
Because that's how bjam works. If you have
$(foo)$(bar)
and foo = "1" "2"
and bar = "3" "4"
then the result is "13" "14" "23", "24".
- Volodya
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk