// -*- mode: c++ -*- /*************************************************************************** * include/stxxl/bits/config.h.in * * Template file processed by cmake to set all define switches for this build * according to the cmake build options. * * Part of the STXXL. See http://stxxl.sourceforge.net * * Copyright (C) 2012-2013 Timo Bingmann * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or copy at * http://www.boost.org/LICENSE_1_0.txt) **************************************************************************/ #ifndef STXXL_CONFIG_HEADER #define STXXL_CONFIG_HEADER // the STXXL library version variables #define STXXL_VERSION_MAJOR ${STXXL_VERSION_MAJOR} #define STXXL_VERSION_MINOR ${STXXL_VERSION_MINOR} #define STXXL_VERSION_PATCH ${STXXL_VERSION_PATCH} #define STXXL_VERSION_STRING "${STXXL_VERSION_STRING}" #define STXXL_VERSION_PHASE "${STXXL_VERSION_PHASE}" // if this is a git repository, add the refspec and commit sha #cmakedefine STXXL_VERSION_GIT_REFSPEC "${STXXL_VERSION_GIT_REFSPEC}" #cmakedefine STXXL_VERSION_GIT_SHA1 "${STXXL_VERSION_GIT_SHA1}" #ifndef STXXL_DEBUG_ASSERTIONS #cmakedefine STXXL_DEBUG_ASSERTIONS ${STXXL_DEBUG_ASSERTIONS} #endif // default: off // cmake: option // effect: enable more costly assertions and checks for debugging the library #cmakedefine STXXL_DIRECT_IO_OFF ${STXXL_DIRECT_IO_OFF} // default: 0/1 (platform dependent) // cmake: detection of platform and flag // effect: disables use of O_DIRECT flag on unsupported platforms #cmakedefine STXXL_HAVE_MMAP_FILE ${STXXL_HAVE_MMAP_FILE} // default: 0/1 (platform dependent) // used in: io/mmap_file.h/cpp // effect: enables/disables memory mapped file implementation #cmakedefine STXXL_HAVE_LINUXAIO_FILE ${STXXL_HAVE_LINUXAIO_FILE} // default: 0/1 (platform dependent) // used in: io/linuxaio_file.h/cpp // effect: enables/disables Linux AIO file implementation #cmakedefine STXXL_POSIX_THREADS ${STXXL_POSIX_THREADS} // default: off // cmake: detection of pthreads by cmake // effect: uses POSIX thread and mutexes on linux #cmakedefine STXXL_STD_THREADS ${STXXL_STD_THREADS} // default: off // cmake: detection of and // effect: uses std thread and mutex on windows or (forced on linux) #cmakedefine STXXL_WINDOWS ${STXXL_WINDOWS} // default: off // cmake: detection of ms windows platform (32- or 64-bit) // effect: enables windows-specific api calls (mingw or msvc) #cmakedefine STXXL_MSVC ${STXXL_MSVC} // default: off // cmake: detection of ms visual c++ via CMake (contains version number) // effect: enables msvc-specific headers and macros #cmakedefine STXXL_HAVE_CXX11_RANGE_FOR_LOOP ${STXXL_HAVE_CXX11_RANGE_FOR_LOOP} // default: off // run-time: detection C++11 support for "for (auto i : obj) { }" // effect: enables some C++11 construct (currently only allowed in examples) #cmakedefine STXXL_HAVE_SYNC_ADD_AND_FETCH ${STXXL_HAVE_SYNC_ADD_AND_FETCH} // default: off // cmake: detection of __sync_add_and_fetch() intrinsic // effect: enables use of atomics in counting_ptr #cmakedefine STXXL_PARALLEL ${STXXL_PARALLEL} // default: on/off (depends on compiler and platform) // cmake: -DUSE_PARALLEL=ON // effect: enable parallelized algorithms using OpenMP like multiway_merge and sort #cmakedefine STXXL_WITH_GNU_PARALLEL ${STXXL_WITH_GNU_PARALLEL} // default: off // cmake: -DUSE_GNU_PARALLEL=ON // effect: explicitly enables use of __gnu_parallel algorithms #cmakedefine STXXL_BOOST_CONFIG ${STXXL_BOOST_CONFIG} #cmakedefine STXXL_BOOST_FILESYSTEM ${STXXL_BOOST_FILESYSTEM} #cmakedefine STXXL_BOOST_RANDOM ${STXXL_BOOST_RANDOM} #cmakedefine STXXL_BOOST_THREADS ${STXXL_BOOST_THREADS} #cmakedefine STXXL_BOOST_TIMESTAMP ${STXXL_BOOST_TIMESTAMP} // default: off // cmake: -DUSE_BOOST=ON // effect: enables use of boost libraries in different parts of STXXL. #if STXXL_BOOST_CONFIG #include #endif #cmakedefine STXXL_STD_RANDOM ${STXXL_STD_RANDOM} // default: off // cmake: detection of // effect: uses std random generator on windows or (forced on linux) #cmakedefine STXXL_HAVE_MALLINFO_PROTO ${STXXL_HAVE_MALLINFO_PROTO} // default: off // cmake: detection of mallinfo() function in // effect: used by stxxl_tool/mallinfo for malloc stats #cmakedefine STXXL_HAVE_MLOCK_PROTO ${STXXL_HAVE_MLOCK_PROTO} // default: off // cmake: detection of mlock() function in // effect: used by stxxl_tool/mlock for locking physical pages #cmakedefine STXXL_WITH_VALGRIND ${STXXL_WITH_VALGRIND} // default: off // cmake: option USE_VALGRIND=ON // effect: run all tests with valgrind and pre-initialize some memory buffers #endif // !STXXL_CONFIG_HEADER