1 /* config.h.in. Generated from configure.ac by autoheader. */
3 #ifndef MASSTREE_CONFIG_H_INCLUDED
4 #define MASSTREE_CONFIG_H_INCLUDED 1
6 /* Define if building universal (internal helper macro) */
7 #undef AC_APPLE_UNIVERSAL_BUILD
9 /* Assumed size of a cache line. */
10 #undef CACHE_LINE_SIZE
12 /* Define to enable debugging assertions. */
13 #undef ENABLE_ASSERTIONS
15 /* Define to enable invariant assertions. */
16 #undef ENABLE_INVARIANTS
18 /* Define to enable precondition assertions. */
19 #undef ENABLE_PRECONDITIONS
21 /* Define to 1 if you have the `clock_gettime' function. */
22 #undef HAVE_CLOCK_GETTIME
24 /* Define if the C++ compiler understands 'auto'. */
27 /* Define if the C++ compiler understands constexpr. */
28 #undef HAVE_CXX_CONSTEXPR
30 /* Define if the C++ compiler understands rvalue references. */
31 #undef HAVE_CXX_RVALUE_REFERENCES
33 /* Define if the C++ compiler understands static_assert. */
34 #undef HAVE_CXX_STATIC_ASSERT
36 /* Define if the C++ compiler understands template alias. */
37 #undef HAVE_CXX_TEMPLATE_ALIAS
39 /* Define to 1 if you have the declaration of `clock_gettime', and to 0 if you
41 #undef HAVE_DECL_CLOCK_GETTIME
43 /* Define to 1 if you have the declaration of `getline', and to 0 if you
45 #undef HAVE_DECL_GETLINE
47 /* Define to 1 if you have the <execinfo.h> header file. */
48 #undef HAVE_EXECINFO_H
50 /* Define if you are using libflow for malloc. */
51 #undef HAVE_FLOW_MALLOC
53 /* Define if you are using libhoard for malloc. */
54 #undef HAVE_HOARD_MALLOC
56 /* Define if int64_t and long are the same type. */
57 #undef HAVE_INT64_T_IS_LONG
59 /* Define if int64_t and long long are the same type. */
60 #undef HAVE_INT64_T_IS_LONG_LONG
62 /* Define to 1 if you have the <inttypes.h> header file. */
63 #undef HAVE_INTTYPES_H
65 /* Define if you are using libjemalloc for malloc. */
68 /* Define if you have libnuma. */
71 /* Define to 1 if the system has the type `long long'. */
74 /* Define if MADV_HUGEPAGE is supported. */
75 #undef HAVE_MADV_HUGEPAGE
77 /* Define if MAP_HUGETLB is supported. */
78 #undef HAVE_MAP_HUGETLB
80 /* Define if memory debugging support is enabled. */
83 /* Define to 1 if you have the <memory.h> header file. */
86 /* Define to 1 if you have the <numa.h> header file. */
89 /* Define if off_t and long are the same type. */
90 #undef HAVE_OFF_T_IS_LONG
92 /* Define if off_t and long long are the same type. */
93 #undef HAVE_OFF_T_IS_LONG_LONG
95 /* Define if size_t and unsigned are the same type. */
96 #undef HAVE_SIZE_T_IS_UNSIGNED
98 /* Define if size_t and unsigned long are the same type. */
99 #undef HAVE_SIZE_T_IS_UNSIGNED_LONG
101 /* Define if size_t and unsigned long long are the same type. */
102 #undef HAVE_SIZE_T_IS_UNSIGNED_LONG_LONG
104 /* Define to 1 if you have the <stdint.h> header file. */
107 /* Define to 1 if you have the <stdlib.h> header file. */
110 /* Define if you have std::hash. */
113 /* Define if you have the std::is_rvalue_reference template. */
114 #undef HAVE_STD_IS_RVALUE_REFERENCE
116 /* Define if you have the std::is_trivially_copyable template. */
117 #undef HAVE_STD_IS_TRIVIALLY_COPYABLE
119 /* Define to 1 if you have the <strings.h> header file. */
120 #undef HAVE_STRINGS_H
122 /* Define to 1 if you have the <string.h> header file. */
125 /* Define if superpage support is enabled. */
126 #undef HAVE_SUPERPAGE
128 /* Define to 1 if you have the <sys/epoll.h> header file. */
129 #undef HAVE_SYS_EPOLL_H
131 /* Define to 1 if you have the <sys/stat.h> header file. */
132 #undef HAVE_SYS_STAT_H
134 /* Define to 1 if you have the <sys/types.h> header file. */
135 #undef HAVE_SYS_TYPES_H
137 /* Define if you are using libtcmalloc for malloc. */
140 /* Define to 1 if you have the <time.h> header file. */
143 /* Define to 1 if you have the <type_traits> header file. */
144 #undef HAVE_TYPE_TRAITS
146 /* Define if unaligned accesses are OK. */
147 #undef HAVE_UNALIGNED_ACCESS
149 /* Define to 1 if you have the <unistd.h> header file. */
152 /* Define if you have the __builtin_clz builtin. */
153 #undef HAVE___BUILTIN_CLZ
155 /* Define if you have the __builtin_clzl builtin. */
156 #undef HAVE___BUILTIN_CLZL
158 /* Define if you have the __builtin_clzll builtin. */
159 #undef HAVE___BUILTIN_CLZLL
161 /* Define if you have the __builtin_ctz builtin. */
162 #undef HAVE___BUILTIN_CTZ
164 /* Define if you have the __builtin_ctzl builtin. */
165 #undef HAVE___BUILTIN_CTZL
167 /* Define if you have the __builtin_ctzll builtin. */
168 #undef HAVE___BUILTIN_CTZLL
170 /* Define if you have the __has_trivial_copy compiler intrinsic. */
171 #undef HAVE___HAS_TRIVIAL_COPY
173 /* Define if you have the __sync_add_and_fetch builtin. */
174 #undef HAVE___SYNC_ADD_AND_FETCH
176 /* Define if you have the __sync_add_and_fetch_8 builtin. */
177 #undef HAVE___SYNC_ADD_AND_FETCH_8
179 /* Define if you have the __sync_bool_compare_and_swap builtin. */
180 #undef HAVE___SYNC_BOOL_COMPARE_AND_SWAP
182 /* Define if you have the __sync_bool_compare_and_swap_8 builtin. */
183 #undef HAVE___SYNC_BOOL_COMPARE_AND_SWAP_8
185 /* Define if you have the __sync_fetch_and_add builtin. */
186 #undef HAVE___SYNC_FETCH_AND_ADD
188 /* Define if you have the __sync_fetch_and_add_8 builtin. */
189 #undef HAVE___SYNC_FETCH_AND_ADD_8
191 /* Define if you have the __sync_fetch_and_or builtin. */
192 #undef HAVE___SYNC_FETCH_AND_OR
194 /* Define if you have the __sync_fetch_and_or_8 builtin. */
195 #undef HAVE___SYNC_FETCH_AND_OR_8
197 /* Define if you have the __sync_lock_release_set builtin. */
198 #undef HAVE___SYNC_LOCK_RELEASE_SET
200 /* Define if you have the __sync_lock_test_and_set builtin. */
201 #undef HAVE___SYNC_LOCK_TEST_AND_SET
203 /* Define if you have the __sync_lock_test_and_set_val builtin. */
204 #undef HAVE___SYNC_LOCK_TEST_AND_SET_VAL
206 /* Define if you have the __sync_or_and_fetch builtin. */
207 #undef HAVE___SYNC_OR_AND_FETCH
209 /* Define if you have the __sync_or_and_fetch_8 builtin. */
210 #undef HAVE___SYNC_OR_AND_FETCH_8
212 /* Define if you have the __sync_synchronize builtin. */
213 #undef HAVE___SYNC_SYNCHRONIZE
215 /* Define if you have the __sync_val_compare_and_swap builtin. */
216 #undef HAVE___SYNC_VAL_COMPARE_AND_SWAP
218 /* Define if you have the __sync_val_compare_and_swap_8 builtin. */
219 #undef HAVE___SYNC_VAL_COMPARE_AND_SWAP_8
221 /* Maximum key length */
222 #undef MASSTREE_MAXKEYLEN
224 /* Define if the default row type is value_timed_array. */
225 #undef MASSTREE_ROW_TYPE_ARRAY
227 /* Define if the default row type is value_timed_array_ver. */
228 #undef MASSTREE_ROW_TYPE_ARRAY_VER
230 /* Define if the default row type is value_timed_bag. */
231 #undef MASSTREE_ROW_TYPE_BAG
233 /* Define if the default row type is value_timed_str. */
234 #undef MASSTREE_ROW_TYPE_STR
236 /* Define to the address where bug reports for this package should be sent. */
237 #undef PACKAGE_BUGREPORT
239 /* Define to the full name of this package. */
242 /* Define to the full name and version of this package. */
243 #undef PACKAGE_STRING
245 /* Define to the one symbol short name of this package. */
246 #undef PACKAGE_TARNAME
248 /* Define to the home page for this package. */
251 /* Define to the version of this package. */
252 #undef PACKAGE_VERSION
254 /* The size of `int', as computed by sizeof. */
257 /* The size of `long', as computed by sizeof. */
260 /* The size of `long long', as computed by sizeof. */
261 #undef SIZEOF_LONG_LONG
263 /* The size of `short', as computed by sizeof. */
266 /* The size of `void *', as computed by sizeof. */
269 /* Define to 1 if you have the ANSI C header files. */
272 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
273 significant byte first (like Motorola and SPARC, unlike Intel). */
274 #if defined AC_APPLE_UNIVERSAL_BUILD
275 # if defined __BIG_ENDIAN__
276 # define WORDS_BIGENDIAN 1
279 # ifndef WORDS_BIGENDIAN
280 # undef WORDS_BIGENDIAN
284 /* Define if WORDS_BIGENDIAN has been set. */
285 #undef WORDS_BIGENDIAN_SET
287 #if !FORCE_ENABLE_ASSERTIONS && !ENABLE_ASSERTIONS
291 /** @brief Assert macro that always runs. */
292 extern void fail_always_assert(const char* file, int line, const char* assertion, const char* message = 0) __attribute__((noreturn));
293 #define always_assert(x, ...) do { if (!(x)) fail_always_assert(__FILE__, __LINE__, #x, ## __VA_ARGS__); } while (0)
294 #define mandatory_assert always_assert
296 /** @brief Assert macro for invariants.
298 masstree_invariant(x) is executed if --enable-invariants or
299 --enable-assertions. */
300 extern void fail_masstree_invariant(const char* file, int line, const char* assertion, const char* message = 0) __attribute__((noreturn));
301 #if FORCE_ENABLE_ASSERTIONS || (!defined(ENABLE_INVARIANTS) && ENABLE_ASSERTIONS) || ENABLE_INVARIANTS
302 #define masstree_invariant(x, ...) do { if (!(x)) fail_masstree_invariant(__FILE__, __LINE__, #x, ## __VA_ARGS__); } while (0)
304 #define masstree_invariant(x, ...) do { } while (0)
307 /** @brief Assert macro for preconditions.
309 masstree_precondition(x) is executed if --enable-preconditions or
310 --enable-assertions. */
311 extern void fail_masstree_precondition(const char* file, int line, const char* assertion, const char* message = 0) __attribute__((noreturn));
312 #if FORCE_ENABLE_ASSERTIONS || (!defined(ENABLE_PRECONDITIONS) && ENABLE_ASSERTIONS) || ENABLE_PRECONDITIONS
313 #define masstree_precondition(x, ...) do { if (!(x)) fail_masstree_precondition(__FILE__, __LINE__, #x, ## __VA_ARGS__); } while (0)
315 #define masstree_precondition(x, ...) do { } while (0)
319 #define invariant masstree_invariant
322 #define precondition masstree_precondition