source: trunk/yat/utility/config_public.h.in @ 3900

Last change on this file since 3900 was 3900, checked in by Peter, 3 years ago

closes #944; add configure check whether class is availabale in boost and exclude typedef if not. Lift out test for that typedef to separate test so it can be skipped (without skipping all sister tests) when boost is old.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svndigest:ignore set to 1496
File size: 3.7 KB
Line 
1#ifndef _theplu_yat_utility_config_public_
2#define _theplu_yat_utility_config_public_
3
4// $Id: config_public.h.in 3900 2020-05-03 08:29:25Z peter $
5
6/*
7  Copyright (C) 2008 Jari Häkkinen, Peter Johansson
8  Copyright (C) 2009, 2011, 2013, 2014, 2015, 2017, 2018, 2019 Peter Johansson
9
10  This file is part of the yat library, http://dev.thep.lu.se/yat
11
12  The yat library is free software; you can redistribute it and/or
13  modify it under the terms of the GNU General Public License as
14  published by the Free Software Foundation; either version 3 of the
15  License, or (at your option) any later version.
16
17  The yat library is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20  General Public License for more details.
21
22  You should have received a copy of the GNU General Public License
23  along with yat. If not, see <http://www.gnu.org/licenses/>.
24*/
25
26///
27/// \file utility/config_public.h
28///
29
30
31/// Define if deprecated boost headers should be allowed
32#undef YAT_BOOST_ALLOW_DEPRECATED_HEADERS
33
34#ifndef BOOST_ALLOW_DEPRECATED_HEADERS
35#ifdef YAT_BOOST_ALLOW_DEPRECATED_HEADERS
36/// If not defined and YAT_BOOST_ALLOW_DEPRECATED_HEADERS (see above)
37/// is defined, define it to same as YAT_BOOST_ALLOW_DEPRECATED_HEADERS
38#define BOOST_ALLOW_DEPRECATED_HEADERS YAT_BOOST_ALLOW_DEPRECATED_HEADERS
39#endif
40#endif
41
42/// Define to 1 if boost::random::non_central_chi_squared_distribution
43/// is available in header file
44/// <boost/random/non_central_chi_squared_distribution.hpp>
45#undef YAT_HAVE_BOOST_RANDOM_NON_CENTRAL_CHI_SQUARED_DISTRIBUTION
46
47/// Define to 1 if htslib is available
48#undef YAT_HAVE_HTSLIB
49
50/// Define to 1 if you have the <htslib/hts.h> header file.
51#undef YAT_HAVE_HTSLIB_HTS_H
52
53/// This macro is deprated, left for backward compatibility with yat 0.17
54#define YAT_HAVE_LIBBAM YAT_HAVE_HTSLIB
55
56/// Define if compiler supports deprecated attribute, as in g++ 4.0
57#undef YAT_HAVE_GCC_DEPRECATED
58
59/// Define if compiler supports boost concept with constructor
60#undef YAT_HAVE_BOOST_CONCEPT_WITH_CONSTRUCTOR
61
62// User can enable/disable cxx11 features with public macros
63// YAT_WITH_CXX11 and YAT_WITHOUT_CXX11.
64//
65// If user want to disable all cxx11 features, they should #define
66// YAT_WITHOUT_CXX11.
67#ifdef YAT_WITHOUT_CXX11
68#  ifdef YAT_WITH_CXX11
69#    error "cannot set both YAT_WITH_CXX11 and YAT_WITHOUT_CXX11"
70#  else
71#    /// YAT_WITHOUT_CXX11 defined by user, turn off features
72#    define YAT_HAVE_CXX11__ 0
73#  endif
74#else
75#  /// turn on features, if YAT_WITHOUT_CXX11 not defined
76#  define YAT_HAVE_CXX11__ 1
77#endif
78
79
80// YAT_HAVE_CXX11__ is defined, unless YAT_WITHOUT_CXX11 is defined
81// (see above)
82#if YAT_HAVE_CXX11__
83// Defines below are defined depending on tests performed during
84// configure step when building yat. The results can be affected by
85// installer via configure options --enable-cxx11 and --disable-cxx11
86// (see README).
87//
88/// Define if compiler supports rvalues */
89#undef YAT_HAVE_RVALUE
90/// Define if compiler supports atomic */
91#undef YAT_HAVE_ATOMIC
92/// Define if std::log2 exists
93#undef YAT_HAVE_LOG2
94/// Define if std::throw_if_nested exists
95#undef YAT_HAVE_THROW_IF_NESTED
96#endif
97
98/// Define to 1 if boost::exception_ptr works
99#undef YAT_HAVE_WORKING_BOOST_EXCEPTION_PTR
100
101/// Define to 1 if boost::iterator_facade::operator-> works
102#undef YAT_HAVE_BOOST_ITERATOR_FACADE_PROXY_PTR
103
104/// Version of yat in string format
105#undef YAT_VERSION
106/// First digit in VERSION triplet
107#undef YAT_MAJOR_VERSION
108/// Second digit in VERSION triplet
109#undef YAT_MINOR_VERSION
110/// Third digit in VERSION triplet or zero if VERSION is MAJOR.MINOR
111#undef YAT_PATCH_VERSION
112/// true if dev build (version ends with pre
113#undef YAT_DEV_BUILD
114
115#endif
Note: See TracBrowser for help on using the repository browser.