Back to index

tetex-bin  3.0
config.h
Go to the documentation of this file.
00001 /* config.h: master configuration file, included first by all compilable
00002    source files (not headers).
00003 
00004 Copyright (C) 1993, 95, 96, 97, 2000 Free Software Foundation, Inc.
00005 
00006 This library is free software; you can redistribute it and/or
00007 modify it under the terms of the GNU Library General Public
00008 License as published by the Free Software Foundation; either
00009 version 2 of the License, or (at your option) any later version.
00010 
00011 This library is distributed in the hope that it will be useful,
00012 but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 Library General Public License for more details.
00015 
00016 You should have received a copy of the GNU Library General Public
00017 License along with this library; if not, write to the Free Software
00018 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
00019 
00020 #ifndef KPATHSEA_CONFIG_H
00021 #define KPATHSEA_CONFIG_H
00022 
00023 /* System defines are for non-Unix systems only.  (Testing for all Unix
00024    variations should be done in configure.)  Presently the defines used
00025    are: AMIGA DOS OS2 WIN32.  I do not use any of these systems myself;
00026    if you do, I'd be grateful for any changes. --olaf@infovore.xs4all.nl */
00027 
00028 #if defined(DJGPP)    || defined(__DJGPP__)     || \
00029     defined(CYGWIN)   || defined(__CYGWIN__)    || \
00030     defined(CYGWIN32) || defined(__CYGWIN32__)  || \
00031     defined(MINGW32)  || defined(__MINGW32__)
00032 #define __i386_pc_gnu__
00033 #endif
00034 
00035 /* If we have either DOS or OS2, we are DOSISH.  Cygwin pretends to be
00036  * unix, mostly, so don't include it here.
00037  */
00038 #if defined(OS2)     || \
00039     defined(MSDOS)   || defined(__MSDOS__) || defined(DOS)    || \
00040     defined(WIN32)   || defined(__WIN32__) || defined(_WIN32) || \
00041     defined(DJGPP)   || defined(__DJGPP__) || \
00042     defined(MINGW32) || defined(__MINGW32__)
00043 #define DOSISH
00044 #endif
00045 
00046 /* case-insensitive filename comparisons? */
00047 #if defined (DOSISH)
00048 #define MONOCASE_FILENAMES
00049 #endif
00050 
00051 /* NULL device. */
00052 #if defined (DOSISH)
00053 #define DEV_NULL "NUL"
00054 #else
00055 #define DEV_NULL "/dev/null"
00056 #endif
00057 
00058 #ifdef WIN32
00059 #define __STDC__ 1
00060 #endif /* not WIN32 */
00061 
00062 /* System dependencies that are figured out by `configure'.  */
00063 #include <kpathsea/c-auto.h>
00064 
00065 #ifdef __DJGPP__
00066 #include <fcntl.h>   /* for long filenames' stuff */
00067 #include <dir.h>     /* for `getdisk' */
00068 #include <io.h>             /* for `setmode' */
00069 #endif
00070 
00071 /* Some drivers have partially integrated kpathsea changes.  */
00072 #ifndef KPATHSEA
00073 #define KPATHSEA 34
00074 #endif
00075 
00076 #include <kpathsea/c-std.h>    /* <stdio.h>, <math.h>, etc.  */
00077 
00078 #include <kpathsea/c-proto.h>  /* Macros to discard or keep prototypes.  */
00079 
00080 /*
00081   This must be included after "c-proto.h"
00082   but before "lib.h". FP.
00083 */
00084 #ifdef WIN32
00085 #include <win32lib.h>
00086 #endif
00087 
00088 #include <kpathsea/debug.h>    /* Runtime tracing.  */
00089 #include <kpathsea/lib.h>      /* STREQ, etc. */
00090 #include <kpathsea/types.h>    /* <sys/types.h>, boolean, string, etc. */
00091 #include <kpathsea/progname.h> /* for program_invocation_*name */
00092 
00093    
00094 /* If you want to find subdirectories in a directory with non-Unix
00095    semantics (specifically, if a directory with no subdirectories does
00096    not have exactly two links), define this.  */
00097 #if !defined (VMS) && !defined (VMCMS)
00098 #if !defined (DOSISH) || defined(__DJGPP__)
00099 /* Surprise!  DJGPP returns st_nlink exactly like on Unix.  */
00100 #define ST_NLINK_TRICK
00101 #endif /* either not DOSISH or __DJGPP__ */
00102 #endif /* not DOS and not VMS and not VMCMS */
00103 
00104 #ifdef AMIGA
00105 /* No popen/pclose on Amiga, but rather than put #ifdef's in tex-make.c,
00106    let's get rid of the functions here.  (CallMF will automatically
00107    generate fonts.)  pclose must not be simply empty, since it still
00108    occurs in a comparison.  */
00109 #define popen(cmd, mode) NULL
00110 #define pclose(file) 0
00111 #endif /* AMIGA */
00112 
00113 #ifdef OS2
00114 #define access ln_access
00115 #define chmod ln_chmod
00116 #define creat ln_creat
00117 #define fopen ln_fopen
00118 #define freopen ln_freopen
00119 #define lstat ln_lstat
00120 #define open ln_open
00121 #define remove ln_remove
00122 #define rename ln_rename
00123 #define sopen ln_sopen
00124 #define stat ln_stat
00125 #define unlink ln_unlink
00126 #endif /* OS2 */
00127 
00128 #endif /* not KPATHSEA_CONFIG_H */