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