1 // Copyright 2007-2010 Baptiste Lepilleur
2 // Distributed under MIT license, or public domain if desired and
3 // recognized in your jurisdiction.
4 // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
6 #ifndef JSON_CONFIG_H_INCLUDED
7 #define JSON_CONFIG_H_INCLUDED
9 // Last Modified: Derek Barnett, 19 November 2010
11 #include "shared/bamtools_global.h"
12 #ifdef BAMTOOLS_JSONCPP_LIBRARY
13 # define JSON_API BAMTOOLS_LIBRARY_EXPORT
15 # define JSON_API BAMTOOLS_LIBRARY_IMPORT
18 #if defined(_MSC_VER) && _MSC_VER <= 1200 // MSVC 6
19 // Microsoft Visual Studio 6 only support conversion from __int64 to double
20 // (no conversion from unsigned __int64).
21 # define JSON_USE_INT64_DOUBLE_CONVERSION 1
22 #endif // if defined(_MSC_VER) && _MSC_VER < 1200 // MSVC 6
26 #if defined(JSON_NO_INT64)
28 typedef unsigned int UInt;
29 #else // if defined(JSON_NO_INT64)
30 // For Microsoft Visual use specific types as long long is not supported
31 # if defined(_MSC_VER) // Microsoft Visual Studio
33 typedef unsigned __int64 UInt;
34 # else // if defined(_MSC_VER) // Other platforms, use long long
35 typedef long long int Int;
36 typedef unsigned long long int UInt;
37 # endif // if defined(_MSC_VER)
38 #endif // if defined(JSON_NO_INT64)
40 } // end namespace Json
42 #endif // JSON_CONFIG_H_INCLUDED