home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / TeX / site.h < prev   
C/C++ Source or Header  |  1994-11-22  |  9KB  |  255 lines

  1. /* Master configuration file for WEB to C.  Almost all the definitions
  2.    are wrapped with #ifndef's, so that you can override them from the
  3.    command line, if you want to.  */
  4.  
  5. #ifndef __WEB2C_SITE_H
  6. #define __WEB2C_SITE_H
  7.  
  8. /* Define if you're running on AMIGA system with Lattice C.  */
  9. #ifndef AMIGA
  10. # ifndef atarist    /* (br) ;-) */
  11. #  define AMIGA
  12. # endif
  13. #endif
  14.  
  15. /* Define if you're running on 4.2 or 4.3 BSD-based system.  */
  16. #ifndef BSD
  17. #undef    BSD
  18. #endif
  19.  
  20. /* Define if you're running on System V-based system.  */
  21. #ifndef SYSV
  22. #undef    SYSV
  23. #endif
  24.  
  25. /* Define if you're running on an HP-based system (also define SYSV).  */
  26. #ifndef HP
  27. #undef HP
  28. #endif
  29.  
  30. /* Define if you're running on an AIX-based system.  */
  31. #ifndef AIX
  32. #undef AIX
  33. #endif
  34.  
  35. /* Define if you're running on a POSIX-based system.  */
  36. #ifndef _POSIX_SOURCE
  37. #undef _POSIX_SOURCE
  38. #endif
  39.  
  40. /* Define this if the system will be compiled with an ANSI C compiler,
  41.    and never with a non-ANSI compiler.  It changes web2c so that it
  42.    produces ANSI C as its output.  This is a perhaps good idea, but you
  43.    don't necessarily gain anything in the production programs by doing
  44.    it.  If you do define this, you must also have a declaration for
  45.    sprintf(3) in <stdio.h>.  */ 
  46. #ifndef ANSI
  47. #define    ANSI
  48. #endif
  49.  
  50. /* Define these according to your local setup.  It doesn't hurt anything
  51.    to have `.' in all the paths, but since most users do not have their
  52.    own fonts, formats, or string pools, it only slows things down.
  53.    Do not put a leading or trailing colon in these paths, or double a
  54.    colon in the middle.  That might lead to infinite recursion.
  55.    Also see TEXFONTS_SUBDIR et al., below.  */
  56. #ifdef atarist
  57. # define TEXFONTS   ".;/tex/fonts/tfm"
  58. # define TEXFORMATS "/tex/formats"
  59. # define TEXINPUTS  ".;/tex/macros/latex;/tex/macros/tex"
  60. # define TEXPOOL    ".;/tex/pool"
  61. # define TEXCONFIG  ".;/tex/config;/"
  62. #else
  63. # ifdef AMIGA
  64. #  define TEXFONTS   ".,TeX:fonts/tfm,TeX:fonts"
  65. #  define TEXFORMATS "TeX:formats"
  66. #  define TEXINPUTS  ".,TeX:inputs/*,TeX:macros"
  67. #  define TEXPOOL    ".,TeX:pool,TeX:"
  68. #  define TEXCONFIG  "TeX:config"
  69. # else
  70. #  define TEXFONTS   ""
  71. #  define TEXFORMATS "/usr/local/lib/tex/formats"
  72. #  define TEXINPUTS  "."
  73. #  define TEXPOOL    "/usr/local/lib/tex"
  74. #  define MFBASES    "/usr/local/lib/mf/bases"
  75. #  define MFINPUTS   ".:/usr/local/lib/mf/macros"
  76. #  define MFPOOL     "/usr/local/lib/mf"
  77. /* #define VFFONTS "somepath" */
  78. # endif
  79. #endif
  80.  
  81. /* Define this if you want subdirectories of directories in the search
  82.    paths to be searched.  (See discussion in ./README.WEB2C of directory
  83.    hierarchies.)  */
  84. #ifndef SEARCH_SUBDIRECTORIES
  85. #undef SEARCH_SUBDIRECTORIES
  86. #endif
  87.  
  88. /* If SEARCH_SUBDIRECTORIES is defined, these symbols define paths in
  89.    which to look for subdirectories.  The directories in TEXFONTS and
  90.    the like, above, are not searched for subdirectories.  The
  91.    directories named here are not themselves searched for files.  Not
  92.    all of the symbols here need be defined.  If you don't want to define
  93.    a default directory, but want users to be able to define the
  94.    environment variables, define the symbol to be the empty string.  */
  95. #ifdef SEARCH_SUBDIRECTORIES
  96. #define TEXFONTS_SUBDIR "/usr/local/lib/tex/fonts"
  97. #define TEXINPUTS_SUBDIR "/usr/local/lib/tex/macros"
  98. #define MFINPUTS_SUBDIR "/src/TeX+MF/typefaces"
  99. #endif
  100.  
  101. /* BibTeX search path for .bib files.  BibTeX uses TEXINPUTS to search
  102.    for .bst files.  */ 
  103. #define    BIBINPUTS    ".:/usr/local/lib/tex/bib"
  104.  
  105. /* Metafont window support: More than one may be defined, as long as you
  106.    don't try to have both X10 and X11 support (because there are
  107.    conflicting routine names in the libraries).  After you've defined
  108.    these, make sure to update the top-level Makefile accordingly.  Also,
  109.    if you want X11 support, see the `Online output from Metafont'
  110.    section in ./README before compiling.  */
  111. #undef    HP2627WIN        /* HP 2627. */
  112. #undef    SUNWIN            /* SunWindows. */
  113. #undef    TEKTRONIXWIN        /* Tektronix 4014. */
  114. #undef    UNITERMWIN        /* Uniterm Tektronix.  */
  115. #undef    X10WIN            /* X Version 10. */
  116. #undef    X11WIN            /* X Version 11. */
  117.  
  118. #if defined(X10WIN) && defined(X11WIN)
  119. sorry
  120. #endif
  121.  
  122. /* Default editor command string: `%d' expands to the line number where
  123.    TeX or Metafont found an error and `%s' expands to the name of the
  124.    file.  The environment variables TEXEDIT and MFEDIT override this.  */
  125. #ifdef atarist
  126. # define EDITOR "c:/bin/me.ttp +%d %s"
  127. #else
  128. # ifdef AMIGA
  129. #  define EDITOR    "ed %s -i"        /* system command */
  130. #  define REXXEDITOR    "texedit %s %d"        /* ARexx command */
  131. # else
  132. #  define EDITOR "/usr/ucb/vi +%d %s"
  133. # endif
  134. #endif
  135.  
  136. /* Define this if you have getwd in your C library.  If you have getcwd,
  137.    but not getwd, don't define it.  This symbol is only relevant if
  138.    SEARCH_SUBDIRECTORIES is defined.  */
  139. #ifndef HAVE_GETWD
  140. #undef HAVE_GETWD
  141. #endif
  142.  
  143. /* Define this to be the return type of your signal handlers.  POSIX
  144.    says it should be `void', but some older systems want `int'.  Check
  145.    your <signal.h> include file if you're not sure.  */
  146. #ifndef SIGNAL_HANDLER_RETURN_TYPE
  147. #define SIGNAL_HANDLER_RETURN_TYPE void
  148. #endif
  149.  
  150. /* Define this to be what your sprintf(3) routine returns---most likely
  151.    `int' or `char *'.  Since the calls to sprintf are always cast to
  152.    void, anyway, this is only necessary to avoid conflicts between
  153.    declarations.  If you have ANSI or _POSIX_SOURCE defined, this symbol
  154.    is irrelevant.  */
  155. #ifndef SPRINTF_RETURN_TYPE
  156. #define SPRINTF_RETURN_TYPE int
  157. #endif
  158.  
  159. /* The type `glueratio' should be a floating point type which won't
  160.    unnecessarily increase the size of the memoryword structure.  This is
  161.    the basic requirement.  On most machines, if you're building a
  162.    normal-sized TeX, then glueratio must probably meet the following
  163.    restriction: sizeof(glueratio) <= sizeof(integer).  Usually, then,
  164.    glueratio must be `float'.  But if you build a big TeX, you can (on
  165.    most machines) and should make it `double' to avoid loss of precision
  166.    and conversions to and from double during calculations.  (All this
  167.    also goes for Metafont.)  Furthermore, if you have enough memory, it
  168.    won't hurt to have this defined to be `double' for running the
  169.    trip/trap tests.  */
  170. #ifdef BIG        /* or 'ifdef BIG' */
  171. typedef double glueratio;
  172. #else
  173. typedef float glueratio;
  174. #endif
  175.  
  176. /* Define this if you want TeX to be compiled with local variables
  177.    declared as `register'.  On SunOS 3.2 and 3.4 (at least), compiling
  178.    with cc, this will cause problems.  If you're using gcc or the SunOS
  179.    4.x compiler, and compiling with -O, register declarations are
  180.    ignored, so there is no point in defining this.  */
  181. #ifndef REGFIX
  182. #undef    REGFIX
  183. #endif
  184.  
  185. /* If the type `int' is at least 32 bits (including a sign bit), this
  186.    symbol should be #undef'd; otherwise, it should be #define'd.  If
  187.    your compiler uses 16-bit int's, arrays larger than 32K may give you
  188.    problems, especially if indices are automatically cast to int's.  */
  189. #ifndef SIXTEENBIT
  190. #undef    SIXTEENBIT
  191. #endif
  192.  
  193. /* Our character set is 8-bit ASCII unless NONASCII is defined.  For
  194.    other character sets, make sure that first_text_char and
  195.    last_text_char are defined correctly (they're 0 and 255,
  196.    respectively, by default).  In the *.defines files, change the
  197.    indicated range of type `char' to be the same as
  198.    first_text_char..last_text_char, `#define NONASCII', and retangle and
  199.    recompile everything.  */
  200. /* (br) if we use CodePages, define NONASCII !!!!! */
  201. #ifndef NONASCII
  202. #define    NONASCII
  203. #endif
  204.  
  205. /* The type `schar' should be defined here to be the smallest signed
  206.    type available.  ANSI C compilers may need to use `signed char'.  If
  207.    your char type is unsigned, then define schar to be the type
  208.    `short'.  */
  209. #ifdef AIX
  210. typedef int schar;
  211. #else
  212. typedef    signed char schar;
  213. #endif
  214.  
  215. #ifdef AMIGA
  216. # include <stdlib.h>
  217. # include <stddef.h>
  218. # include <limits.h>
  219. # ifndef LATTICE
  220. #  ifndef fileno
  221. #   define fileno(fp) ((int)(fp)->_unit)
  222. #  endif
  223. # endif
  224. # if defined(AMIGA) && defined(LATTICE)
  225. #  ifndef __SASC_60
  226.    typedef struct {
  227.     long quot;
  228.     long rem;
  229.    } ldiv_t;            /* quotient and remainder for ldiv() */
  230.  
  231.    ldiv_t ldiv(long int numer, long int denom);
  232. #  endif
  233. # endif
  234. # define AMIGA_ASM
  235.     /* some functions in tex0.c are in the asm file amiasm0.asm */
  236.     /* only defined in !BIG  !! */
  237. #endif
  238.  
  239. #ifdef atarist
  240. # include <stdlib.h>
  241. # include <stddef.h>
  242. #endif
  243.  
  244. /* The type `integer' must be a signed integer capable of holding at
  245.    least the range of numbers (-2^31)..(2^32-1).  The ANSI C standard
  246.    says that `long' meets this requirement, but if you don't have an
  247.    ANSI C compiler, you might have to change this definition.  */
  248. typedef long integer;
  249.  
  250. /* You need not worry about the definitions in `defaults.h' unless
  251.    something goes wrong.  */
  252. #include "defaults.h"
  253.  
  254. #endif /* not __WEB2C_SITE_H */
  255.