Back to index

tetex-bin  3.0
config.h
Go to the documentation of this file.
00001 /* config.h: All .c files include this first.
00002 
00003 Copyright (C) 1995, 96 Karl Berry.
00004 
00005 This program is free software; you can redistribute it and/or modify
00006 it under the terms of the GNU General Public License as published by
00007 the Free Software Foundation; either version 2, or (at your option)
00008 any later version.
00009 
00010 This program is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 GNU General Public License for more details.
00014 
00015 You should have received a copy of the GNU General Public License
00016 along with this program; if not, write to the Free Software
00017 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
00018 
00019 #ifndef WEB2C_CONFIG_H
00020 #define WEB2C_CONFIG_H
00021 
00022 #if defined (TEX_DLL) && (defined (WIN32) || defined (__CYGWIN__))
00023 #ifdef MAKE_TEX_DLL
00024 #define TEXDLL __declspec (dllexport)
00025 #else /* ! MAKE_TEX_DLL */
00026 #define TEXDLL __declspec (dllimport)
00027 #endif
00028 #else /* ! (TEX_DLL && (WIN32 || __CYGWIN__)) */
00029 #define TEXDLL
00030 #endif
00031 
00032 /* The stuff from the path searching library.  */
00033 #include <kpathsea/config.h>
00034 #include <web2c/c-auto.h>
00035 
00036 #include <kpathsea/c-vararg.h>
00037 
00038 /* How to open a binary file.  */
00039 #include <kpathsea/c-fopen.h>
00040 
00041 /* The smallest signed type: use `signed char' if ANSI C, `short' if
00042    char is unsigned, otherwise `char'.  */
00043 #ifndef SCHAR_TYPE
00044 #if __STDC__
00045 #define SCHAR_TYPE signed char
00046 #else /* not __STDC */
00047 #ifdef __CHAR_UNSIGNED__
00048 #define SCHAR_TYPE short
00049 #else
00050 #define SCHAR_TYPE char
00051 #endif
00052 #endif /* not __STDC__ */
00053 #endif /* not SCHAR_TYPE */
00054 typedef SCHAR_TYPE schar;
00055 
00056 /* The type `integer' must be a signed integer capable of holding at
00057    least the range of numbers (-2^31)..(2^31-1).  If your compiler goes
00058    to great lengths to make programs fail, you might have to change this
00059    definition.  If this changes, you may have to modify
00060    web2c/fixwrites.c, since it generates code to do integer output using
00061    "%ld", and casts all integral values to be printed to `long'.
00062    
00063    If you define your own INTEGER_TYPE, you have to define your own
00064    INTEGER_MAX and INTEGER_MIN, too. */
00065 #ifndef INTEGER_TYPE
00066 
00067 #if SIZEOF_LONG > 4 && !defined (NO_DUMP_SHARE)
00068 /* If we have 64-bit longs and want to share format files (with 32-bit
00069    machines), use `int'.  */
00070 #define INTEGER_IS_INT
00071 #endif
00072 
00073 #ifdef INTEGER_IS_INT
00074 #define INTEGER_TYPE int
00075 #define INTEGER_MAX INT_MAX
00076 #define INTEGER_MIN INT_MIN
00077 #else
00078 #define INTEGER_TYPE long
00079 #define INTEGER_MAX LONG_MAX
00080 #define INTEGER_MIN LONG_MIN
00081 #endif /* not INTEGER_IS_INT */
00082 
00083 #endif /* not INTEGER_TYPE */
00084 
00085 typedef INTEGER_TYPE integer;
00086 
00087 /* I don't want to write a configure test for remove when all Unix
00088    machines have unlink.  But, for the sake of non-Unix machines that
00089    support ANSI C... */
00090 #if !defined (unix) && !defined (__unix__) && defined (__STDC__) && !defined (unlink)
00091 #define unlink remove
00092 #endif
00093 
00094 /* Window support on the Amiga is just for the Amiga.  */
00095 #ifdef AMIGA
00096 #define AMIGAWIN
00097 #endif
00098 
00099 /* Window support for WIN32 machines. */
00100 #ifdef WIN32
00101 #define WIN32WIN
00102 #endif
00103 
00104 /* strtol.c */
00105 #ifndef HAVE_STRTOL
00106 extern long strtol P3H(const char *, char **, int);
00107 #endif
00108 
00109 /* From uexit.c.  This is here because the lib/ and web2c/ routines
00110    themselves can use it, but they don't need cpascal.h.  */
00111 extern void uexit P1H(int status);
00112 
00113 /* usage.c */
00114 extern void usage P1H(const_string progname);
00115 extern void usagehelp P2H(const_string *message, const_string bug_email);
00116 
00117 #endif /* not CONFIG_H */