From 512f49865e8e789f26e36e194a8ea42cba768a32 Mon Sep 17 00:00:00 2001 From: maier Date: Sun, 11 Mar 2012 22:40:00 +0000 Subject: [PATCH] Bugfix: Disable compilation of bundled boost if external boost library is used git-svn-id: https://svn.dealii.org/trunk@25260 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/aclocal.m4 | 3 +++ deal.II/source/base/boost_serialization.cc | 4 ++++ deal.II/source/base/boost_threads.cc | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/deal.II/aclocal.m4 b/deal.II/aclocal.m4 index f2d53e01ba..5939253329 100644 --- a/deal.II/aclocal.m4 +++ b/deal.II/aclocal.m4 @@ -7561,6 +7561,9 @@ AC_DEFUN(DEAL_II_WITH_BOOST, dnl if test "$LD_PATH_OPTION" != "no" ; then BOOST_LIB_DIR="$LD_PATH_OPTION$1/lib" fi + AC_DEFINE([DEAL_II_USE_EXTERNAL_BOOST], [1], + [Defined if deal.II is configured with an external Boost library]) + DEAL_II_ADD_EXTERNAL_LIBS_AT_FRONT(-lboost_thread-mt -lboost_serialization-mt) else BOOST_INCLUDE_DIR='' BOOST_LIB_DIR='' diff --git a/deal.II/source/base/boost_serialization.cc b/deal.II/source/base/boost_serialization.cc index 2bddd03a86..a9fb070f6e 100644 --- a/deal.II/source/base/boost_serialization.cc +++ b/deal.II/source/base/boost_serialization.cc @@ -13,6 +13,8 @@ #include +#ifndef DEAL_II_USE_EXTERNAL_BOOST + #include "../../contrib/boost-1.46.1/libs/serialization/src/basic_archive.cpp" #include "../../contrib/boost-1.46.1/libs/serialization/src/basic_iarchive.cpp" #include "../../contrib/boost-1.46.1/libs/serialization/src/basic_iserializer.cpp" @@ -42,3 +44,5 @@ #include "../../contrib/boost-1.46.1/libs/serialization/src/xml_oarchive.cpp" #include "../../contrib/boost-1.46.1/libs/serialization/src/xml_archive_exception.cpp" #include "../../contrib/boost-1.46.1/libs/serialization/src/shared_ptr_helper.cpp" + +#endif /* DEAL_II_USE_EXTERNAL_BOOST */ diff --git a/deal.II/source/base/boost_threads.cc b/deal.II/source/base/boost_threads.cc index a8c8c57ada..bb06118038 100644 --- a/deal.II/source/base/boost_threads.cc +++ b/deal.II/source/base/boost_threads.cc @@ -13,13 +13,14 @@ #include -#if (DEAL_II_USE_MT == 1) && !defined(DEAL_II_CAN_USE_CXX1X) +#if (DEAL_II_USE_MT == 1) && !defined(DEAL_II_CAN_USE_CXX1X) && !defined(DEAL_II_USE_EXTERNAL_BOOST) // if the C++ compiler doesn't completely support the C++1x standard (and // consequently we can't use std::thread, std::mutex, etc), then include all // the files that form BOOST's thread implementation so that we don't have to // build BOOST itself only to get at this small part of it. it also ensures // that we use the correct compiler and flags + # define BOOST_THREAD_BUILD_LIB 1 # define DBOOST_ALL_NO_LIB 1 -- 2.39.5