00001 // 00002 // (C) Jan de Vaan 2007-2010, all rights reserved. See the accompanying "License.txt" for licensed use. 00003 // 00004 00005 00006 #ifndef CHARLS_CONFIG 00007 #define CHARLS_CONFIG 00008 00009 #ifdef NDEBUG 00010 # ifndef ASSERT 00011 # define ASSERT(t) { } 00012 # endif 00013 # ifndef assert 00014 # define assert(t) { } 00015 # endif 00016 #else 00017 #define INCLUDE_CASSERT 00018 #include "dcmtk/ofstd/ofstdinc.h" 00019 #define ASSERT(t) assert(t) 00020 #endif 00021 00022 #if defined(_WIN32) 00023 #ifdef _MSC_VER 00024 #pragma warning (disable:4512) 00025 #endif 00026 00027 #endif 00028 00029 // Typedef used by Charls for the default integral type. 00030 // charls will work correct with 64 or 32 bit. 00031 typedef long LONG; 00032 00033 enum constants 00034 { 00035 LONG_BITCOUNT = sizeof(LONG)*8 00036 }; 00037 00038 00039 typedef unsigned char BYTE; 00040 typedef unsigned short USHORT; 00041 00042 #undef NEAR 00043 00044 #ifndef inlinehint 00045 # ifdef _MSC_VER 00046 # ifdef NDEBUG 00047 # define inlinehint __forceinline 00048 # else 00049 # define inlinehint 00050 # endif 00051 # elif defined(__GNUC__) && (__GNUC__ > 3 || __GNUC__ == 3 && __GNUC_MINOR__ > 0) 00052 # define inlinehint inline 00053 # else 00054 # define inlinehint inline 00055 # endif 00056 #endif 00057 00058 #if defined(i386) || defined(__i386__) || defined(_M_IX86) || defined(__amd64__) || defined(_M_X64) 00059 #define ARCH_HAS_UNALIGNED_MEM_ACCESS /* TODO define this symbol for more architectures */ 00060 #endif 00061 00062 #endif 00063