]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/third_party/jsoncpp/json_config.h
Migrated to CMake build system.
[bamtools.git] / src / third_party / jsoncpp / json_config.h
index 3fe08f2f9353f4b6fee4e624cd987771b262d4d3..4977f147dbfd5a91e2a885f8bfc65f8d1fce162b 100644 (file)
@@ -4,73 +4,39 @@
 // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
 
 #ifndef JSON_CONFIG_H_INCLUDED
-# define JSON_CONFIG_H_INCLUDED
+#define JSON_CONFIG_H_INCLUDED
 
-/// If defined, indicates that json library is embedded in CppTL library.
-//# define JSON_IN_CPPTL 1
+// Last Modified: Derek Barnett, 19 November 2010
 
-/// If defined, indicates that json may leverage CppTL library
-//#  define JSON_USE_CPPTL 1
-/// If defined, indicates that cpptl vector based map should be used instead of std::map
-/// as Value container.
-//#  define JSON_USE_CPPTL_SMALLMAP 1
-/// If defined, indicates that Json specific container should be used
-/// (hash table & simple deque container with customizable allocator).
-/// THIS FEATURE IS STILL EXPERIMENTAL!
-//#  define JSON_VALUE_USE_INTERNAL_MAP 1
-/// Force usage of standard new/malloc based allocator instead of memory pool based allocator.
-/// The memory pools allocator used optimization (initializing Value and ValueInternalLink
-/// as if it was a POD) that may cause some validation tool to report errors.
-/// Only has effects if JSON_VALUE_USE_INTERNAL_MAP is defined.
-//#  define JSON_USE_SIMPLE_INTERNAL_ALLOCATOR 1
-
-/// If defined, indicates that Json use exception to report invalid type manipulation
-/// instead of C assert macro.
-# define JSON_USE_EXCEPTION 1
-
-# ifdef JSON_IN_CPPTL
-#  include <cpptl/config.h>
-#  ifndef JSON_USE_CPPTL
-#   define JSON_USE_CPPTL 1
-#  endif
-# endif
-
-# ifdef JSON_IN_CPPTL
-#  define JSON_API CPPTL_API
-# elif defined(JSON_DLL_BUILD)
-#  define JSON_API __declspec(dllexport)
-# elif defined(JSON_DLL)
-#  define JSON_API __declspec(dllimport)
-# else
-#  define JSON_API
-# endif
-
-// If JSON_NO_INT64 is defined, then Json only support C++ "int" type for integer
-// Storages.
-// #define JSON_NO_INT64 1
+#include "shared/bamtools_global.h"
+#ifdef BAMTOOLS_JSONCPP_LIBRARY
+#  define JSON_API BAMTOOLS_LIBRARY_EXPORT
+#else
+#  define JSON_API BAMTOOLS_LIBRARY_IMPORT
+#endif
 
 #if defined(_MSC_VER)  &&  _MSC_VER <= 1200 // MSVC 6
 // Microsoft Visual Studio 6 only support conversion from __int64 to double
 // (no conversion from unsigned __int64).
-#define JSON_USE_INT64_DOUBLE_CONVERSION 1
+#  define JSON_USE_INT64_DOUBLE_CONVERSION 1
 #endif // if defined(_MSC_VER)  &&  _MSC_VER < 1200 // MSVC 6
 
-
 namespace Json {
-# if defined(JSON_NO_INT64)
+
+#if defined(JSON_NO_INT64)
    typedef int Int;
    typedef unsigned int UInt;
-# else // if defined(JSON_NO_INT64)
+#else // if defined(JSON_NO_INT64)
    // For Microsoft Visual use specific types as long long is not supported
 #  if defined(_MSC_VER) // Microsoft Visual Studio
-   typedef __int64 Int;
-   typedef unsigned __int64 UInt;
+     typedef __int64 Int;
+     typedef unsigned __int64 UInt;
 #  else // if defined(_MSC_VER) // Other platforms, use long long
-   typedef long long int Int;
-   typedef unsigned long long int UInt;
+     typedef long long int Int;
+     typedef unsigned long long int UInt;
 #  endif // if defined(_MSC_VER)
-# endif // if defined(JSON_NO_INT64)
-} // end namespace Json
+#endif // if defined(JSON_NO_INT64)
 
+} // end namespace Json
 
 #endif // JSON_CONFIG_H_INCLUDED