1 // boost/config/user.hpp ---------------------------------------------------//
\r
3 // (C) Copyright John Maddock 2001.
\r
4 // Use, modification and distribution are subject to the
\r
5 // Boost Software License, Version 1.0. (See accompanying file
\r
6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
\r
8 // Do not check in modified versions of this file,
\r
9 // This file may be customized by the end user, but not by boost.
\r
12 // Use this file to define a site and compiler specific
\r
13 // configuration policy:
\r
16 // define this to locate a compiler config file:
\r
17 // #define BOOST_COMPILER_CONFIG <myheader>
\r
19 // define this to locate a stdlib config file:
\r
20 // #define BOOST_STDLIB_CONFIG <myheader>
\r
22 // define this to locate a platform config file:
\r
23 // #define BOOST_PLATFORM_CONFIG <myheader>
\r
25 // define this to disable compiler config,
\r
26 // use if your compiler config has nothing to set:
\r
27 // #define BOOST_NO_COMPILER_CONFIG
\r
29 // define this to disable stdlib config,
\r
30 // use if your stdlib config has nothing to set:
\r
31 // #define BOOST_NO_STDLIB_CONFIG
\r
33 // define this to disable platform config,
\r
34 // use if your platform config has nothing to set:
\r
35 // #define BOOST_NO_PLATFORM_CONFIG
\r
37 // define this to disable all config options,
\r
38 // excluding the user config. Use if your
\r
39 // setup is fully ISO compliant, and has no
\r
40 // useful extensions, or for autoconf generated
\r
42 // #define BOOST_NO_CONFIG
\r
44 // define this to make the config "optimistic"
\r
45 // about unknown compiler versions. Normally
\r
46 // unknown compiler versions are assumed to have
\r
47 // all the defects of the last known version, however
\r
48 // setting this flag, causes the config to assume
\r
49 // that unknown compiler versions are fully conformant
\r
50 // with the standard:
\r
51 // #define BOOST_STRICT_CONFIG
\r
53 // define this to cause the config to halt compilation
\r
54 // with an #error if it encounters anything unknown --
\r
55 // either an unknown compiler version or an unknown
\r
56 // compiler/platform/library:
\r
57 // #define BOOST_ASSERT_CONFIG
\r
60 // define if you want to disable threading support, even
\r
62 // #define BOOST_DISABLE_THREADS
\r
64 // define when you want to disable Win32 specific features
\r
65 // even when available:
\r
66 // #define BOOST_DISABLE_WIN32
\r
68 // BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any
\r
69 // prefix/suffix headers that normally control things like struct
\r
70 // packing and alignment.
\r
71 // #define BOOST_DISABLE_ABI_HEADERS
\r
73 // BOOST_ABI_PREFIX: A prefix header to include in place of whatever
\r
74 // boost.config would normally select, any replacement should set up
\r
75 // struct packing and alignment options as required.
\r
76 // #define BOOST_ABI_PREFIX my-header-name
\r
78 // BOOST_ABI_SUFFIX: A suffix header to include in place of whatever
\r
79 // boost.config would normally select, any replacement should undo
\r
80 // the effects of the prefix header.
\r
81 // #define BOOST_ABI_SUFFIX my-header-name
\r
83 // BOOST_ALL_DYN_LINK: Forces all libraries that have separate source,
\r
84 // to be linked as dll's rather than static libraries on Microsoft Windows
\r
85 // (this macro is used to turn on __declspec(dllimport) modifiers, so that
\r
86 // the compiler knows which symbols to look for in a dll rather than in a
\r
87 // static library). Note that there may be some libraries that can only
\r
88 // be statically linked (Boost.Test for example) and others which may only
\r
89 // be dynamically linked (Boost.Threads for example), in these cases this
\r
90 // macro has no effect.
\r
91 // #define BOOST_ALL_DYN_LINK
\r
93 // BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll
\r
94 // rather than a static library on Microsoft Windows: replace the WHATEVER
\r
95 // part of the macro name with the name of the library that you want to
\r
96 // dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or
\r
97 // BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport)
\r
98 // modifiers, so that the compiler knows which symbols to look for in a dll
\r
99 // rather than in a static library).
\r
100 // Note that there may be some libraries that can only be statically linked
\r
101 // (Boost.Test for example) and others which may only be dynamically linked
\r
102 // (Boost.Threads for example), in these cases this macro is unsupported.
\r
103 // #define BOOST_WHATEVER_DYN_LINK
\r
105 // BOOST_ALL_NO_LIB: Tells the config system not to automatically select
\r
106 // which libraries to link against.
\r
107 // Normally if a compiler supports #pragma lib, then the correct library
\r
108 // build variant will be automatically selected and linked against,
\r
109 // simply by the act of including one of that library's headers.
\r
110 // This macro turns that feature off.
\r
111 // #define BOOST_ALL_NO_LIB
\r
113 // BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically
\r
114 // select which library to link against for library "whatever",
\r
115 // replace WHATEVER in the macro name with the name of the library;
\r
116 // for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.
\r
117 // Normally if a compiler supports #pragma lib, then the correct library
\r
118 // build variant will be automatically selected and linked against, simply
\r
119 // by the act of including one of that library's headers. This macro turns
\r
120 // that feature off.
\r
121 // #define BOOST_WHATEVER_NO_LIB
\r