Fix linkage with a system libatomic_ops shared library
authorFabrice Fontaine <fontaine.fabrice@gmail.com>
Mon, 5 Nov 2018 21:50:40 +0000 (22:50 +0100)
committerIvan Maidanski <ivmai@mail.ru>
Thu, 15 Nov 2018 08:52:35 +0000 (11:52 +0300)
commit02a44ee1df8176c72e75fd706d1a8f063d3196d5
treeaa5ca5746e27843457c31bb8ada11a94230d2e1d
parent22b7fe6276e0e6915171ab72efd38f8add5f7adb
Fix linkage with a system libatomic_ops shared library

Issue #247 (bdwgc).

When bdwgc is linked with the external libatomic_ops, bdw-gc.pc must
contain the needed dynamic libraries (such as -latomic_ops) otherwise
build of applications could fail on the link stage on some hosts:
* libgc.so: undefined reference to 'AO_fetch_compare_and_swap_emulation'
* libgc.so: undefined reference to 'AO_store_full_emulation'

So, this commit sets ATOMIC_OPS_LIBS to "-latomic_ops" when a system
atomic_ops library is used and uses ATOMIC_OPS_LIBS in bdw-gc.pc.in.

* bdw-gc.pc.in (Libs): Add @ATOMIC_OPS_LIBS@.
* configure.ac [$with_libatomic_ops!=no && $with_libatomic_ops!=none
&& $THREADS!=none] (ATOMIC_OPS_LIBS): Set to -latomic_ops; do AC_SUBST.
bdw-gc.pc.in
configure.ac