Browse Source

build: fix broken boost chrono check on some platforms

If clock_gettime is implemented outside of libc (librt in this case), configure
would fail when testing boost. Since clock_gettime is not present on all OSs,
boost only uses it when it can. Check for it in librt and add it to LIBS if
found, but don't fail if it's not (since boost won't be expecting it in this
case).

Also, reverse the link order as necessary for static libs.

Note that it's possible that there are other similar cases for boost, which may
be handled the same way.
0.10
Cory Fields 11 years ago
parent
commit
460b32d7b1
  1. 9
      configure.ac

9
configure.ac

@ -392,6 +392,8 @@ AC_TRY_COMPILE([#include <sys/socket.h>],
[ AC_MSG_RESULT(no)] [ AC_MSG_RESULT(no)]
) )
AC_SEARCH_LIBS([clock_gettime],[rt])
LEVELDB_CPPFLAGS= LEVELDB_CPPFLAGS=
LIBLEVELDB= LIBLEVELDB=
LIBMEMENV= LIBMEMENV=
@ -460,11 +462,8 @@ dnl after 1.56.
dnl If neither is available, abort. dnl If neither is available, abort.
dnl If sleep_for is used, boost_chrono becomes a requirement. dnl If sleep_for is used, boost_chrono becomes a requirement.
if test x$ax_cv_boost_chrono = xyes; then if test x$ax_cv_boost_chrono = xyes; then
dnl Allow passing extra needed dependency libraries for boost-chrono from static gitian build
BOOST_CHRONO_LIB="$BOOST_CHRONO_LIB $BOOST_CHRONO_EXTRALIBS"
TEMP_LIBS="$LIBS" TEMP_LIBS="$LIBS"
LIBS="$LIBS $BOOST_LIBS $BOOST_CHRONO_LIB" LIBS="$BOOST_LIBS $BOOST_CHRONO_LIB $LIBS"
TEMP_CPPFLAGS="$CPPFLAGS" TEMP_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
AC_TRY_LINK([ AC_TRY_LINK([
@ -486,7 +485,7 @@ fi
if test x$boost_sleep != xyes; then if test x$boost_sleep != xyes; then
TEMP_LIBS="$LIBS" TEMP_LIBS="$LIBS"
LIBS="$LIBS $BOOST_LIBS" LIBS="$BOOST_LIBS $LIBS"
TEMP_CPPFLAGS="$CPPFLAGS" TEMP_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
AC_TRY_LINK([ AC_TRY_LINK([

Loading…
Cancel
Save