Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2004-07-06 12:53:40


Vladimir Prus wrote:
>Reece Dunn wrote:
>
> > Cool. I have made several updates on it since the post: it now uses the
> > dotnet toolset and configures C#, JavaScript.NET and VB.NET; and I have
>got
> > versioning working :).
>
>Great. Though I've yet another question. You have this:
>
> rule init ( version ? : command * cscompiler ? jscompiler ? vbcompiler
>? )
>
>which means you can't configure the name of 'cscompiler' without also
>configuring 'command'. Is this intentional?

I think that should be:

rule init ( version ? : command * : cscompiler ? jscompiler ? vbcompiler
? )

>And BTW, if the 'command' is a command to invoke C# compiler, do you need a
>separate argument for the C# compiler name?

Is this issue present with the msvc toolset, that contains:

rule init ( version ? : command *
: setup ? compiler ? linker ? resource-compiler ? )

This is what I was basing the above on. So you'd have something like:

using msvc : 7.1 : ".../cl.exe" : vcvars32.bat cl.exe link.exe
windres.exe ;

So don't you need to specify cl.exe here twice as well?

> > BTW: Adding .NET/CLR support for the msvc toolset should be fairly
> > straightforward:
> > ...
>I'm a bit worried about adding feature which makes sense only for one
>compiler, actually. Maybe using <cxxflags> is more appropriate?

<cxxflags> will work, I was just wondering if you intended on explicitly
supporting managed (CLR) targets. As an aside, it may be worth having a:

target == win32 | win64 | managed
or
target == ia32 | ia64 | clr

I think this will work, especially as there is more support for
Win64/Linux64 targets on various compilers. CLR would naturally fit here (as
would the Java version, but that is only usable on Java). Don't Borland have
tools (probably Delphi) that target .NET/CLR builds? There are also
discussions on GCC adding support for .NET
(http://www.codesourcery.com/publications.html).

It might also be beneficial to open up target to allow targeting other
chipsets (e.g. motorola 68k, etc.) or even specific Intel/AMD processors and
instruction sets (MMX, SSE SSE2, 3D Now!). There are a lot of compilers that
allow you to select optimizations for the various instruction sets.

Side note: some software vendors provide different binaries for building
64-bit projects (e.g. a 64-bit MS compiler is available in the PlatformSDK
(PlatformSDK/Bin/Win64), so would it be possible to do something like:

using msvc : 7.1 : "c:/program files/microsoft visual studio 2003
.net/vc7/bin/cl.exe" ;
using msvc : 7.1 <target>ia64 : "c:/program files/platform
sdk/bin/win64/cl.exe" ;

NOTE: There isn't a vcvars32.bat in the platform sdk directory.

>- Volodya,
>your friendly nit-picker

:)

Regards,
Reece

_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger today!
http://www.msn.co.uk/messenger

 


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