STXXL  1.4.0
 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_POSIX_THREADS ${STXXL_POSIX_THREADS}
42 // default: off
43 // cmake: detection of pthreads by cmake
44 // effect: uses POSIX thread and mutexes on linux
45 
46 #cmakedefine STXXL_STD_THREADS ${STXXL_STD_THREADS}
47 // default: off
48 // cmake: detection of <thread> and <mutex>
49 // effect: uses std thread and mutex on windows or (forced on linux)
50 
51 #cmakedefine STXXL_WINDOWS ${STXXL_WINDOWS}
52 // default: off
53 // cmake: detection of ms windows platform (32- or 64-bit)
54 // effect: enables windows-specific api calls (mingw or msvc)
55 
56 #cmakedefine STXXL_MSVC ${STXXL_MSVC}
57 // default: off
58 // cmake: detection of ms visual c++ via CMake (contains version number)
59 // effect: enables msvc-specific headers and macros
60 
61 #cmakedefine STXXL_HAVE_CXX11_RANGE_FOR_LOOP ${STXXL_HAVE_CXX11_RANGE_FOR_LOOP}
62 // default: off
63 // run-time: detection C++11 support for "for (auto i : obj) { }"
64 // effect: enables some C++11 construct (currently only allowed in examples)
65 
66 #cmakedefine STXXL_HAVE_SYNC_ADD_AND_FETCH ${STXXL_HAVE_SYNC_ADD_AND_FETCH}
67 // default: off
68 // cmake: detection of __sync_add_and_fetch() intrinsic
69 // effect: enables use of atomics in counting_ptr
70 
71 #cmakedefine STXXL_PARALLEL_MODE_EXPLICIT ${STXXL_PARALLEL_MODE_EXPLICIT}
72 // default: off
73 // cmake: -DUSE_GNU_PARALLEL=ON
74 // effect: explicitly enables use of __gnu_parallel algorithms
75 
76 #cmakedefine STXXL_BOOST_CONFIG ${STXXL_BOOST_CONFIG}
77 #cmakedefine STXXL_BOOST_FILESYSTEM ${STXXL_BOOST_FILESYSTEM}
78 #cmakedefine STXXL_BOOST_RANDOM ${STXXL_BOOST_RANDOM}
79 #cmakedefine STXXL_BOOST_THREADS ${STXXL_BOOST_THREADS}
80 #cmakedefine STXXL_BOOST_TIMESTAMP ${STXXL_BOOST_TIMESTAMP}
81 // default: off
82 // cmake: -DUSE_BOOST=ON
83 // effect: enables use of boost libraries in different parts of STXXL.
84 
85 #if STXXL_BOOST_CONFIG
86  #include <boost/config.hpp>
87 #endif
88 
89 #cmakedefine STXXL_STD_RANDOM ${STXXL_STD_RANDOM}
90 // default: off
91 // cmake: detection of <random>
92 // effect: uses std random generator on windows or (forced on linux)
93 
94 #cmakedefine STXXL_HAVE_MALLINFO_PROTO ${STXXL_HAVE_MALLINFO_PROTO}
95 // default: off
96 // cmake: detection of mallinfo() function in <malloc.h>
97 // effect: used by stxxl_tool/mallinfo for malloc stats
98 
99 #cmakedefine STXXL_HAVE_MLOCK_PROTO ${STXXL_HAVE_MLOCK_PROTO}
100 // default: off
101 // cmake: detection of mlock() function in <sys/mman.h>
102 // effect: used by stxxl_tool/mlock for locking physical pages
103 
104 #cmakedefine STXXL_WITH_VALGRIND ${STXXL_WITH_VALGRIND}
105 // default: off
106 // cmake: option USE_VALGRIND=ON
107 // effect: run all tests with valgrind and pre-initialize some memory buffers
108 
109 #endif // !STXXL_CONFIG_HEADER