Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-10-28 14:20:14


----- Original Message -----
From: <williamkempf_at_[hidden]>

> --- In boost_at_y..., "David Abrahams" <david.abrahams_at_r...> wrote:
> > ----- Original Message -----
> > From: <williamkempf_at_h...>

> Yes, I'll be in Redmond and would be happy to participate in any
> discussions on this topic.

Well, I guess we never really talked about that ;-)
Jens and I spent some time together working out the issues, though. I think
we'll have something soon enough.

> BTW, I meant to send this to you in private e-mail, but since I'm
> here already, I think you've introduced some bugs into Boost.Build
> recently. I'm taking a wild guess, but I think it came about with
> your recent changes to get the $(BOOSTROOT) stuff to work correctly.
> The following is a list of the things I've noticed that I think are
> broken now, but which used to work.
>
> 1) If I run Jam in boost\libs\thread\test in a pristine checkout it
> correctly attempts to run the Jamfile in boost\libs\thread\build, but
> nothing is built.

It works for me. Are you sure? If so, what output do you get?
What is the result of "jam -sBOOST_ROOT=... -n -a" (using the latest version
of jam from CVS), or
jam -fallyoubase-path -n -a (using earlier versions)?

> 2) If I run Jam in boost\libs\thread\build first and then in
> boost\libs\thread\test the test program is built correctly but the
> attempts to execute the test program fails (on Win32) because the
> libboost_threadmon.dll can't be found (the Boost.Build system is no
> longer correctly locating the DLL based on the dependencies).

Ah, yes, fixed now. In case I haven't checked in yet, the fix is as follows:

# in boost-base.jam
actions Run
{
    $(SHELL_SET)PATH=$(RUN_PATH) # changed
    $(SHELL_EXPORT)PATH # added
    $(<)
}

The issue is related to the fact that on some Unix shells, you can't set and
export a variable in one swell foop. When I discovered that, the MSVC
setting
    SHELL_EXPORT = "set " ;
became
    SHELL_SET = "set " ;
    SHELL_EXPORT = ; # everything is exported

But since the Run action was still just using SHELL_EXPORT, the PATH
variable was not being properly set up. Understood?

> I'm assuming that both of these are related and that they are also
> related to the changes you made for $(BOOSTROOT)

Nope, and we still don't know how to explain the first one.

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk