|
|
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-2026 J. Marcel van der Veer [algol68g@algol68genie.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
© 2001-2026 J.M. van der Veer
jmvdveer@algol68genie.nl