a68g-includes.h
1 //! @file a68g-includes.h
2 //! @author J. Marcel van der Veer
3
4 //! @section Copyright
5 //!
6 //! This file is part of Algol68G - an Algol 68 compiler-interpreter.
7 //! Copyright 2001-2024 J. Marcel van der Veer [algol68g@xs4all.nl].
8
9 //! @section License
10 //!
11 //! This program is free software; you can redistribute it and/or modify it
12 //! under the terms of the GNU General Public License as published by the
13 //! Free Software Foundation; either version 3 of the License, or
14 //! (at your option) any later version.
15 //!
16 //! This program is distributed in the hope that it will be useful, but
17 //! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
18 //! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
19 //! more details. You should have received a copy of the GNU General Public
20 //! License along with this program. If not, see [http://www.gnu.org/licenses/].
21
22 //! @section Synopsis
23 //!
24 //! Common a68g includes.
25
26 #if !defined (__A68G_INCLUDES_H__)
27 #define __A68G_INCLUDES_H__
28
29 // Includes
30
31 #if defined (HAVE_SYS_TYPES_H)
32 # include <sys/types.h>
33 #endif
34
35 #if defined (HAVE_STDIO_H)
36 # include <stdio.h>
37 #endif
38
39 #if defined (HAVE_LIMITS_H)
40 # include <limits.h>
41 #endif
42
43 #if defined (HAVE_ASSERT_H)
44 # include <assert.h>
45 #endif
46
47 #if defined (HAVE_CONIO_H)
48 # include <conio.h>
49 #endif
50
51 #if defined (HAVE_CTYPE_H)
52 # include <ctype.h>
53 #endif
54
55 #if defined (HAVE_LIBGEN_H)
56 // libgen selects Posix versions of dirname/basename in stead of GNU versions.
57 # include <libgen.h>
58 #endif
59
60 #if defined (HAVE_READLINE_READLINE_H)
61 # include <readline/readline.h>
62 #endif
63
64 #if defined (HAVE_READLINE_HISTORY_H)
65 # include <readline/history.h>
66 #endif
67
68 #if defined (HAVE_DIRENT_H)
69 # include <dirent.h>
70 #endif
71
72 #if defined (HAVE_DL)
73 # include <dlfcn.h>
74 #endif
75
76 #if defined (HAVE_ENDIAN_H)
77 # include <endian.h>
78 #endif
79
80 #if defined (HAVE_ERRNO_H)
81 # include <errno.h>
82 #endif
83
84 #if defined (HAVE_FCNTL_H)
85 # include <fcntl.h>
86 #endif
87
88 #if defined (HAVE_FENV_H)
89 # include <fenv.h>
90 #endif
91
92 #if defined (HAVE_FLOAT_H)
93 # include <float.h>
94 #endif
95
96 #if defined (HAVE_MATH_H)
97 # include <math.h>
98 #endif
99
100 #if defined (HAVE_COMPLEX_H)
101 # include <complex.h>
102 #endif
103
104 #if defined (HAVE_GNU_PLOTUTILS)
105 # include <plot.h>
106 #endif
107
108 #if defined (HAVE_PTHREAD_H)
109 # include <pthread.h>
110 #endif
111
112 #if defined (HAVE_QUADMATH_H)
113 # include <quadmath.h>
114 #endif
115
116 #if defined (HAVE_SETJMP_H)
117 # include <setjmp.h>
118 #endif
119
120 #if defined (HAVE_SIGNAL_H)
121 # include <signal.h>
122 #endif
123
124 #if defined (HAVE_STDARG_H)
125 # include <stdarg.h>
126 #endif
127
128 #if defined (HAVE_STDBOOL_H)
129 # include <stdbool.h>
130 #endif
131
132 #if defined (HAVE_STDDEF_H)
133 # include <stddef.h>
134 #endif
135
136 #if defined (HAVE_STDINT_H)
137 # include <stdint.h>
138 #endif
139
140 #if defined (HAVE_STDLIB_H)
141 # include <stdlib.h>
142 #endif
143
144 #if defined (HAVE_STRING_H)
145 # include <string.h>
146 #endif
147
148 #if defined (HAVE_STRINGS_H)
149 # include <strings.h>
150 #endif
151
152 #if (defined (HAVE_TERMIOS_H) && ! defined (TIOCGWINSZ))
153 # include <termios.h>
154 #elif (defined (HAVE_TERMIOS_H) && ! defined (GWINSZ_IN_SYS_IOCTL))
155 # include <termios.h>
156 #endif
157
158 #if defined (HAVE_TIME_H)
159 # include <time.h>
160 #endif
161
162 #if defined (HAVE_UNISTD_H)
163 # include <unistd.h>
164 #endif
165
166 #if defined (HAVE_SYS_IOCTL_H)
167 # include <sys/ioctl.h>
168 #endif
169
170 #if defined (HAVE_SYS_RESOURCE_H)
171 # include <sys/resource.h>
172 #endif
173
174 #if defined (HAVE_SYS_STAT_H)
175 # include <sys/stat.h>
176 #endif
177
178 #if defined (HAVE_SYS_TIME_H)
179 # include <sys/time.h>
180 #endif
181
182 #if defined (HAVE_SYS_WAIT_H)
183 # include <sys/wait.h>
184 #endif
185
186 #if defined (HAVE_GNU_MPFR)
187 # define MPFR_WANT_FLOAT128
188 # include <gmp.h>
189 # include <mpfr.h>
190 #endif
191
192 #if defined (HAVE_GSL_GSL_BLAS_H)
193 # include <gsl/gsl_blas.h>
194 #endif
195
196 #if defined (HAVE_GSL_GSL_COMPLEX_H)
197 # include <gsl/gsl_complex.h>
198 #endif
199
200 #if defined (HAVE_GSL_GSL_COMPLEX_MATH_H)
201 # include <gsl/gsl_complex_math.h>
202 #endif
203
204 #if defined (HAVE_GSL_GSL_EIGEN_H)
205 # include <gsl/gsl_eigen.h>
206 #endif
207
208 #if defined (HAVE_GSL_GSL_ERRNO_H)
209 # include <gsl/gsl_errno.h>
210 #endif
211
212 #if defined (HAVE_GSL_GSL_FFT_COMPLEX_H)
213 # include <gsl/gsl_fft_complex.h>
214 #endif
215
216 #if defined (HAVE_GSL_GSL_INTEGRATION_H)
217 # include <gsl/gsl_integration.h>
218 #endif
219
220 #if defined (HAVE_GSL_GSL_SF_H)
221 # include <gsl/gsl_sf.h>
222 #endif
223
224 #if defined (HAVE_GSL_GSL_SF_ELLINT_H)
225 # include <gsl/gsl_sf_ellint.h>
226 #endif
227
228 #if defined (HAVE_GSL_GSL_SF_HERMITE_H)
229 # include <gsl/gsl_sf_hermite.h>
230 #endif
231
232 #if defined (HAVE_GSL_GSL_LINALG_H)
233 # include <gsl/gsl_linalg.h>
234 #endif
235
236 #if defined (HAVE_GSL_GSL_MATH_H)
237 # include <gsl/gsl_math.h>
238 #endif
239
240 #if defined (HAVE_GSL_GSL_MATRIX_H)
241 # include <gsl/gsl_matrix.h>
242 #endif
243
244 #if defined (HAVE_GSL_GSL_PERMUTATION_H)
245 # include <gsl/gsl_permutation.h>
246 #endif
247
248 #if defined (HAVE_GSL_GSL_SF_H)
249 # include <gsl/gsl_sf.h>
250 #endif
251
252 #if defined (HAVE_GSL_GSL_STATISTICS_H)
253 # include <gsl/gsl_statistics.h>
254 #endif
255
256 #if defined (HAVE_GSL_GSL_VECTOR_H)
257 # include <gsl/gsl_vector.h>
258 #endif
259
260 #if defined (HAVE_GSL_GSL_VERSION_H)
261 # include <gsl/gsl_version.h>
262 #endif
263
264 #if defined (HAVE_CURSES)
265 # if defined (HAVE_NCURSESW_CURSES_H)
266 # include <ncursesw/curses.h>
267 # elif defined (HAVE_NCURSESW_H)
268 # include <ncursesw.h>
269 # elif defined (HAVE_NCURSES_CURSES_H)
270 # include <ncurses/curses.h>
271 # elif defined (HAVE_NCURSES_H)
272 # include <ncurses.h>
273 # elif defined (HAVE_CURSES_H)
274 # include <curses.h>
275 # else
276 # error "Curses header file required"
277 # endif
278 #endif
279
280 #if defined (HAVE_REGEX_H)
281 # if defined (BUILD_WIN32)
282 # include "a68g-regex.h"
283 # else
284 # include <regex.h>
285 # endif
286 #endif
287
288 #if defined (HAVE_LIBPQ_FE_H)
289 # if ! defined (A68_OPTIMISE)
290 # include <libpq-fe.h>
291 # endif
292 #endif
293
294 #endif
© 2002-2024 J.M. van der Veer (jmvdveer@xs4all.nl)
|