]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/mingw-compatibility.hh
e7643c03e6b06300b4aeb2f03cf8cc51d2ed3964
[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--2007 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 #endif /* __MINGW__ */
84
85 #endif /* MINGW_COMPATIBILITY_HH */