]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/mingw-compatibility.hh
New file.
[lilypond.git] / lily / include / mingw-compatibility.hh
1 /*
2   mingw-compatibility.hh -- MINGW workarounds
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005 Jan Nieuwenhuizen <janneke@gnu.org>
7 */
8
9 #ifndef MINGW_COMPATIBILITY_HH
10 #define MINGW_COMPATIBILITY_HH
11
12 #if __MINGW32__
13
14 /* Mingw uses invalid names for typedefs and defines.  Not yet
15    investigated whether this is a mingw bug or a windows bug (ie,
16    mingw compatibility feature), also not reported yet.  */
17
18 #  ifdef CHAR
19 #    define LILY_CHAR CHAR
20 #    undef CHAR
21 #  endif
22 #  define CHAR MINGW_INFRINGES_ON_OUR_NAMESPACE_USING_CHAR
23
24 #  ifdef CONTEXT
25 #    define LILY_CONTEXT CONTEXT
26 #    undef CONTEXT
27 #  endif
28 #  define CONTEXT MINGW_INFRINGES_ON_OUR_NAMESPACE_USING_CONTEXT
29
30 #  ifdef DATADIR
31 #    define LILY_DATADIR DATADIR
32 #    undef DATADIR
33 #  endif
34 #  define DATADIR MINGW_INFRINGES_ON_OUR_NAMESPACE_USING_DATADIR
35
36 #  ifdef RELATIVE
37 #    define LILY_RELATIVE RELATIVE
38 #    undef RELATIVE
39 #  endif
40 #  define RELATIVE MINGW_INFRINGES_ON_OUR_NAMESPACE_USING_RELATIVE
41
42 #  ifdef THIS
43 #    define LILY_THIS THIS
44 #    undef THIS
45 #  endif
46 #  define THIS MINGW_INFRINGES_ON_OUR_NAMESPACE_USING_THIS
47
48 //#  include <winsock2.h>
49
50 #if defined (__MINGW32__) && !defined (STATIC)
51 # define SCM_IMPORT 1
52 #endif
53
54 #  include <libguile.h>
55
56 #  undef CHAR
57 #  ifdef LILY_CHAR
58 #    define CHAR LILY_CHAR
59 #  endif
60
61 #  undef CONTEXT
62 #  ifdef LILY_CONTEXT
63 #    define CONTEXT LILY_CONTEXT
64 #  endif
65 #  undef CONTEXT
66
67 #  undef DATADIR
68 #  ifdef LILY_DATADIR
69 #    define DATADIR LILY_DATADIR
70 #  endif
71 #  undef DATADIR
72
73 #  undef RELATIVE
74 #  ifdef LILY_RELATIVE
75 #    define RELATIVE LILY_RELATIVE
76 #  endif
77
78 #  undef THIS
79 #  ifdef LILY_THIS
80 #    define THIS LILY_THIS
81 #  endif
82
83
84 #endif /* __MINGW__ */
85
86 #endif /* MINGW_COMPATIBILITY_HH */