Boost logo

Boost-Build :

From: Kirill Lapshin (klapshin_at_[hidden])
Date: 2004-01-06 19:06:55


epr0nk wrote:

> I tried it with both msvc-6 and msvc-7.1 (from both bash and cmd)
> My bjam is build as Boost.Jam Version 3.1.9. OS=CYGWIN.
> I also noticed # include is not found by the dependency scan.

I think I've seen this error before, but forgot to report it to list.
Basically msvc toolset is broken for CygWin version of bjam. It works
fine for MSVC version of bjam though. So quick workaround is to compile
bjam with msvc.

The problem lies in msvc.jam:

if [ os.name ] in NT
{
# lots of code skipped

actions archive
{
if exist "$(<[1])" DEL "$(<[1])"
$(.LD) /lib /NOLOGO /out:"$(<[1])" @"$(<[2])"
}
}
else # CYGWIN
{
# lots of code skipped

actions archive
{
_bbv2_out_="$(<)"
if test -f "$_bbv2_out_" ; then
_bbv2_existing_="$(<:W)"
fi
$(.LD) /lib /NOLOGO "/out:$(<:W)" $_bbv2_existing_ @"$(>:W)"
}
}

As you can see the code for some reason is different. From the log
posted by Eddie, one can see that _bbv2_out has two elements -- lib file
and rsp file. Having both /out:foo.lib /out:foo.rsp drives linker crazy.

I think CygWin version has to be rewritten to read

actions archive
{
if test -f "$(<[1])" ; then
rm "$(<[1])"
fi
$(.LD) /lib /NOLOGO "/out:$(<[1])" @"$(<[2])"
}

Disclaimer: this change has not been tested.

--Kirill

 


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