Changeset 3045


Ignore:
Timestamp:
Jun 9, 2013, 7:00:44 AM (8 years ago)
Author:
Peter
Message:

fixes #762. workaround for broken boost header (in v1.41)

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/configure.ac

    r3037 r3045  
    283283)
    284284
     285# Workaround problem that boost 1.41 does not work with certain versions of GCC
     286# see ticket #762
     287AC_MSG_CHECKING([if boost::mutex workaround is needed])
     288AC_COMPILE_IFELSE(
     289  [AC_LANG_PROGRAM([@%:@include <boost/thread.hpp>],
     290                   [boost::mutex mutex;]
     291   )],
     292  [AC_MSG_RESULT([no])
     293   AC_DEFINE([YAT_HAVE_WORKING_BOOST_EXCEPTION_PTR], [1],
     294             [Define to 1 if boost::exception_ptr works])
     295  ],
     296  [AC_MSG_RESULT([yes])])
    285297
    286298# samtools API from http://samtools.sourceforge.net
  • trunk/yat/random/random.h

    r2901 r3045  
    2626#include "yat/statistics/Histogram.h"
    2727#include "yat/utility/deprecate.h"
     28
     29// always include this before <boost/excpetion_ptr.hpp> indirectly below
     30#include "yat/utility/boost_exception_ptr.h"
    2831
    2932#include <boost/concept_check.hpp>
  • trunk/yat/utility/Makefile.am

    r2995 r3045  
    5959  $(srcdir)/yat/utility/Aligner.h \
    6060  $(srcdir)/yat/utility/Alignment.h \
     61  $(srcdir)/yat/utility/boost_exception_ptr.h \
    6162  $(srcdir)/yat/utility/ColumnStream.h \
    6263  $(srcdir)/yat/utility/CommandLine.h \
  • trunk/yat/utility/boost_exception_ptr.h

    r3044 r3045  
     1#ifndef theplu_yat_utility_boost_exception_ptr_h
     2#define theplu_yat_utility_boost_exception_ptr_h
     3
     4/*
     5  Copyright (C) 2013 Peter Johansson
     6
     7  This file is part of the yat library, http://dev.thep.lu.se/yat
     8
     9  The yat library is free software; you can redistribute it and/or
     10  modify it under the terms of the GNU General Public License as
     11  published by the Free Software Foundation; either version 3 of the
     12  License, or (at your option) any later version.
     13
     14  The yat library is distributed in the hope that it will be useful,
     15  but WITHOUT ANY WARRANTY; without even the implied warranty of
     16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     17  General Public License for more details.
     18
     19  You should have received a copy of the GNU General Public License
     20  along with yat. If not, see <http://www.gnu.org/licenses/>.
     21*/
     22
    123//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
    224
    325//Distributed under the Boost Software License, Version 1.0. (See accompanying
    426//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
     27
     28// This file is patched version of the one distributed in Boost 1.41
     29// See ticket #762 http://dev.thep.lu.se/yat/ticket/762 for motivation.
     30// If compiler works with <boost/exception_ptr.hpp> that file is
     31// included; otherwise this patched version is included
     32//
     33// Users can include this file before any boost header to avoid the
     34// problem reported in: http://dev.thep.lu.se/yat/ticket/762
     35
     36/// \cond IGNORE_DOXYGEN
     37
     38#include "config_public.h"
     39#ifdef YAT_HAVE_WORKING_BOOST_EXCEPTION_PTR
     40#include <boost/exception_ptr.hpp>
     41#else
    542
    643#ifndef UUID_FA5836A2CADA11DC8CD47C8555D89593
     
    91128            }
    92129
     130        ~exception_ptr() throw() { }
     131
    93132        operator unspecified_bool_type() const
    94133            {
     
    460499
    461500#endif
     501#endif
     502/// \endcond IGNORE_DOXYGEN
     503#endif
  • trunk/yat/utility/config_public.h.in

    r2992 r3045  
    4343#undef YAT_HAVE_BOOST_CONCEPT_WITH_CONSTRUCTOR
    4444
     45/// Define to 1 if boost::exception_ptr works
     46#undef YAT_HAVE_WORKING_BOOST_EXCEPTION_PTR
     47
    4548/// Version of yat in string format
    4649#undef YAT_VERSION
Note: See TracChangeset for help on using the changeset viewer.