]> Creatis software - gdcm.git/blobdiff - src/gdcmjasper/src/libjasper/include/jasper/jas_config.h.in
ENH: mimic the ijg approach to get win32 shared lib working...
[gdcm.git] / src / gdcmjasper / src / libjasper / include / jasper / jas_config.h.in
index f30a41992f02aace663fe3d8a12a89dc501a246c..d56502bea90b986e397f9d2c1fff8f9887a9b8fb 100644 (file)
 /* Define to the version of this package. */
 #define PACKAGE_VERSION "@JAS_VERSION@"
 
-#if 0
+/* Size of fundamental data types.  */
 /* The size of a `int', as computed by sizeof. */
-#define SIZEOF_INT 4
+#define SIZEOF_INT    @GDCM_SIZEOF_INT@
 
 /* The size of a `long', as computed by sizeof. */
-#define SIZEOF_LONG 4
-
-/* The size of a `long long', as computed by sizeof. */
-#define SIZEOF_LONG_LONG 8
+#define SIZEOF_LONG   @GDCM_SIZEOF_LONG@
 
 /* The size of a `short', as computed by sizeof. */
-#define SIZEOF_SHORT 2
+#define SIZEOF_SHORT  @GDCM_SIZEOF_SHORT@
+
+/* The size of a `char', as computed by sizeof. */
+#define SIZEOF_CHAR   @GDCM_SIZEOF_CHAR@
+
+/* The size of a `double', as computed by sizeof. */
+#define SIZEOF_DOUBLE @GDCM_SIZEOF_DOUBLE@
+
+/* The size of a `float', as computed by sizeof. */
+#define SIZEOF_FLOAT  @GDCM_SIZEOF_FLOAT@
 
+/* Could someone give me an example of plateform that have 
+ * different size for unsigned types ?? */
 /* The size of a `unsigned int', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_INT 4
+#define SIZEOF_UNSIGNED_INT @GDCM_SIZEOF_INT@
 
 /* The size of a `unsigned long', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_LONG 4
+#define SIZEOF_UNSIGNED_LONG @GDCM_SIZEOF_LONG@
+
+/* The size of a `unsigned short', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_SHORT @GDCM_SIZEOF_SHORT@
+
+
+/* Define size of long long and/or __int64 bit integer type only if the type
+   exists.  */
+/* The size of a `long long', as computed by sizeof. */
+#cmakedefine GDCM_SIZEOF_LONG_LONG @GDCM_SIZEOF_LONG_LONG@
+#cmakedefine GDCM_SIZEOF___INT64   @GDCM_SIZEOF___INT64@
 
 /* The size of a `unsigned long long', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_LONG_LONG 8
+#define SIZEOF_UNSIGNED_LONG_LONG @GDCM_SIZEOF_LONG_LONG@
 
-/* The size of a `unsigned short', as computed by sizeof. */
-#define SIZEOF_UNSIGNED_SHORT 2
 
+
+#if 0
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 #endif
    if it is not supported. */
 /* #undef inline */
 
-/* I have #define for types... */
-#if 0
-/* Define to `long long' if <sys/types.h> does not define. */
-#define longlong long long
-
-/* Define to `unsigned' if <sys/types.h> does not define. */
-/* #undef size_t */
-
-/* Define to `int' if <sys/types.h> does not define. */
-/* #undef ssize_t */
-
-/* Define to `unsigned char' if <sys/types.h> does not define. */
-#define uchar unsigned char
+/* Whether types "long long" and "__int64" are enabled.  If a type is
+   enabled then it is a unique fundamental type.  */
+#cmakedefine GDCM_TYPE_USE_LONG_LONG
+#cmakedefine GDCM_TYPE_USE___INT64
 
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-/* #undef uint */
+/* Some properties of the available types.  */
+#cmakedefine GDCM_TYPE_SAME_LONG_AND___INT64
+#cmakedefine GDCM_TYPE_SAME_LONG_LONG_AND___INT64
+#cmakedefine GDCM_TYPE_CONVERT_UI64_TO_DOUBLE
 
-/* Define to `unsigned long' if <sys/types.h> does not define. */
-#define ulong unsigned long
 
-/* Define to `unsigned long long' if <sys/types.h> does not define. */
-#define ulonglong unsigned long long
-
-/* Define to `unsigned short' if <sys/types.h> does not define. */
-/* #undef ushort */
-#endif
-
-/*
+// On win32 there is no long long therefore use __int64 instead
+//
 #ifndef HAVE_SYS_TYPES_H
-#else
+typedef unsigned short     ushort;
+typedef unsigned int       uint;
+typedef unsigned long      ulong;
+#ifdef GDCM_TYPE_USE___INT64
 typedef unsigned char      uchar;
+typedef unsigned __int64   ulonglong;
+typedef __int64            longlong;
+#else
+#error this is not supposed to happen please report your compiler
+#endif //GDCM_TYPE_USE___INT64
+#else
+#cmakedefine HAVE_GDCM_SIZEOF_UINT
+#cmakedefine HAVE_GDCM_SIZEOF_USHORT
+#cmakedefine HAVE_GDCM_SIZEOF_ULONG
+
+#ifdef GDCM_TYPE_USE_LONG_LONG
+#ifndef HAVE_GDCM_SIZEOF_USHORT
 typedef unsigned short     ushort;
+#endif
+#ifndef HAVE_GDCM_SIZEOF_UINT
 typedef unsigned int       uint;
+#endif
+#ifndef HAVE_GDCM_SIZEOF_ULONG
 typedef unsigned long      ulong;
-typedef long long          longlong;
+#endif
+typedef unsigned char      uchar;
 typedef unsigned long long ulonglong;
-//#define  ssize_t    int
+typedef long long          longlong;
+#else
+typedef unsigned short     ushort;
+typedef unsigned int       uint;
+typedef unsigned long      ulong;
+typedef unsigned char      uchar;
+typedef unsigned __int64   ulonglong;
+typedef __int64            longlong;
+#endif // GDCM_TYPE_USE_LONG_LONG
+/* #define  ssize_t    int */
+#endif // HAVE_SYS_TYPES_H
+
+
+/* a function referenced thru EXTERNs: */
+#if defined( _WIN32 ) && defined (JPEGDLL)
+#define GLOBAL(type)            __declspec(dllexport) type
+#else
+#define GLOBAL(type)            type
 #endif
-*/
-
-/* Copied from gdcmCommon.h */
-/* hope it works  ... */
-/* Broken plateform do not respect C99 and do not provide those typedef */
-#if defined(_MSC_VER) || defined(__BORLANDC__)
-typedef  signed char         int8_t;
-typedef  signed short        int16_t;
-typedef  signed int          int32_t;
-typedef  unsigned char       uint8_t;
-typedef  unsigned short      uint16_t;
-typedef  unsigned int        uint32_t;
-#define UINT32_MAX    (4294967295U)
+
+/* a reference to a GLOBAL function: */
+#if defined(_WIN32) && !defined(JASPERSTATIC)
+#ifdef JASPERDLL
+#define EXTERN(type)            __declspec(dllexport) type
+#else
+#define EXTERN(type)            __declspec(dllimport) type
+#endif
+#else
+#define EXTERN(type)            extern type
 #endif