00001 // boost/config/user.hpp ---------------------------------------------------// 00002 00003 // (C) Copyright John Maddock 2001. 00004 // Use, modification and distribution are subject to the 00005 // Boost Software License, Version 1.0. (See accompanying file 00006 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 00007 00008 // Do not check in modified versions of this file, 00009 // This file may be customized by the end user, but not by boost. 00010 00011 // 00012 // Use this file to define a site and compiler specific 00013 // configuration policy: 00014 // 00015 00016 // define this to locate a compiler config file: 00017 // #define BOOST_COMPILER_CONFIG <myheader> 00018 00019 // define this to locate a stdlib config file: 00020 // #define BOOST_STDLIB_CONFIG <myheader> 00021 00022 // define this to locate a platform config file: 00023 // #define BOOST_PLATFORM_CONFIG <myheader> 00024 00025 // define this to disable compiler config, 00026 // use if your compiler config has nothing to set: 00027 // #define BOOST_NO_COMPILER_CONFIG 00028 00029 // define this to disable stdlib config, 00030 // use if your stdlib config has nothing to set: 00031 // #define BOOST_NO_STDLIB_CONFIG 00032 00033 // define this to disable platform config, 00034 // use if your platform config has nothing to set: 00035 // #define BOOST_NO_PLATFORM_CONFIG 00036 00037 // define this to disable all config options, 00038 // excluding the user config. Use if your 00039 // setup is fully ISO compliant, and has no 00040 // useful extensions, or for autoconf generated 00041 // setups: 00042 // #define BOOST_NO_CONFIG 00043 00044 // define this to make the config "optimistic" 00045 // about unknown compiler versions. Normally 00046 // unknown compiler versions are assumed to have 00047 // all the defects of the last known version, however 00048 // setting this flag, causes the config to assume 00049 // that unknown compiler versions are fully conformant 00050 // with the standard: 00051 // #define BOOST_STRICT_CONFIG 00052 00053 // define this to cause the config to halt compilation 00054 // with an #error if it encounters anything unknown -- 00055 // either an unknown compiler version or an unknown 00056 // compiler/platform/library: 00057 // #define BOOST_ASSERT_CONFIG 00058 00059 00060 // define if you want to disable threading support, even 00061 // when available: 00062 // #define BOOST_DISABLE_THREADS 00063 00064 // define when you want to disable Win32 specific features 00065 // even when available: 00066 // #define BOOST_DISABLE_WIN32 00067 00068 // BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any 00069 // prefix/suffix headers that normally control things like struct 00070 // packing and alignment. 00071 // #define BOOST_DISABLE_ABI_HEADERS 00072 00073 // BOOST_ABI_PREFIX: A prefix header to include in place of whatever 00074 // boost.config would normally select, any replacement should set up 00075 // struct packing and alignment options as required. 00076 // #define BOOST_ABI_PREFIX my-header-name 00077 00078 // BOOST_ABI_SUFFIX: A suffix header to include in place of whatever 00079 // boost.config would normally select, any replacement should undo 00080 // the effects of the prefix header. 00081 // #define BOOST_ABI_SUFFIX my-header-name 00082 00083 // BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 00084 // to be linked as dll's rather than static libraries on Microsoft Windows 00085 // (this macro is used to turn on __declspec(dllimport) modifiers, so that 00086 // the compiler knows which symbols to look for in a dll rather than in a 00087 // static library). Note that there may be some libraries that can only 00088 // be statically linked (Boost.Test for example) and others which may only 00089 // be dynamically linked (Boost.Threads for example), in these cases this 00090 // macro has no effect. 00091 // #define BOOST_ALL_DYN_LINK 00092 00093 // BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll 00094 // rather than a static library on Microsoft Windows: replace the WHATEVER 00095 // part of the macro name with the name of the library that you want to 00096 // dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or 00097 // BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) 00098 // modifiers, so that the compiler knows which symbols to look for in a dll 00099 // rather than in a static library). 00100 // Note that there may be some libraries that can only be statically linked 00101 // (Boost.Test for example) and others which may only be dynamically linked 00102 // (Boost.Threads for example), in these cases this macro is unsupported. 00103 // #define BOOST_WHATEVER_DYN_LINK 00104 00105 // BOOST_ALL_NO_LIB: Tells the config system not to automatically select 00106 // which libraries to link against. 00107 // Normally if a compiler supports #pragma lib, then the correct library 00108 // build variant will be automatically selected and linked against, 00109 // simply by the act of including one of that library's headers. 00110 // This macro turns that feature off. 00111 // #define BOOST_ALL_NO_LIB 00112 00113 // BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically 00114 // select which library to link against for library "whatever", 00115 // replace WHATEVER in the macro name with the name of the library; 00116 // for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB. 00117 // Normally if a compiler supports #pragma lib, then the correct library 00118 // build variant will be automatically selected and linked against, simply 00119 // by the act of including one of that library's headers. This macro turns 00120 // that feature off. 00121 // #define BOOST_WHATEVER_NO_LIB 00122 00123 00124