Chris@16: // boost/config/user.hpp ---------------------------------------------------// Chris@16: Chris@16: // (C) Copyright John Maddock 2001. Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // Do not check in modified versions of this file, Chris@16: // This file may be customized by the end user, but not by boost. Chris@16: Chris@16: // Chris@16: // Use this file to define a site and compiler specific Chris@16: // configuration policy: Chris@16: // Chris@16: Chris@16: // define this to locate a compiler config file: Chris@16: // #define BOOST_COMPILER_CONFIG Chris@16: Chris@16: // define this to locate a stdlib config file: Chris@16: // #define BOOST_STDLIB_CONFIG Chris@16: Chris@16: // define this to locate a platform config file: Chris@16: // #define BOOST_PLATFORM_CONFIG Chris@16: Chris@16: // define this to disable compiler config, Chris@16: // use if your compiler config has nothing to set: Chris@16: // #define BOOST_NO_COMPILER_CONFIG Chris@16: Chris@16: // define this to disable stdlib config, Chris@16: // use if your stdlib config has nothing to set: Chris@16: // #define BOOST_NO_STDLIB_CONFIG Chris@16: Chris@16: // define this to disable platform config, Chris@16: // use if your platform config has nothing to set: Chris@16: // #define BOOST_NO_PLATFORM_CONFIG Chris@16: Chris@16: // define this to disable all config options, Chris@16: // excluding the user config. Use if your Chris@16: // setup is fully ISO compliant, and has no Chris@16: // useful extensions, or for autoconf generated Chris@16: // setups: Chris@16: // #define BOOST_NO_CONFIG Chris@16: Chris@16: // define this to make the config "optimistic" Chris@16: // about unknown compiler versions. Normally Chris@16: // unknown compiler versions are assumed to have Chris@16: // all the defects of the last known version, however Chris@16: // setting this flag, causes the config to assume Chris@16: // that unknown compiler versions are fully conformant Chris@16: // with the standard: Chris@16: // #define BOOST_STRICT_CONFIG Chris@16: Chris@16: // define this to cause the config to halt compilation Chris@16: // with an #error if it encounters anything unknown -- Chris@16: // either an unknown compiler version or an unknown Chris@16: // compiler/platform/library: Chris@16: // #define BOOST_ASSERT_CONFIG Chris@16: Chris@16: Chris@16: // define if you want to disable threading support, even Chris@16: // when available: Chris@16: // #define BOOST_DISABLE_THREADS Chris@16: Chris@16: // define when you want to disable Win32 specific features Chris@16: // even when available: Chris@16: // #define BOOST_DISABLE_WIN32 Chris@16: Chris@16: // BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any Chris@16: // prefix/suffix headers that normally control things like struct Chris@16: // packing and alignment. Chris@16: // #define BOOST_DISABLE_ABI_HEADERS Chris@16: Chris@16: // BOOST_ABI_PREFIX: A prefix header to include in place of whatever Chris@16: // boost.config would normally select, any replacement should set up Chris@16: // struct packing and alignment options as required. Chris@16: // #define BOOST_ABI_PREFIX my-header-name Chris@16: Chris@16: // BOOST_ABI_SUFFIX: A suffix header to include in place of whatever Chris@16: // boost.config would normally select, any replacement should undo Chris@16: // the effects of the prefix header. Chris@16: // #define BOOST_ABI_SUFFIX my-header-name Chris@16: Chris@16: // BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, Chris@16: // to be linked as dll's rather than static libraries on Microsoft Windows Chris@16: // (this macro is used to turn on __declspec(dllimport) modifiers, so that Chris@16: // the compiler knows which symbols to look for in a dll rather than in a Chris@16: // static library). Note that there may be some libraries that can only Chris@101: // be linked in one way (statically or dynamically), in these cases this Chris@16: // macro has no effect. Chris@16: // #define BOOST_ALL_DYN_LINK Chris@16: Chris@16: // BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll Chris@16: // rather than a static library on Microsoft Windows: replace the WHATEVER Chris@16: // part of the macro name with the name of the library that you want to Chris@16: // dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or Chris@16: // BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) Chris@16: // modifiers, so that the compiler knows which symbols to look for in a dll Chris@16: // rather than in a static library). Chris@101: // Note that there may be some libraries that can only Chris@101: // be linked in one way (statically or dynamically), Chris@101: // in these cases this macro is unsupported. Chris@16: // #define BOOST_WHATEVER_DYN_LINK Chris@16: Chris@16: // BOOST_ALL_NO_LIB: Tells the config system not to automatically select Chris@16: // which libraries to link against. Chris@16: // Normally if a compiler supports #pragma lib, then the correct library Chris@16: // build variant will be automatically selected and linked against, Chris@16: // simply by the act of including one of that library's headers. Chris@16: // This macro turns that feature off. Chris@16: // #define BOOST_ALL_NO_LIB Chris@16: Chris@16: // BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically Chris@16: // select which library to link against for library "whatever", Chris@16: // replace WHATEVER in the macro name with the name of the library; Chris@16: // for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. Chris@16: // Normally if a compiler supports #pragma lib, then the correct library Chris@16: // build variant will be automatically selected and linked against, simply Chris@16: // by the act of including one of that library's headers. This macro turns Chris@16: // that feature off. Chris@16: // #define BOOST_WHATEVER_NO_LIB Chris@16: Chris@101: // BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's Chris@101: // --buildid command line option. For example if you built using: Chris@101: // Chris@101: // bjam address-model=64 --buildid=amd64 Chris@101: // Chris@101: // then compile your code with: Chris@101: // Chris@101: // -DBOOST_LIB_BUILDID = amd64 Chris@101: // Chris@101: // to ensure the correct libraries are selected at link time. Chris@101: // #define BOOST_LIB_BUILDID amd64 Chris@16: