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) && !defined (TIOCGWINSZ))
 155    #include <termios.h>
 156  #elif (defined (HAVE_TERMIOS_H) && !defined (GWINSZ_IN_SYS_IOCTL))
 157    #include <termios.h>
 158  #endif
 159  
 160  #if defined (HAVE_TIME_H)
 161    #include <time.h>
 162  #endif
 163  
 164  #if defined (HAVE_UNISTD_H)
 165    #include <unistd.h>
 166  #endif
 167  
 168  #if defined (HAVE_SYS_IOCTL_H)
 169    #include <sys/ioctl.h>
 170  #endif
 171  
 172  #if defined (HAVE_SYS_RESOURCE_H)
 173    #include <sys/resource.h>
 174  #endif
 175  
 176  #if defined (HAVE_SYS_STAT_H)
 177    #include <sys/stat.h>
 178  #endif
 179  
 180  #if defined (HAVE_SYS_TIME_H)
 181    #include <sys/time.h>
 182  #endif
 183  
 184  #if defined (HAVE_SYS_WAIT_H)
 185    #include <sys/wait.h>
 186  #endif
 187  
 188  #if defined (HAVE_GNU_MPFR)
 189    #define MPFR_WANT_FLOAT128
 190    #include <gmp.h>
 191    #include <mpfr.h>
 192  #endif
 193  
 194  #if defined (HAVE_GSL_GSL_BLAS_H)
 195    #include <gsl/gsl_blas.h>
 196  #endif
 197  
 198  #if defined (HAVE_GSL_GSL_COMPLEX_H)
 199    #include <gsl/gsl_complex.h>
 200  #endif
 201  
 202  #if defined (HAVE_GSL_GSL_COMPLEX_MATH_H)
 203    #include <gsl/gsl_complex_math.h>
 204  #endif
 205  
 206  #if defined (HAVE_GSL_GSL_EIGEN_H)
 207    #include <gsl/gsl_eigen.h>
 208  #endif
 209  
 210  #if defined (HAVE_GSL_GSL_ERRNO_H)
 211    #include <gsl/gsl_errno.h>
 212  #endif
 213  
 214  #if defined (HAVE_GSL_GSL_FFT_COMPLEX_H)
 215    #include <gsl/gsl_fft_complex.h>
 216  #endif
 217  
 218  #if defined (HAVE_GSL_GSL_INTEGRATION_H)
 219    #include <gsl/gsl_integration.h>
 220  #endif
 221  
 222  #if defined (HAVE_GSL_GSL_SF_H)
 223    #include <gsl/gsl_sf.h>
 224  #endif
 225  
 226  #if defined (HAVE_GSL_GSL_SF_ELLINT_H)
 227    #include <gsl/gsl_sf_ellint.h>
 228  #endif
 229  
 230  #if defined (HAVE_GSL_GSL_SF_HERMITE_H)
 231    #include <gsl/gsl_sf_hermite.h>
 232  #endif
 233  
 234  #if defined (HAVE_GSL_GSL_LINALG_H)
 235    #include <gsl/gsl_linalg.h>
 236  #endif
 237  
 238  #if defined (HAVE_GSL_GSL_MATH_H)
 239    #include <gsl/gsl_math.h>
 240  #endif
 241  
 242  #if defined (HAVE_GSL_GSL_MATRIX_H)
 243    #include <gsl/gsl_matrix.h>
 244  #endif
 245  
 246  #if defined (HAVE_GSL_GSL_PERMUTATION_H)
 247    #include <gsl/gsl_permutation.h>
 248  #endif
 249  
 250  #if defined (HAVE_GSL_GSL_SF_H)
 251    #include <gsl/gsl_sf.h>
 252  #endif
 253  
 254  #if defined (HAVE_GSL_GSL_STATISTICS_H)
 255    #include <gsl/gsl_statistics.h>
 256  #endif
 257  
 258  #if defined (HAVE_GSL_GSL_VECTOR_H)
 259    #include <gsl/gsl_vector.h>
 260  #endif
 261  
 262  #if defined (HAVE_GSL_GSL_VERSION_H)
 263    #include <gsl/gsl_version.h>
 264  #endif
 265  
 266  #if defined (HAVE_CURSES)
 267    #if defined (HAVE_NCURSESW_CURSES_H)
 268      #include <ncursesw/curses.h>
 269    #elif defined (HAVE_NCURSESW_H)
 270      #include <ncursesw.h>
 271    #elif defined (HAVE_NCURSES_CURSES_H)
 272      #include <ncurses/curses.h>
 273    #elif defined (HAVE_NCURSES_H)
 274      #include <ncurses.h>
 275    #elif defined (HAVE_CURSES_H)
 276      #include <curses.h>
 277    #else
 278      #error "Curses header file required"
 279    #endif
 280  #endif
 281  
 282  #if defined (HAVE_REGEX_H)
 283    #if defined (BUILD_WINDOWS)
 284      #include "a68g-regex.h"
 285    #else
 286      #include <regex.h>
 287    #endif
 288  #endif
 289  
 290  #if defined (HAVE_LIBPQ_FE_H)
 291    #if !defined (A68G_OPTIMISE)
 292      #include <libpq-fe.h>
 293    #endif
 294  #endif
 295  
 296  #endif
     


© 2002-2025 J.M. van der Veer (jmvdveer@xs4all.nl)