blob: ce06075905ffd4caec22550a474864f5eb5a65b6 [file] [log] [blame]
Jeff Thompson9939dcd2013-10-15 15:12:24 -07001// ndnboost/config/user.hpp ---------------------------------------------------//
Jeff Thompsonf7d49942013-08-01 16:47:40 -07002
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:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070017// #define NDNBOOST_COMPILER_CONFIG <myheader>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070018
19// define this to locate a stdlib config file:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070020// #define NDNBOOST_STDLIB_CONFIG <myheader>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070021
22// define this to locate a platform config file:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070023// #define NDNBOOST_PLATFORM_CONFIG <myheader>
Jeff Thompsonf7d49942013-08-01 16:47:40 -070024
25// define this to disable compiler config,
26// use if your compiler config has nothing to set:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070027// #define NDNBOOST_NO_COMPILER_CONFIG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070028
29// define this to disable stdlib config,
30// use if your stdlib config has nothing to set:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070031// #define NDNBOOST_NO_STDLIB_CONFIG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070032
33// define this to disable platform config,
34// use if your platform config has nothing to set:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070035// #define NDNBOOST_NO_PLATFORM_CONFIG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070036
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:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070042// #define NDNBOOST_NO_CONFIG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070043
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:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070051// #define NDNBOOST_STRICT_CONFIG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070052
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:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070057// #define NDNBOOST_ASSERT_CONFIG
Jeff Thompsonf7d49942013-08-01 16:47:40 -070058
59
60// define if you want to disable threading support, even
61// when available:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070062// #define NDNBOOST_DISABLE_THREADS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070063
64// define when you want to disable Win32 specific features
65// even when available:
Jeff Thompson3d613fd2013-10-15 15:39:04 -070066// #define NDNBOOST_DISABLE_WIN32
Jeff Thompsonf7d49942013-08-01 16:47:40 -070067
Jeff Thompson3d613fd2013-10-15 15:39:04 -070068// NDNBOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any
Jeff Thompsonf7d49942013-08-01 16:47:40 -070069// prefix/suffix headers that normally control things like struct
70// packing and alignment.
Jeff Thompson3d613fd2013-10-15 15:39:04 -070071// #define NDNBOOST_DISABLE_ABI_HEADERS
Jeff Thompsonf7d49942013-08-01 16:47:40 -070072
Jeff Thompson3d613fd2013-10-15 15:39:04 -070073// NDNBOOST_ABI_PREFIX: A prefix header to include in place of whatever
Jeff Thompsonf7d49942013-08-01 16:47:40 -070074// boost.config would normally select, any replacement should set up
75// struct packing and alignment options as required.
Jeff Thompson3d613fd2013-10-15 15:39:04 -070076// #define NDNBOOST_ABI_PREFIX my-header-name
Jeff Thompsonf7d49942013-08-01 16:47:40 -070077
Jeff Thompson3d613fd2013-10-15 15:39:04 -070078// NDNBOOST_ABI_SUFFIX: A suffix header to include in place of whatever
Jeff Thompsonf7d49942013-08-01 16:47:40 -070079// boost.config would normally select, any replacement should undo
80// the effects of the prefix header.
Jeff Thompson3d613fd2013-10-15 15:39:04 -070081// #define NDNBOOST_ABI_SUFFIX my-header-name
Jeff Thompsonf7d49942013-08-01 16:47:40 -070082
Jeff Thompson3d613fd2013-10-15 15:39:04 -070083// NDNBOOST_ALL_DYN_LINK: Forces all libraries that have separate source,
Jeff Thompsonf7d49942013-08-01 16:47:40 -070084// 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.
Jeff Thompson3d613fd2013-10-15 15:39:04 -070091// #define NDNBOOST_ALL_DYN_LINK
Jeff Thompsonf7d49942013-08-01 16:47:40 -070092
Jeff Thompson3d613fd2013-10-15 15:39:04 -070093// NDNBOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll
Jeff Thompsonf7d49942013-08-01 16:47:40 -070094// 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
Jeff Thompson3d613fd2013-10-15 15:39:04 -070096// dynamically link to, for example use NDNBOOST_DATE_TIME_DYN_LINK or
97// NDNBOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport)
Jeff Thompsonf7d49942013-08-01 16:47:40 -070098// 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.
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700103// #define NDNBOOST_WHATEVER_DYN_LINK
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700104
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700105// NDNBOOST_ALL_NO_LIB: Tells the config system not to automatically select
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700106// 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.
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700111// #define NDNBOOST_ALL_NO_LIB
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700112
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700113// NDNBOOST_WHATEVER_NO_LIB: Tells the config system not to automatically
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700114// select which library to link against for library "whatever",
115// replace WHATEVER in the macro name with the name of the library;
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700116// for example NDNBOOST_DATE_TIME_NO_LIB or NDNBOOST_REGEX_NO_LIB.
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700117// 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.
Jeff Thompson3d613fd2013-10-15 15:39:04 -0700121// #define NDNBOOST_WHATEVER_NO_LIB
Jeff Thompsonf7d49942013-08-01 16:47:40 -0700122
123
124