Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-03-27 07:20:53


Hi Andre,
> On Wed, 26 Mar 2003, Vladimir Prus wrote:
> > 1. Make 'builtin.response-file' generator use the same
> > 'builtin.link-action' class as 'builtin.linking-generator' --- reusing
> > the logic which moves searched libs from sources to properties.
> >
> > 2. Add flags for 'builtin.response-file' which will convert
> > <find-shared-library>/<find-static-library> into on-target variables, and
> > adjust the action to output needed '-l' flags. To avoid command line
> > length limitations, we can use 'print.text' rule to output flags.
> >
> > Do I miss anything? Would be great if someone could fix this problem.
>
> Is the attached patch doing what you propose? It does seem to fix
> the problem. However, I'm afraid some of the stuff is msvc-specific.
> Please advise and I will submit a 'formal' patch.

Thanks a lot for the patch --- it's just *excellent*! The msvc-specifics that
you mention is the only problem about it, AFAICT.

I think that making it generic is possible only if we pass toolset specific
switches from outputside, somehow. Either we should use a toolset.flags rule
to specify syntax for include path option, or we should invent specific rule
for each toolset, which will compute the exact syntax and call
'builtin.response-file'. The first approach if sufficient, IMO, and quite
simple. Add

toolset.flags builtin.response-file LIBRARY_PATH_OPTION <toolset>msvc :
:/LIBPATH: ;

to builitin.jam (not to msvc.jam)

Then, inside 'response-file' you'll be able to use LIBRARY_PATH_OPTION
variable.

I was also thinking that you could use "flags" to convert values of
<library-path>, <find-static-library> and <find-shared-library> into
variables, so that the interesting code would look

print.text $(FINDLIBS_ST) $(FINDLIBS_SA) $(LIBRARY_PATH_OPTION)$(LINKPATH)
;

but that's minor issue.

Once you make the change, I'll be happy to apply your patch.

Thanks,
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