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