Exiv2
config.h
1 // config.h
2 
3 #ifndef _CONFIG_H_
4 #define _CONFIG_H_
5 
7 #ifdef _MSC_VER
8 
9 #define _MSC_VER_2010 1600
10 #define _MSC_VER_2008 1500
11 
12 // Constants required by Microsoft SDKs to define SHGetFolderPathA and others
13 
14 #ifndef _WIN32_WINNT
15 // Visual Studio 2012 and earlier
16 # if _MSC_VER < 1800
17 # define _WIN32_WINNT 0x0501
18 # else
19 # define _WIN32_WINNT 0x0600
20 # endif
21 #endif
22 
23 #if _MSC_VER >= _MSC_VER_2008
24 #pragma warning(disable : 4996) // Disable warnings about 'deprecated' standard functions
25 #pragma warning(disable : 4251) // Disable warnings from std templates about exporting interfaces
26 #endif
27 
28 /* On Microsoft compilers pid_t has to be set to int. */
29 #ifndef HAVE_PID_T
30 typedef int pid_t;
31 #endif
32 
33 #endif // _MSC_VER
34 
36 #include "exv_conf.h"
38 
40 #if defined(__MINGW32__) || defined(__MINGW64__)
41 # ifndef __MING__
42 # define __MING__ 1
43 # endif
44 # ifndef __MINGW__
45 # define __MINGW__ 1
46 # endif
47 #endif
48 
49 #ifndef __CYGWIN__
50 # if defined(__CYGWIN32__) || defined(__CYGWIN64__)
51 # define __CYGWIN__ 1
52 # endif
53 #endif
54 
55 #ifndef __LITTLE_ENDIAN__
56 # if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__)
57 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
58 # define __LITTLE_ENDIAN__ 1
59 # endif
60 # endif
61 #endif
62 
63 #ifndef __LITTLE_ENDIAN__
64 # if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW__)
65 # define __LITTLE_ENDIAN__ 1
66 # endif
67 #endif
68 
69 /*
70  If you're using Solaris and the Solaris Studio compiler
71  you must -library=stdcxx4 along with these inclusions below
72 */
73 #if defined(OS_SOLARIS)
74 # include <string.h>
75 # include <strings.h>
76 # include <math.h>
77 # if defined(__cplusplus)
78 # include <ios>
79 # include <fstream>
80 # endif
81 #endif
82 
85 #ifndef EXV_SEPARATOR_STR
86 # if defined(WIN32) && !defined(__CYGWIN__)
87 # define EXV_SEPARATOR_STR "\\"
88 # define EXV_SEPARATOR_CHR '\\'
89 # else
90 # define EXV_SEPARATOR_STR "/"
91 # define EXV_SEPARATOR_CHR '/'
92 # endif
93 #endif
94 
96 
97 #endif // _CONFIG_H_