blob: 66ed2320c2d0c53e5f9b6520c04d6bcbd4c6dda9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
// prevent pasdoc from parsing this file
{$IFNDEF PASDOC}
// compiler/IDE dependent config
{$IFDEF FPC}
{$H+} // use AnsiString instead of ShortString as String-type (default in Delphi)
// if -dDEBUG is specified on the command-line, FPC uses some default
// compiler-flags specified in fpc.cfg -> use -dDEBUG_MODE instead
{$IFDEF DEBUG_MODE}
{$DEFINE DEBUG}
{$ENDIF}
{$DEFINE HasInline}
{$ELSE}
{$DEFINE Delphi}
// Delphi version numbers (ignore Delphi < 7 and Delphi 8 (VER160))
{$IF Defined(VER180)} // Delphi 2006 (=10)
{$DEFINE DELPHI_10}
{$DEFINE DELPHI_7_UP}
{$DEFINE DELPHI_9_UP}
{$DEFINE DELPHI_10_UP}
{$ELSEIF Defined(VER170)} // Delphi 2005 (=9)
{$DEFINE DELPHI_9}
{$DEFINE DELPHI_7_UP}
{$DEFINE DELPHI_9_UP}
{$ELSEIF Defined(VER150)}
{$DEFINE DELPHI_7}
{$DEFINE DELPHI_7_UP}
{$ELSE} // unsupported
{$WARN ERROR 'Unsupported compiler version'}
{$IFEND}
// inline directive introduced with Delphi 2005
{$IFDEF DELPHI_9_UP}
{$DEFINE HasInline}
{$ENDIF}
{$ENDIF}
// platform dependent config
{$IF Defined(MSWINDOWS)}
// include defines but no constants
{$I config-win.inc}
// enable debug-mode. For development only!
{.$DEFINE DEBUG}
{$IFDEF DEBUG}
// windows apps are either GUI- or console-apps. Console-apps will open
// an additional console-window for output. For development only!
{$DEFINE CONSOLE}
{$ENDIF}
{$DEFINE HaveBASS}
{$DEFINE UseMIDIPort}
{$ELSEIF Defined(DARWIN)}
// include defines but no constants
{$I config-darwin.inc}
// enable debug-mode. For development only!
{.$DEFINE DEBUG}
{$DEFINE CONSOLE}
{.$DEFINE HaveBASS}
{$DEFINE UTF8_FILENAMES}
{$ELSEIF Defined(UNIX)}
// include defines but no constants
{$IF Defined(FREEBSD)}
{$I config-freebsd.inc}
{$ELSEIF Defined(Linux)}
{$I config-linux.inc}
{$IFEND}
// use "configure --enable-debug", "make debug" or
// the command-line parameter "-debug" instead of defining DEBUG directly
{.$DEFINE DEBUG}
// linux apps are always console-apps so leave this defined.
{$DEFINE CONSOLE}
{$IFEND}
// audio config
{$IF Defined(HaveBASS)}
{$DEFINE UseBASSPlayback}
{$DEFINE UseBASSDecoder}
{$DEFINE UseBASSInput}
{$ELSEIF Defined(HavePortaudio)}
{$DEFINE UseSDLPlayback}
{.$DEFINE UsePortaudioPlayback}
{$DEFINE UsePortaudioInput}
{$IFDEF HavePortmixer}
{$DEFINE UsePortmixer}
{$ENDIF}
{$IFEND}
// ffmpeg config (TODO: remove when dynamically loaded)
{$DEFINE UseFFmpegResample}
{$IFDEF HaveLibsamplerate}
{$DEFINE UseSRCResample}
{$ENDIF}
// projectM config
{$IF Defined(HaveProjectM)}
{$DEFINE UseProjectM}
{$IFEND}
// specify some useful defines
{$IF Defined(UseBASSInput) or Defined(UseBASSPlayback) or Defined(UseBASSDecoder)}
{$DEFINE UseBASS}
{$IFEND}
{$IF Defined(UsePortaudioInput) or Defined(UsePortaudioPlayback)}
{$DEFINE UsePortaudio}
{$IFEND}
{$ENDIF PASDOC}
|