Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-07-07 02:22:48


Reece Dunn wrote:

> > 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?

Yes, I believe I have to fix msvc toolset 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

Ultimately, that's the way to go. We'd need to distinguish between target-os
and target-architecture, though. For example, the above looks more like
instruction set to me. Given that there's CLR for Linux with some different
runtime features, it's quite reasonable to have <instruction-set>clr with
different value of <target-os> produce different results.

> 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.

I think we can add this to <instruction-set> as well.

> 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" ;

Ok, noted.

- Volodya

 


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