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-2025 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 #if defined (HAVE_SYS_TYPES_H)
30 #include <sys/types.h>
31 #endif
32
33 #if defined (HAVE_STDIO_H)
34 #include <stdio.h>
35 #endif
36
37 #if defined (HAVE_LIMITS_H)
38 #include <limits.h>
39 #endif
40
41 #if defined (HAVE_ASSERT_H)
42 #include <assert.h>
43 #endif
44
45 #if defined (HAVE_CONIO_H)
46 #include <conio.h>
47 #endif
48
49 #if defined (HAVE_CTYPE_H)
50 #include <ctype.h>
51 #endif
52
53 #if defined (HAVE_LIBGEN_H)
54 // libgen selects Posix versions of dirname/basename in stead of GNU versions.
55 #include <libgen.h>
56 #endif
57
58 #if defined (HAVE_READLINE_READLINE_H)
59 #include <readline/readline.h>
60 #endif
61
62 #if defined (HAVE_READLINE_HISTORY_H)
63 #include <readline/history.h>
64 #endif
65
66 #if defined (HAVE_DIRENT_H)
67 #include <dirent.h>
68 #endif
69
70 #if defined (HAVE_DL)
71 #include <dlfcn.h>
72 #endif
73
74 #if defined (HAVE_ENDIAN_H)
75 #include <endian.h>
76 #endif
77
78 #if defined (HAVE_ERRNO_H)
79 #include <errno.h>
80 #endif
81
82 #if defined (HAVE_FCNTL_H)
83 #include <fcntl.h>
84 #endif
85
86 #if defined (HAVE_FENV_H)
87 #include <fenv.h>
88 #endif
89
90 #if defined (HAVE_FLOAT_H)
91 #include <float.h>
92 #endif
93
94 #if defined (HAVE_MALLOC_H)
95 #include <malloc.h>
96 #endif
97
98 #if defined (HAVE_MATH_H)
99 #include <math.h>
100 #endif
101
102 #if defined (HAVE_COMPLEX_H)
103 #include <complex.h>
104 #endif
105
106 #if defined (HAVE_GNU_PLOTUTILS)
107 #include <plot.h>
108 #endif
109
110 #if defined (HAVE_PTHREAD_H)
111 #include <pthread.h>
112 #endif
113
114 #if defined (HAVE_QUADMATH_H)
115 #include <quadmath.h>
116 #endif
117
118 #if defined (HAVE_SETJMP_H)
119 #include <setjmp.h>
120 #endif
121
122 #if defined (HAVE_SIGNAL_H)
123 #include <signal.h>
124 #endif
125
126 #if defined (HAVE_STDARG_H)
127 #include <stdarg.h>
128 #endif
129
130 #if defined (HAVE_STDBOOL_H)
131 #include <stdbool.h>
132 #endif
133
134 #if defined (HAVE_STDDEF_H)
135 #include <stddef.h>
136 #endif
137
138 #if defined (HAVE_STDINT_H)
139 #include <stdint.h>
140 #endif
141
142 #if defined (HAVE_STDLIB_H)
143 #include <stdlib.h>
144 #endif
145
146 #if defined (HAVE_STRING_H)
147 #include <string.h>
148 #endif
149
150 #if defined (HAVE_STRINGS_H)
151 #include <strings.h>
152 #endif
153
154 #if defined (HAVE_TERMIOS_H)
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_WINDOWS)
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 (A68G_OPTIMISE)
290 #include <libpq-fe.h>
291 #endif
292 #endif
293
294 #endif
|
© 2002-2025 J.M. van der Veer (jmvdveer@xs4all.nl)
|