[Gc] Should libatomic_ops be inside bdwgc?

Petter Urkedal urkedal at nbi.dk
Sun Aug 14 04:25:43 PDT 2011


On 2011-08-12, Petter Urkedal wrote:
> On 2011-08-12, Ivan Maidanski wrote:
> > Now I have another issue with make distcheck (I have libatomic_ops folder inside bdwgc):
> > configure: error: libatomic_ops is required.  You can either install it on your system, or fetch and unpack a resent version into the source directory and link or rename it to libatomic_ops.
> 
> The issue is that distcheck needs everything to be automated, so I think
> the option of unpacking libatomic_ops in the source directory has to be
> secondary.  We'll need to use a pre-installed one ourselves.  To test
> that the other option worked, I passed --without-libatomic-ops and used
> the regular build target.

I realized that I'm probably working a bit different from you.  When I
have several dependent libraries which I work with at the same time, I
use a feature of pkg-config (and libtool) which allows linking in one
library from the build-directory of the other.  I've done the necessary
changes to libatomic_ops and bdwgc and will send you pull requests so
you can have a look.  This works by setting
PKG_CONFIG_PATH=path-to-libatomic_ops-build-dir/pkgconfig (it's
colon-separated if you have several).  pkg-config will then pick up the
"-uninstalled.pc" version if present.

The different modes of the somewhat bloated libatomic_ops detection in
bdwgc can be tested as follows assuming PKG_CONFIG_PATH is set:

  * Configure and build libatomic_ops, then configure and distcheck
    bdwgc.

  * Issue "make install; make maintainer-clean" in libatomic_ops.
    Now, bdwgc should pick up the installed version and one can do
    distcheck again.  Issue uninstall in libatomic_ops afterwards.

  * After an uninstall and maitainer-clean in libatomic_ops, one can try
    to link the directory under bdwgc, and run check.  As mentioned
    distcheck won't work.  Remove the link and build libatomic_ops again
    to get back to "normal".

I should mention that the whole "Atomic Ops" section in
bdwgc/configure.ac can be reduced to one line,
PKG_CHECK_MODULES([ATOMIC_OPS], [atomic_ops])
if we skip support extracting/linking libatomic_ops in the source dir.


More information about the Gc mailing list