Boost logo

Boost-Build :

Subject: Re: [Boost-build] easy way to stage not built with boost build
From: Jim Gallagher (jim_at_[hidden])
Date: 2010-05-19 19:07:11


>> This happens because BB treats a searched lib as a combination
>> of -L and -l switches instead of as a real file. You can probably
>> make this work by using alias and listing the exact file.
>>
>> alias zlib : $(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0/zlib.lib :
>> <target-os>windows ;
>>
>> (Warning, I haven't actually tried this, and there
>> might be a better way).
>
>You will also likely need to add installing dependencies as mentioned in
>the docs
><http://www.boost.org/doc/tools/build/doc/html/bbv2/tasks/installing.html>.
>

OK, thanks for pointing me in the right direction. This appears to do what
I want (with one wart):

In Jamroot:

constant ZLIB : zlib124 ;

lib zlib124 : :
        <target-os>windows
        <file>$(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0/zlib.lib
    : :
        <include>$(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0
        <library>$(THIRD_PARTY_LIBS)/zlib/1.2.4-msvc8.0/zlib1.dll ;

In Jamfile:

exe example :
        example.c
        $(TOP)//$(ZLIB)
;

install stage
   : example
   : <location>$(STAGE_SERVER)
      <install-dependencies>on
      <install-type>EXE
      <install-type>LIB
;

explicit stage ;

The wart is that I have to use both the import and dll in the lib definition,
and "install stage" copies both to the staging area. If I can get around this,
it would be perfect! If I use just the .lib, my exe links, but stage
does not copy the .dll.

Thanks,
Jim


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