|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-06-27 08:42:38
Hi Konstantin,
> You wrote on Wed, 25 Jun 2003 15:46:10 +0400:
> >> When i build my library linker says: "library was too large for
> >> page size, rebuilt with page size 512". I can't figure out how to fix
> >> it without intrusion into borland.jam and replacing /P256 on /P512.
> >> How to do this in a legal way?
>
> VP> I think the only reasonable way is to change borland.jam. That's
> VP> some complete brokeness (IMO) on the part of borland's linker, and
> VP> making page size a user option just does not feel right. It should
> VP> always work, and /P512 is the only way.
>
> Why couldn't we add small piece of code to support these brokeness?
> I don't know jam good but this works, when added to borland.jam:
>
> feature.feature lib-page-size : : free ;
>
> rule archive
> {
> local pageSize = 256 ;
>
> if <lib-page-size> in $(3:G)
> {
> pageSize = [ feature.get-values <lib-page-size> : $(3) ] ;
> }
>
> LIB_PAGE_SIZE on $(<) = $(pageSize) ;
> }
Actually, it's even simpler:
feature lib-page-size : 256 512 ;
toolset.flags borland.archive LIB_PATH_SIZE <lib-page-size> ;
But the real problem is that lib-page-size is not good feature for user. Say
somebody tries to build some library and gets the "rebuild with page size
such-and-such". The user is perplexed. After some time he find the
<lib-page-size> option in docs (provided it's documented), and fixes the
problem. It would be nice if we could get along without the feature.
Hmm.. it appears that borland's linker has no upper limit on page size and
it's possible to overflow any given page size, so after all, we can't live
without the feature. Ok, will implement on Monday.
> PS.
> Why borland.jam doesn't containe line that describes <linkflags>
> feature? I can't pass linker options without this line:
>
> flags borland.link OPTIONS <linkflags> ;
That's something which was forgotten when I was converting V1 toolset
definition. I'll fix this on Monday as well.
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