X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=adm%2Funix%2Fconfig_files%2Fcheck_boost.m4;h=9809a127cc19ba774c4830010aff7764ee811a05;hb=255150e4eec79294bbd06c7c464f309b4a264960;hp=9ca030b9a0b39c37d973c433cb32429f5746e5a0;hpb=c81be9b5e74b26e207bd6efd0ccf68418ac536a3;p=modules%2Fyacs.git diff --git a/adm/unix/config_files/check_boost.m4 b/adm/unix/config_files/check_boost.m4 index 9ca030b9a..9809a127c 100644 --- a/adm/unix/config_files/check_boost.m4 +++ b/adm/unix/config_files/check_boost.m4 @@ -1,9 +1,9 @@ -dnl Copyright (C) 2006-2012 CEA/DEN, EDF R&D +dnl Copyright (C) 2007-2023 CEA, EDF dnl dnl This library is free software; you can redistribute it and/or dnl modify it under the terms of the GNU Lesser General Public dnl License as published by the Free Software Foundation; either -dnl version 2.1 of the License. +dnl version 2.1 of the License, or (at your option) any later version. dnl dnl This library is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -26,8 +26,11 @@ AC_REQUIRE([ENABLE_PTHREADS])dnl AC_LANG_SAVE AC_LANG_CPLUSPLUS +gccver=`$CC -dumpversion | sed 's/^\([[0-9]]\+\)\.\([[0-9]]\+\).*/\1\2/g'` +SUFFIXES="empty -mt -gcc -gcc-mt -gcc${gccver} -gcc${gccver}-mt" + BOOST_CPPFLAGS="" -BOOST_LIBSUFFIX="-mt" +BOOST_LIBSUFFIX="" BOOST_LIBS="" AC_CHECKING(for BOOST location) @@ -46,9 +49,11 @@ AC_MSG_RESULT(\$BOOSTDIR = ${BOOSTDIR}) CPPFLAGS_old="${CPPFLAGS}" LIBS_old=$LIBS +LIB_SUFFIX="${LIB_LOCATION_SUFFIX}" + if test "x${BOOSTDIR}" != "x" ; then BOOST_CPPFLAGS="-I${BOOSTDIR}/include" - BOOST_LIBS="-L${BOOSTDIR}/lib${LIB_LOCATION_SUFFIX}" + BOOST_LIBS="-L${BOOSTDIR}/lib${LIB_SUFFIX}" fi if test "x${BOOSTDIR}" = "x/usr" ; then @@ -98,29 +103,27 @@ if test "x${boost_headers_ok}" = "xyes" ; then AC_CHECKING(for BOOST binaries) boost_lib_dir_ok=yes if test "x${BOOSTDIR}" != "x" ; then - AC_CHECK_FILE(${BOOSTDIR}/lib${LIB_LOCATION_SUFFIX}/libboost_thread${BOOST_LIBSUFFIX}.so, - boost_lib_dir_ok=yes, - boost_lib_dir_ok=no) - if test "x${boost_lib_dir_ok}" = "xno" ; then - BOOST_LIBSUFFIX="" - AC_CHECK_FILE(${BOOSTDIR}/lib${LIB_LOCATION_SUFFIX}/libboost_thread${BOOST_LIBSUFFIX}.so, - boost_lib_dir_ok=yes, - boost_lib_dir_ok=no) - fi + for BOOST_LIBSUFFIX in ${SUFFIXES} ; do + test "${BOOST_LIBSUFFIX}" == "empty" && BOOST_LIBSUFFIX="" + AC_CHECK_FILE([${BOOSTDIR}/lib${LIB_SUFFIX}/libboost_thread${BOOST_LIBSUFFIX}.so], + [boost_lib_dir_ok=yes], + [AC_CHECK_FILE([${BOOSTDIR}/lib64/libboost_thread${BOOST_LIBSUFFIX}.so], + [boost_lib_dir_ok=yes; LIB_SUFFIX=64], + [boost_lib_dir_ok=no]) + ]) + if test "x${boost_lib_dir_ok}" = "xyes" ; then + break + fi + done fi if test "x${boost_lib_dir_ok}" = "xyes" ; then - LIBS="${LIBS_old} ${BOOST_LIBS} -lboost_thread${BOOST_LIBSUFFIX}" + LIBS="${LIBS_old} ${BOOST_LIBS} -lboost_thread${BOOST_LIBSUFFIX} -lboost_system${BOOST_LIBSUFFIX}" AC_TRY_LINK([#include ], [struct TBody{ void operator()(){} }; boost::thread(TBody())], boost_binaries_ok=yes, boost_binaries_ok=no) - if test "x${boost_binaries_ok}" = "xno" ; then - BOOST_LIBSUFFIX="" - LIBS="${LIBS_old} ${BOOST_LIBS} -lboost_thread${BOOST_LIBSUFFIX}" - AC_TRY_LINK([#include ], - [struct TBody{ void operator()(){} }; boost::thread(TBody())], - boost_binaries_ok=yes, - boost_binaries_ok=no) + if test "x${boost_binaries_ok}" = "xyes" ; then + break fi fi fi @@ -131,6 +134,18 @@ if test "x${boost_binaries_ok}" = "xno" ; then else AC_MSG_RESULT(\$BOOST_LIBSUFFIX = ${BOOST_LIBSUFFIX}) AC_MSG_RESULT(\$BOOST_LIBS = ${BOOST_LIBS}) + AC_CHECK_FILE(${BOOSTDIR}/lib${LIB_SUFFIX}/libboost_thread${BOOST_LIBSUFFIX}.so, + BOOST_LIB_THREAD="${BOOST_LIBS} -lboost_thread${BOOST_LIBSUFFIX} -lboost_system${BOOST_LIBSUFFIX}", + BOOST_LIB_THREAD="") + AC_CHECK_FILE(${BOOSTDIR}/lib${LIB_SUFFIX}/libboost_signals${BOOST_LIBSUFFIX}.so, + BOOST_LIB_SIGNALS="${BOOST_LIBS} -lboost_signals${BOOST_LIBSUFFIX}", + BOOST_LIB_SIGNALS="") + AC_CHECK_FILE(${BOOSTDIR}/lib${LIB_SUFFIX}/libboost_system${BOOST_LIBSUFFIX}.so, + BOOST_LIB_SYSTEM="${BOOST_LIBS} -lboost_system${BOOST_LIBSUFFIX}", + BOOST_LIB_SYSTEM="") + AC_CHECK_FILE(${BOOSTDIR}/lib${LIB_SUFFIX}/libboost_regex${BOOST_LIBSUFFIX}.so, + BOOST_LIB_REGEX="${BOOST_LIBS} -lboost_regex${BOOST_LIBSUFFIX}", + BOOST_LIB_REGEX="") fi AC_MSG_RESULT(for boost binaries: $boost_binaries_ok) @@ -148,6 +163,10 @@ AC_MSG_RESULT(for boost: $boost_ok) AC_SUBST(BOOST_CPPFLAGS) AC_SUBST(BOOST_LIBSUFFIX) AC_SUBST(BOOST_LIBS) +AC_SUBST(BOOST_LIB_THREAD) +AC_SUBST(BOOST_LIB_SIGNALS) +AC_SUBST(BOOST_LIB_SYSTEM) +AC_SUBST(BOOST_LIB_REGEX) AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) AC_LANG_RESTORE