Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-05 08:41:45


David Abrahams wrote:

> >> The first problem is that I get warnings about unused response-file
> >> targets every time I link.
> >
> > Not quite. The warning in the output you've posted is about unused
> > SHARED_LIB target.
>
> why did I think it was the RSP file that was being complained about?
> Should something be done to make it clearer?

I don't know the answers -- the output seems ok to me.

> > What is the best solution? Introduce a mechanism to say: "I don't care if
> > this target is ignored"? Or request that at least one target from each
> > source reference is consumed. E.g in
> >
> > exe e : e.cpp d ;
> >
> > if "d" generates two targets, but one of them is consumed, then no
> > warning is issues. If none is consumed, you see the warning.
>
> I think that's the right answer. Our heuristic is supposed to choose
> the generator path that produces the fewest targets; if that means
> some extra targets need to be generated, then so be it.

Agreed, then.

> > If I say
> >
> > "using msvc : 6.5 ;"
> >
> > I get just "cl"/"link".
>
> Ah, but you don't have msvc6 installed in the default location on
> that machine, do you? I do, which is why it attempts to use the
> setup string.
>
> > If you could send a reproducible example or a recipe
> > using CVS, I can look more. While I don't have msvc, "bjam -n" may
> > be enough.
>
> Probably not, unless you insert a fake replacement for GLOB that
> makes it report the existence of cl.exe

When "using msvc : 6.5 ;" is specified and msvc.jam is changed as shown below,
I still get reasonable setup string for both linker and compiler.

Index: msvc.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/new/msvc.jam,v
retrieving revision 1.12
diff -u -r1.12 msvc.jam
--- msvc.jam 4 Mar 2003 07:55:06 -0000 1.12
+++ msvc.jam 5 Mar 2003 13:40:24 -0000
@@ -69,19 +69,19 @@
local PATH-setup = [ GLOB $(env-PATH) : $(setup) ] ;
local default-setup = [ GLOB $(default-path)\\bin : $(setup) ] ;

- if $(default-setup) && $(PATH-setup) != $(default-setup)
- {
+ #if $(default-setup) && $(PATH-setup) != $(default-setup)
+ #{
path = $(default-path) ;
- }
+ #}

compiler = $(compiler) ;
- if ! [ GLOB $(path)\\bin $(env-PATH) : $(compiler:E=CL).exe ]
- {
- error toolset msvc $(vendor) $(version) initialization: :
- couldn't find compiler \"$(compiler:E=CL)\" in PATH or "known default"
- installation location \"$(default-path)\\BIN\"
- : PATH= \"$(env-PATH)\" ;
- }
+ #if ! [ GLOB $(path)\\bin $(env-PATH) : $(compiler:E=CL).exe ]
+ #{
+ # error toolset msvc $(vendor) $(version) initialization: :
+ # couldn't find compiler \"$(compiler:E=CL)\" in PATH or "known default"
+ # installation location \"$(default-path)\\BIN\"
+ # : PATH= \"$(env-PATH)\" ;
+ #}
}

setup = "call \""$(path)\\bin\\$(setup)"\" > nul

Is there anything else I should change?

- 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