Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost-build] building dependencies that use makefiles
From: Mauricio Carneiro (carneiro_at_[hidden])
Date: 2014-03-24 08:22:00


Steve,

thank you as always. This worked perfectly.

One quick follow-up question. This library depends on pthreads, and I had
been using the lib pthreads ; dependency and adding it to the sources list
of the library. It works perfectly with clang but fails with gcc 4.8.2. I
switched it to using <threading>multi and it still didn't work until I also
added <threading>multi to the application that is linking to it :

## Library
alias hts
  : libhts.a z
  : <link>static *<threading>multi*
  :
  : <include>htslib
;

## Application (boost-test)
run [ glob *.cpp ] /gamgee//gamgee /gamgee/libs//hts
boost_unit_test_framework
    :
    :
    : <define>BOOST_ALL_DYN_LINK *<threading>multi*
    : run ;

I thought that the application would learn from the library's dependency on
multi-threading and automatically turn it on, but it didn't. I tried moving
the <threading>multi to the requirements (together with the
<include>htslib) but that didn't do it either. Do you have any insights on
this?

Mauricio Carneiro, Ph.D.
http://www.broadinstitute.org/~carneiro/

On Sun, Mar 23, 2014 at 7:08 PM, Steven Watanabe <watanabesj_at_[hidden]>wrote:

> AMDG
>
> On 03/23/2014 11:24 AM, Mauricio Carneiro wrote:
> > I am using boost-build to build my project, but I have added a static
> > library as a dependency that is built using GNU make. If I build this
> > library manually, I can link it to my project in boost build using this
> > simple Jamfile:
> >
> > lib hts
> > :
> > : <link>static <file>lib/lib.a
> > :
> > : <include>lib_headers
> > ;
> >
> > Is there a way to tell boost-build to run make on the directory if the
> > lib/lib.a is not present there?
> >
>
> You'll need a custom rule that runs make:
>
> path-constant make-dir : path/to/makefile/directory ;
> actions external-make
> {
> cd $(make-dir) && make
> }
>
> make lib.a : : @external-make : <location>directory/of/lib.a ;
>
> alias hts : lib.a : <link>static : : <include>lib_headers ;
>
> In Christ,
> Steven Watanabe
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net