1 /* 2 * Copyright (c) 2010-2016 Petri Lehtinen <petri@digip.org> 3 * 4 * Jansson is free software; you can redistribute it and/or modify 5 * it under the terms of the MIT license. See LICENSE for details. 6 * 7 * 8 * This file specifies a part of the site-specific configuration for 9 * Jansson, namely those things that affect the public API in 10 * jansson.h. 11 * 12 * The configure script copies this file to jansson_config.h and 13 * replaces @var@ substitutions by values that fit your system. If you 14 * cannot run the configure script, you can do the value substitution 15 * by hand. 16 */ 17 /** 18 * License: MIT 19 */ 20 module jansson_d.jansson_config; 21 22 23 private static import core.stdc.config; 24 private static import core.stdc.locale; 25 private static import core.stdc.stdlib; 26 27 /* 28 * If your compiler supports the inline keyword in C, JSON_INLINE is 29 * defined to `inline', otherwise empty. In C++, the inline is always 30 * supported. 31 */ 32 //#define JSON_INLINE inline 33 34 /** 35 * If your compiler supports the `core.stdc.config.cpp_longlong` type and the core.stdc.stdlib.strtoll() 36 * library function, JSON_INTEGER_IS_LONG_LONG is defined to true, 37 * otherwise to false. 38 */ 39 enum JSON_INTEGER_IS_LONG_LONG = (__traits(compiles, core.stdc.config.cpp_longlong)) && (__traits(compiles, core.stdc.stdlib.strtoll)); 40 41 /** 42 * If locale.h and core.stdc.locale.localeconv() are available, define to true, 43 * otherwise to false. 44 */ 45 enum JSON_HAVE_LOCALECONV = __traits(compiles, core.stdc.locale.localeconv); 46 47 /** 48 * If __atomic builtins are available they will be used to manage 49 * reference counts of json_t. 50 */ 51 enum JSON_HAVE_ATOMIC_BUILTINS = false; 52 53 /** 54 * If __atomic builtins are not available we try using __sync builtins 55 * to manage reference counts of json_t. 56 */ 57 enum JSON_HAVE_SYNC_BUILTINS = false; 58 59 /** 60 * Maximum recursion depth for parsing JSON input. 61 * This limits the depth of e.g. array-within-array constructions. 62 */ 63 enum JSON_PARSER_MAX_DEPTH = 2048;