STXXL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
config.h
Go to the documentation of this file.
1 // -*- mode: c++ -*-
2 /***************************************************************************
3  * include/stxxl/bits/config.h.in
4  *
5  * Template file processed by cmake to set all define switches for this build
6  * according to the cmake build options.
7  *
8  * Part of the STXXL. See http://stxxl.sourceforge.net
9  *
10  * Copyright (C) 2012-2013 Timo Bingmann <[email protected]>
11  *
12  * Distributed under the Boost Software License, Version 1.0.
13  * (See accompanying file LICENSE_1_0.txt or copy at
14  * http://www.boost.org/LICENSE_1_0.txt)
15  **************************************************************************/
16 
17 #ifndef STXXL_CONFIG_HEADER
18 #define STXXL_CONFIG_HEADER
19 
20 // the STXXL library version variables
21 #define STXXL_VERSION_MAJOR ${STXXL_VERSION_MAJOR}
22 #define STXXL_VERSION_MINOR ${STXXL_VERSION_MINOR}
23 #define STXXL_VERSION_PATCH ${STXXL_VERSION_PATCH}
24 #define STXXL_VERSION_STRING "${STXXL_VERSION_STRING}"
25 #define STXXL_VERSION_PHASE "${STXXL_VERSION_PHASE}"
26 
27 // if this is a git repository, add the refspec and commit sha
28 #cmakedefine STXXL_VERSION_GIT_REFSPEC "${STXXL_VERSION_GIT_REFSPEC}"
29 #cmakedefine STXXL_VERSION_GIT_SHA1 "${STXXL_VERSION_GIT_SHA1}"
30 
31 #cmakedefine STXXL_DIRECT_IO_OFF ${STXXL_DIRECT_IO_OFF}
32 // default: 0/1 (platform dependent)
33 // cmake: detection of platform and flag
34 // effect: disables use of O_DIRECT flag on unsupported platforms
35 
36 #cmakedefine STXXL_HAVE_MMAP_FILE ${STXXL_HAVE_MMAP_FILE}
37 // default: 0/1 (platform dependent)
38 // used in: io/mmap_file.h/cpp
39 // effect: enables/disables memory mapped file implementation
40 
41 #cmakedefine STXXL_HAVE_LINUXAIO_FILE ${STXXL_HAVE_LINUXAIO_FILE}
42 // default: 0/1 (platform dependent)
43 // used in: io/linuxaio_file.h/cpp
44 // effect: enables/disables Linux AIO file implementation
45 
46 #cmakedefine STXXL_POSIX_THREADS ${STXXL_POSIX_THREADS}
47 // default: off
48 // cmake: detection of pthreads by cmake
49 // effect: uses POSIX thread and mutexes on linux
50 
51 #cmakedefine STXXL_STD_THREADS ${STXXL_STD_THREADS}
52 // default: off
53 // cmake: detection of <thread> and <mutex>
54 // effect: uses std thread and mutex on windows or (forced on linux)
55 
56 #cmakedefine STXXL_WINDOWS ${STXXL_WINDOWS}
57 // default: off
58 // cmake: detection of ms windows platform (32- or 64-bit)
59 // effect: enables windows-specific api calls (mingw or msvc)
60 
61 #cmakedefine STXXL_MSVC ${STXXL_MSVC}
62 // default: off
63 // cmake: detection of ms visual c++ via CMake (contains version number)
64 // effect: enables msvc-specific headers and macros
65 
66 #cmakedefine STXXL_HAVE_CXX11_RANGE_FOR_LOOP ${STXXL_HAVE_CXX11_RANGE_FOR_LOOP}
67 // default: off
68 // run-time: detection C++11 support for "for (auto i : obj) { }"
69 // effect: enables some C++11 construct (currently only allowed in examples)
70 
71 #cmakedefine STXXL_HAVE_SYNC_ADD_AND_FETCH ${STXXL_HAVE_SYNC_ADD_AND_FETCH}
72 // default: off
73 // cmake: detection of __sync_add_and_fetch() intrinsic
74 // effect: enables use of atomics in counting_ptr
75 
76 #cmakedefine STXXL_PARALLEL_MODE_EXPLICIT ${STXXL_PARALLEL_MODE_EXPLICIT}
77 // default: off
78 // cmake: -DUSE_GNU_PARALLEL=ON
79 // effect: explicitly enables use of __gnu_parallel algorithms
80 
81 #cmakedefine STXXL_BOOST_CONFIG ${STXXL_BOOST_CONFIG}
82 #cmakedefine STXXL_BOOST_FILESYSTEM ${STXXL_BOOST_FILESYSTEM}
83 #cmakedefine STXXL_BOOST_RANDOM ${STXXL_BOOST_RANDOM}
84 #cmakedefine STXXL_BOOST_THREADS ${STXXL_BOOST_THREADS}
85 #cmakedefine STXXL_BOOST_TIMESTAMP ${STXXL_BOOST_TIMESTAMP}
86 // default: off
87 // cmake: -DUSE_BOOST=ON
88 // effect: enables use of boost libraries in different parts of STXXL.
89 
90 #if STXXL_BOOST_CONFIG
91  #include <boost/config.hpp>
92 #endif
93 
94 #cmakedefine STXXL_STD_RANDOM ${STXXL_STD_RANDOM}
95 // default: off
96 // cmake: detection of <random>
97 // effect: uses std random generator on windows or (forced on linux)
98 
99 #cmakedefine STXXL_HAVE_MALLINFO_PROTO ${STXXL_HAVE_MALLINFO_PROTO}
100 // default: off
101 // cmake: detection of mallinfo() function in <malloc.h>
102 // effect: used by stxxl_tool/mallinfo for malloc stats
103 
104 #cmakedefine STXXL_HAVE_MLOCK_PROTO ${STXXL_HAVE_MLOCK_PROTO}
105 // default: off
106 // cmake: detection of mlock() function in <sys/mman.h>
107 // effect: used by stxxl_tool/mlock for locking physical pages
108 
109 #cmakedefine STXXL_WITH_VALGRIND ${STXXL_WITH_VALGRIND}
110 // default: off
111 // cmake: option USE_VALGRIND=ON
112 // effect: run all tests with valgrind and pre-initialize some memory buffers
113 
114 #endif // !STXXL_CONFIG_HEADER