home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / g77-0.5.15-src.tgz / tar.out / fsf / g77 / f / proj.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  3KB  |  78 lines

  1. /* proj.h file for Gnu Fortran
  2.    Copyright (C) 1995 Free Software Foundation, Inc.
  3.    Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
  4.  
  5. This file is part of GNU Fortran.
  6.  
  7. GNU Fortran is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2, or (at your option)
  10. any later version.
  11.  
  12. GNU Fortran is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with GNU Fortran; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  20.  
  21. */
  22.  
  23. #ifndef _H_f_proj
  24. #define _H_f_proj
  25.  
  26. /* This file used to attempt to allow for all sorts of broken systems.
  27.    Because the auto-configuration scripts in conf-proj(.in) didn't work
  28.    on all systems, and I received far too many bug reports about them,
  29.    I decided to stop trying to cater to broken systems at all, and
  30.    simply remove all but the simplest and most useful code (which is
  31.    still in proj.c).
  32.  
  33.    So, if you find your system can't link because bsearch() or strtoul()
  34.    aren't found, please just fix your system, or hand-edit the code
  35.    below as appropriate.  I DO NOT WANT ANY "BUG REPORTS" ABOUT THIS.
  36.    g77 requires a working ANSI C environment, and if bsearch() and strtoul()
  37.    do not exist, or if <assert.h> isn't found, etc., then you don't have
  38.    one, and it is not g77's fault.  If it turns out g77 is simply
  39.    referring to the wrong system header file -- something I can verify
  40.    myself using my copy of the ANSI C standard -- I would like to know
  41.    about that.  Otherwise, g77 is not the place to fix problems with your
  42.    ANSI C implementation, though perhaps gcc might be.
  43.    --  burley@gnu.ai.mit.edu 1995-03-24  */
  44.  
  45. #ifndef FFEPROJ_BSEARCH
  46. #define FFEPROJ_BSEARCH 1    /* 0=>use slow code in proj.c. */
  47. #endif
  48. #ifndef FFEPROJ_STRTOUL
  49. #define FFEPROJ_STRTOUL 1    /* 0=>use untested code in proj.c. */
  50. #endif
  51.  
  52. /* Include files everyone gets. */
  53.  
  54. #include "assert.j"        /* Use gcc's assert.h. */
  55. #include <stdio.h>
  56. #include <stddef.h>
  57. #include <stdlib.h>
  58. #include <string.h>
  59.  
  60. /* Generally useful definitions. */
  61.  
  62. typedef enum
  63.   {
  64. #if !defined(false) || !defined(true)
  65.     false = 0, true = 1,
  66. #endif
  67. #if !defined(FALSE) || !defined(TRUE)
  68.     FALSE = 0, TRUE = 1,
  69. #endif
  70.     Doggone_Trailing_Comma_Dont_Work = 1
  71.   } bool;
  72.  
  73. #define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
  74. #define STR(s) # s
  75. #define STRX(s) STR(s)
  76.  
  77. #endif
  78.