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-2023 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  #if !defined (__A68G_INCLUDES_H__)
  23  #define __A68G_INCLUDES_H__
  24  
  25  // Includes
  26  
  27  #if defined (HAVE_SYS_TYPES_H)
  28  #include <sys/types.h>
  29  #endif
  30  
  31  #if defined (HAVE_STDIO_H)
  32  #include <stdio.h>
  33  #endif
  34  
  35  #if defined (HAVE_LIMITS_H)
  36  #include <limits.h>
  37  #endif
  38  
  39  #if defined (HAVE_ASSERT_H)
  40  #include <assert.h>
  41  #endif
  42  
  43  #if defined (HAVE_CONIO_H)
  44  #include <conio.h>
  45  #endif
  46  
  47  #if defined (HAVE_CTYPE_H)
  48  #include <ctype.h>
  49  #endif
  50  
  51  #if defined (HAVE_CURSES_H)
  52  #include <curses.h>
  53  #elif defined (HAVE_NCURSES_CURSES_H)
  54  #include <ncurses/curses.h>
  55  #endif
  56  
  57  #if defined (HAVE_LIBGEN_H)
  58  // libgen selects Posix versions of dirname/basename in stead of GNU versions.
  59  #include <libgen.h>
  60  #endif
  61  
  62  #if defined (HAVE_READLINE_READLINE_H)
  63  #include <readline/readline.h>
  64  #endif
  65  
  66  #if defined (HAVE_READLINE_HISTORY_H)
  67  #include <readline/history.h>
  68  #endif
  69  
  70  #if defined (HAVE_DIRENT_H)
  71  #include <dirent.h>
  72  #endif
  73  
  74  #if defined (HAVE_DL)
  75  #include <dlfcn.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_FLOAT_H)
  87  #include <float.h>
  88  #endif
  89  
  90  #if defined (HAVE_LIBPQ_FE_H)
  91  # if ! defined (A68_OPTIMISE)
  92  #  include <libpq-fe.h>
  93  # endif
  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  #undef I
 103  #endif
 104  
 105  #if defined (HAVE_NETDB_H)
 106  #include <netdb.h>
 107  #endif
 108  
 109  #if defined (HAVE_NETINET_IN_H)
 110  #include <netinet/in.h>
 111  #endif
 112  
 113  #if defined (HAVE_GNU_PLOTUTILS)
 114  #include <plot.h>
 115  #endif
 116  
 117  // #if defined (HAVE_QUADMATH_H)
 118  // #include <quadmath.h>
 119  // #endif
 120  
 121  #if defined (HAVE_PTHREAD_H)
 122  #include <pthread.h>
 123  #endif
 124  
 125  #if defined (HAVE_SETJMP_H)
 126  #include <setjmp.h>
 127  #endif
 128  
 129  #if defined (HAVE_SIGNAL_H)
 130  #include <signal.h>
 131  #endif
 132  
 133  #if defined (HAVE_STDARG_H)
 134  #include <stdarg.h>
 135  #endif
 136  
 137  #if defined (HAVE_STDDEF_H)
 138  #include <stddef.h>
 139  #endif
 140  
 141  #if defined (HAVE_STDINT_H)
 142  #include <stdint.h>
 143  #endif
 144  
 145  #if defined (HAVE_STDLIB_H)
 146  #include <stdlib.h>
 147  #endif
 148  
 149  #if defined (HAVE_STRING_H)
 150  #include <string.h>
 151  #endif
 152  
 153  #if defined (HAVE_STRINGS_H)
 154  #include <strings.h>
 155  #endif
 156  
 157  #if (defined (HAVE_TERMIOS_H) && ! defined (TIOCGWINSZ))
 158  #include <termios.h>
 159  #elif (defined (HAVE_TERMIOS_H) && ! defined (GWINSZ_IN_SYS_IOCTL))
 160  #include <termios.h>
 161  #endif
 162  
 163  #if defined (HAVE_TIME_H)
 164  #include <time.h>
 165  #endif
 166  
 167  #if defined (HAVE_UNISTD_H)
 168  #include <unistd.h>
 169  #endif
 170  
 171  #if defined (HAVE_SYS_IOCTL_H)
 172  #include <sys/ioctl.h>
 173  #endif
 174  
 175  #if defined (HAVE_SYS_RESOURCE_H)
 176  #include <sys/resource.h>
 177  #endif
 178  
 179  #if defined (HAVE_SYS_SOCKET_H)
 180  #include <sys/socket.h>
 181  #endif
 182  
 183  #if defined (HAVE_SYS_STAT_H)
 184  #include <sys/stat.h>
 185  #endif
 186  
 187  #if defined (HAVE_SYS_TIME_H)
 188  #include <sys/time.h>
 189  #endif
 190  
 191  #if defined (HAVE_SYS_WAIT_H)
 192  #include <sys/wait.h>
 193  #endif
 194  
 195  #if defined (HAVE_GNU_MPFR)
 196  #define MPFR_WANT_FLOAT128
 197  #include <gmp.h>
 198  #include <mpfr.h>
 199  #endif
 200  
 201  #if defined (HAVE_GSL_GSL_BLAS_H)
 202  #include <gsl/gsl_blas.h>
 203  #endif
 204  
 205  #if defined (HAVE_GSL_GSL_COMPLEX_H)
 206  #include <gsl/gsl_complex.h>
 207  #endif
 208  
 209  #if defined (HAVE_GSL_GSL_COMPLEX_MATH_H)
 210  #include <gsl/gsl_complex_math.h>
 211  #endif
 212  
 213  #if defined (HAVE_GSL_GSL_EIGEN_H)
 214  #include <gsl/gsl_eigen.h>
 215  #endif
 216  
 217  #if defined (HAVE_GSL_GSL_ERRNO_H)
 218  #include <gsl/gsl_errno.h>
 219  #endif
 220  
 221  #if defined (HAVE_GSL_GSL_FFT_COMPLEX_H)
 222  #include <gsl/gsl_fft_complex.h>
 223  #endif
 224  
 225  #if defined (HAVE_GSL_GSL_INTEGRATION_H)
 226  #include <gsl/gsl_integration.h>
 227  #endif
 228  
 229  #if defined (HAVE_GSL_GSL_LINALG_H)
 230  #include <gsl/gsl_linalg.h>
 231  #endif
 232  
 233  #if defined (HAVE_GSL_GSL_MATH_H)
 234  #include <gsl/gsl_math.h>
 235  #endif
 236  
 237  #if defined (HAVE_GSL_GSL_MATRIX_H)
 238  #include <gsl/gsl_matrix.h>
 239  #endif
 240  
 241  #if defined (HAVE_GSL_GSL_PERMUTATION_H)
 242  #include <gsl/gsl_permutation.h>
 243  #endif
 244  
 245  #if defined (HAVE_GSL_GSL_SF_H)
 246  #include <gsl/gsl_sf.h>
 247  #endif
 248  
 249  #if defined (HAVE_GSL_GSL_STATISTICS_H)
 250  #include <gsl/gsl_statistics.h>
 251  #endif
 252  
 253  #if defined (HAVE_GSL_GSL_VECTOR_H)
 254  #include <gsl/gsl_vector.h>
 255  #endif
 256  
 257  #if defined (HAVE_GSL_GSL_VERSION_H)
 258  #include <gsl/gsl_version.h>
 259  #endif
 260  
 261  #if defined (HAVE_REGEX_H)
 262  # if defined (BUILD_WIN32)
 263  #  include "a68g-regex.h"
 264  # else
 265  #  include <regex.h>
 266  # endif
 267  #endif
 268  
 269  #endif