1/*=========================================================================
2
3  Program: GDCM (Grassroots DICOM). A DICOM library
4
5  Copyright (c) 2006-2011 Mathieu Malaterre
6  All rights reserved.
7  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9     This software is distributed WITHOUT ANY WARRANTY; without even
10     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11     PURPOSE.  See the above copyright notice for more information.
12
13=========================================================================*/
14#ifndef GDCMCONFIGURE_H
15#define GDCMCONFIGURE_H
16
17/* This header is configured by GDCM's build process.  */
18
19/*--------------------------------------------------------------------------*/
20/* Platform Features                                                        */
21
22/* Byte order.  */
23/* All compilers that support Mac OS X define either __BIG_ENDIAN__ or
24   __LITTLE_ENDIAN__ to match the endianness of the architecture being
25   compiled for. This is not necessarily the same as the architecture of the
26   machine doing the building. In order to support Universal Binaries on
27   Mac OS X, we prefer those defines to decide the endianness.
28   Elsewhere use the platform check result.  */
29#if !defined(__APPLE__)
30 #cmakedefine GDCM_WORDS_BIGENDIAN
31#elif defined(__BIG_ENDIAN__)
32# define GDCM_WORDS_BIGENDIAN
33#endif
34
35/* Allow access to UINT32_MAX , cf gdcmCommon.h */
36#define __STDC_LIMIT_MACROS
37
38/* Hard code the path to the public dictionary */
39#define PUB_DICT_PATH "@GDCM_PUB_DICT_PATH@"
40
41/* Useful in particular for loadshared where the full path
42 * to the lib is needed */
43#define GDCM_SOURCE_DIR "@GDCM_SOURCE_DIR@"
44#define GDCM_EXECUTABLE_OUTPUT_PATH "@EXECUTABLE_OUTPUT_PATH@"
45#define GDCM_LIBRARY_OUTPUT_PATH    "@LIBRARY_OUTPUT_PATH@"
46
47#cmakedefine GDCM_BUILD_TESTING
48
49#cmakedefine GDCM_USE_SYSTEM_ZLIB
50#cmakedefine GDCM_USE_SYSTEM_UUID
51#cmakedefine GDCM_USE_SYSTEM_POPPLER
52#cmakedefine GDCM_USE_SYSTEM_LIBXML2
53#cmakedefine GDCM_USE_SYSTEM_OPENSSL
54#cmakedefine GDCM_USE_SYSTEM_MD5
55#cmakedefine GDCM_USE_SYSTEM_EXPAT
56#cmakedefine GDCM_USE_SYSTEM_JSON
57#cmakedefine GDCM_USE_SYSTEM_LJPEG
58#cmakedefine GDCM_USE_SYSTEM_OPENJPEG
59#cmakedefine GDCM_USE_SYSTEM_CHARLS
60#cmakedefine GDCM_USE_SYSTEM_KAKADU
61#cmakedefine GDCM_USE_SYSTEM_PVRG
62#cmakedefine GDCMV2_0_COMPATIBILITY
63#cmakedefine GDCM_USE_SYSTEM_PAPYRUS3
64
65#ifndef GDCM_USE_SYSTEM_OPENJPEG
66#define OPENJPEG_VERSION_MAJOR 2
67#else
68#define OPENJPEG_VERSION_MAJOR @OPENJPEG_VERSION_MAJOR@
69#endif //GDCM_USE_SYSTEM_OPENJPEG
70
71#ifndef OPENJPEG_VERSION_MAJOR
72#error problem with openjpeg major version
73#endif // OPENJPEG_VERSION_MAJOR
74
75#cmakedefine GDCM_USE_PVRG
76#cmakedefine GDCM_USE_KAKADU
77#cmakedefine GDCM_USE_JPEGLS
78
79#cmakedefine GDCM_AUTOLOAD_GDCMJNI
80
81/* I guess something important */
82#cmakedefine GDCM_HAVE_STDINT_H
83#cmakedefine GDCM_HAVE_INTTYPES_H
84
85/* This variable allows you to have helpful debug statement */
86/* That are in between #ifdef / endif in the gdcm code */
87/* That means if GDCM_DEBUG is OFF there shouldn't be any 'cout' at all ! */
88/* only cerr, for instance 'invalid file' will be allowed */
89#cmakedefine GDCM_DEBUG
90
91#define GDCM_CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
92#define GDCM_INSTALL_INCLUDE_DIR "@GDCM_INSTALL_INCLUDE_DIR@"
93#define GDCM_INSTALL_DATA_DIR "@GDCM_INSTALL_DATA_DIR@"
94
95/* Whether we are building shared libraries.  */
96#cmakedefine GDCM_BUILD_SHARED_LIBS
97
98/* GDCM uses __FUNCTION__ which is not ANSI C, but C99 */
99#cmakedefine GDCM_CXX_HAS_FUNCTION
100
101/* Special time structure support */
102#cmakedefine GDCM_HAVE_SYS_TIME_H
103#cmakedefine GDCM_HAVE_WINSOCK_H
104#cmakedefine GDCM_HAVE_BYTESWAP_H
105#cmakedefine GDCM_HAVE_RPC_H
106// CMS with PBE (added in OpenSSL 1.0.0 ~ Fri Nov 27 15:33:25 CET 2009)
107#cmakedefine GDCM_HAVE_CMS_RECIPIENT_PASSWORD
108#cmakedefine GDCM_HAVE_LANGINFO_H
109#cmakedefine GDCM_HAVE_NL_LANGINFO
110
111#cmakedefine GDCM_HAVE_STRCASECMP
112#cmakedefine GDCM_HAVE_STRNCASECMP
113#cmakedefine GDCM_HAVE_STRPTIME
114#cmakedefine GDCM_HAVE__STRICMP
115#cmakedefine GDCM_HAVE__STRNICMP
116#cmakedefine GDCM_HAVE_LROUND
117#cmakedefine GDCM_HAVE_GETTIMEOFDAY
118#cmakedefine GDCM_HAVE_ATOLL
119#cmakedefine GDCM_HAVE_JSON_OBJECT_OBJECT_GET_EX
120
121// MM: I have a feeling that if GDCM_HAVE_WCHAR_IFSTREAM, then UNICODE filename
122// are expected to be specified as UTF-16, but if no API exist for UTF-16
123// at std::ifstream level, then const char* of std::ifstream might accept
124// UTF-8
125#cmakedefine GDCM_HAVE_WCHAR_IFSTREAM
126
127#cmakedefine GDCM_FORCE_BIGENDIAN_EMULATION
128
129#ifndef GDCM_OVERRIDE_BROKEN_IMPLEMENTATION
130/* To Remove code that support broken DICOM implementation and therefore
131 * add some over head. Turn Off at your own risk
132 */
133#cmakedefine GDCM_SUPPORT_BROKEN_IMPLEMENTATION
134#endif
135#ifndef gdcm_ns
136#define gdcm_ns gdcm
137#endif
138
139#define GDCM_PVRG_JPEG_EXECUTABLE "@PVRGJPEG_EXECUTABLE@"
140#define GDCM_KAKADU_EXPAND_EXECUTABLE "@KDU_EXPAND_EXECUTABLE@"
141
142/*--------------------------------------------------------------------------*/
143/* GDCM Versioning                                                          */
144
145/* Version number.  */
146#define GDCM_MAJOR_VERSION @GDCM_MAJOR_VERSION@
147#define GDCM_MINOR_VERSION @GDCM_MINOR_VERSION@
148#define GDCM_BUILD_VERSION @GDCM_BUILD_VERSION@
149#define GDCM_VERSION "@GDCM_VERSION@"
150#define GDCM_API_VERSION "@GDCM_API_VERSION@"
151
152/*
153#define GDCM_FILE_META_INFORMATION_VERSION "\0\1"
154// echo "gdcm" | od -b
155#define GDCM_IMPLEMENTATION_CLASS_UID "107.104.103.115";
156#define GDCM_IMPLEMENTATION_VERSION_NAME "GDCM " GDCM_VERSION
157#define GDCM_SOURCE_APPLICATION_ENTITY_TITLE "GDCM"
158*/
159
160
161/*--------------------------------------------------------------------------*/
162/* GDCM deprecation mechanism                                               */
163#cmakedefine GDCM_LEGACY_REMOVE
164#cmakedefine GDCM_LEGACY_SILENT
165
166#cmakedefine GDCM_ALWAYS_TRACE_MACRO
167
168/* ITK Specific */
169#cmakedefine GDCM_USE_COREFOUNDATION_LIBRARY
170
171#endif
172