Boost logo

Boost-Build :

From: Emil Dotchevski (emil_at_[hidden])
Date: 2008-07-25 13:36:32


On Fri, Jul 25, 2008 at 9:39 AM, Steven Watanabe <watanabesj_at_[hidden]> wrote:
> AMDG
>
> Emil Dotchevski wrote:
>>
>> The issue I need help with is this:
>>
>> On Windows, nvcc uses msvc (it can work with either 7.1 or 8.0), so
>> before nvcc runs, the the msvc environment variables need to be set.
>> Therefore, the proper init rule for nvcc.jam would be somewhat
>> complicated, since it has to init the msvc compiler as well.
>>
>> I have no idea how to do this, so the init rule is empty for now, and
>> I've hardcoded the paths to msvc and nvcc. This works for me, but if
>> someone wants to help with the finishing touches, perhaps we can
>> include this nvcc support in the boost build official release?
>
> I think the way this should probably work is that msvc and nvcc should
> be configured separately, and the msvc toolset should expose a way to
> set its environment.

I agree this is better than what I thought originally.

> Here's an idea of what this should look like.
>
> # configuration
> using msvc : 8.0 ;
> using nvcc : : <backend-toolset>msvc-8.0 ;
>
> # in nvcc
>
> rule cu2cpp ( targets : sources : properties * )
> {
> SETUP on $(targets) = [ toolset.get-environment-setup-command [
> property.select backend-toolset : $(properties) ] ] ;
> }

I think I understand the code above but I have no idea how msvc.jam
should be modified.

Also, nvcc supports POSIX platforms as well, so it would be nice if we
come up with a universal approach for the C/C++ pipeline in Boost
Build (if there's such a thing) to interface with nvcc-type of
toolsets. Right?

Emil Dotchevski
Reverge Studios, Inc.
http://www.revergestudios.com/reblog/index.php?n=ReCode


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