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=27ae50c73a5957782cf31374728a75e662277970;hpb=313a04631c63078d01c2f643a53500ec549d034e;p=modules%2Fyacs.git diff --git a/adm/unix/config_files/check_boost.m4 b/adm/unix/config_files/check_boost.m4 index 27ae50c73..9809a127c 100644 --- a/adm/unix/config_files/check_boost.m4 +++ b/adm/unix/config_files/check_boost.m4 @@ -1,24 +1,22 @@ -dnl Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -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 -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with this library; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -dnl -dnl See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +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, 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 +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Lesser General Public License for more details. dnl +dnl You should have received a copy of the GNU Lesser General Public +dnl License along with this library; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +dnl +dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +dnl + AC_DEFUN([CHECK_BOOST],[ AC_CHECKING(for BOOST Library) @@ -28,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) @@ -48,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 @@ -100,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 @@ -133,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) @@ -150,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