|
Boost-Build : |
From: Andre Hentz (gclbb-jamboost_at_[hidden])
Date: 2003-03-28 02:42:43
On Fri, 28 Mar 2003, Vladimir Prus wrote:
> > BTW, your suggestion made it all much simpler and more elegant.
>
> Alas, I think there's still one bit to be fixed. You've used $(LIBRARY_PATH),
> etc, inside *action* response-file-2. The problem with it is that
> response-file-2 is a piecemeal action. It might be called several times and
> with the subset of sources which can fit to command line. IOW, $(<) will we
> around the command line lenght limit, and
> - adding extra elements might overflow
> - if not, you'll output the list of searched libraries several times.
>
Humm...my understanding of piecemeal actions was incorrect.
> I actually meant that 'response-file' *rule* would contain.
>
> print.output $(target) ;
> print.text "$(LIBRARY_PATH_OPTION)$(LIBRARY_PATH)" "$(FINDLIBS_ST:S=.lib)"
> ;
>
That's what I first tried. It doesn't seem to work though. Looks
like all variables are empty there. I couldn't understand the reason.
>
> P.S. BTW, why did you change prototype for 'searched-lib-generator.run' and
> changed the body? You certainly had some reason, but I wanted to know it so
> that it will be documeneted in CVS logs.
>
searched-lib-generator.run is called from
generators.try-one-generator with $(multiple) as the last argument. I
should actually have changed the prototype to match generator.run, except
for 'sources *' instead of 'sources +'.
Also, searched-lib-generator.run is being called without a $(name)
argument. I think it is my fault for registering builtin.response-file
using register-linker. Should I create a response-file-generator?
Best,
Andre Hentz
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