Boost logo

Boost-Build :

From: Vyacheslav E. Andrejev (mortituris_at_[hidden])
Date: 2008-04-15 06:33:32


I unsuccessfully tried to use JAMSHELL variable. I regularly use 4nt instead
of cmd on my computer and all scripts (like vcvars32.bat for instance) are
customized to use 4nt scripting engine. Therefore during bjam execution all
batch files have to be processed by 4nt instead of cmd. I set JAMSHELL to
JAMSHELL=c:\4NT\tcc.exe /C %. But it doesn't work. bjam still uses cmd.exe
/Q/C to run batch files. shell parameter in execcmd() from execnt.c is always
null. I debugged a little bit bjam and found that the following statement

                shell = var_get( "JAMSHELL" ); /* shell is per-target */

in line 957 of make1.c always returns null. It is strange enough, because
var_get extracts variable from bjam's variable hash table and I could clearly
trace how "JAMSHELL" was written there during bjam initialization.

It seems like a bug. Can someone fix it?

Even more weird is that during build of bjam itself by jam0.exe JAMSHELL

-- Vyacheslav E. Andrejev
-- Optech International, Inc.

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