Jeff Thompson | 9939dcd | 2013-10-15 15:12:24 -0700 | [diff] [blame] | 1 | // ndnboost/config/user.hpp ---------------------------------------------------// |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 17 | // #define NDNBOOST_COMPILER_CONFIG <myheader> |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 18 | |
| 19 | // define this to locate a stdlib config file: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 20 | // #define NDNBOOST_STDLIB_CONFIG <myheader> |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 21 | |
| 22 | // define this to locate a platform config file: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 23 | // #define NDNBOOST_PLATFORM_CONFIG <myheader> |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 24 | |
| 25 | // define this to disable compiler config, |
| 26 | // use if your compiler config has nothing to set: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 27 | // #define NDNBOOST_NO_COMPILER_CONFIG |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 28 | |
| 29 | // define this to disable stdlib config, |
| 30 | // use if your stdlib config has nothing to set: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 31 | // #define NDNBOOST_NO_STDLIB_CONFIG |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 32 | |
| 33 | // define this to disable platform config, |
| 34 | // use if your platform config has nothing to set: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 35 | // #define NDNBOOST_NO_PLATFORM_CONFIG |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 42 | // #define NDNBOOST_NO_CONFIG |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 51 | // #define NDNBOOST_STRICT_CONFIG |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 57 | // #define NDNBOOST_ASSERT_CONFIG |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 58 | |
| 59 | |
| 60 | // define if you want to disable threading support, even |
| 61 | // when available: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 62 | // #define NDNBOOST_DISABLE_THREADS |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 63 | |
| 64 | // define when you want to disable Win32 specific features |
| 65 | // even when available: |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 66 | // #define NDNBOOST_DISABLE_WIN32 |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 67 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 68 | // NDNBOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 69 | // prefix/suffix headers that normally control things like struct |
| 70 | // packing and alignment. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 71 | // #define NDNBOOST_DISABLE_ABI_HEADERS |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 72 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 73 | // NDNBOOST_ABI_PREFIX: A prefix header to include in place of whatever |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 74 | // boost.config would normally select, any replacement should set up |
| 75 | // struct packing and alignment options as required. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 76 | // #define NDNBOOST_ABI_PREFIX my-header-name |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 77 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 78 | // NDNBOOST_ABI_SUFFIX: A suffix header to include in place of whatever |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 79 | // boost.config would normally select, any replacement should undo |
| 80 | // the effects of the prefix header. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 81 | // #define NDNBOOST_ABI_SUFFIX my-header-name |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 82 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 83 | // NDNBOOST_ALL_DYN_LINK: Forces all libraries that have separate source, |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 91 | // #define NDNBOOST_ALL_DYN_LINK |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 92 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 93 | // NDNBOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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 |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 96 | // 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 Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 103 | // #define NDNBOOST_WHATEVER_DYN_LINK |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 104 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 105 | // NDNBOOST_ALL_NO_LIB: Tells the config system not to automatically select |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 111 | // #define NDNBOOST_ALL_NO_LIB |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 112 | |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 113 | // NDNBOOST_WHATEVER_NO_LIB: Tells the config system not to automatically |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 114 | // select which library to link against for library "whatever", |
| 115 | // replace WHATEVER in the macro name with the name of the library; |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 116 | // for example NDNBOOST_DATE_TIME_NO_LIB or NDNBOOST_REGEX_NO_LIB. |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 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. |
Jeff Thompson | 3d613fd | 2013-10-15 15:39:04 -0700 | [diff] [blame] | 121 | // #define NDNBOOST_WHATEVER_NO_LIB |
Jeff Thompson | f7d4994 | 2013-08-01 16:47:40 -0700 | [diff] [blame] | 122 | |
| 123 | |
| 124 | |