jconfig.doc 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. /*
  2. * jconfig.doc
  3. *
  4. * Copyright (C) 1991-1994, Thomas G. Lane.
  5. * This file is part of the Independent JPEG Group's software.
  6. * For conditions of distribution and use, see the accompanying README file.
  7. *
  8. * This file documents the configuration options that are required to
  9. * customize the JPEG software for a particular system.
  10. *
  11. * The actual configuration options for a particular installation are stored
  12. * in jconfig.h. On many machines, jconfig.h can be generated automatically
  13. * or copied from one of the "canned" jconfig files that we supply. But if
  14. * you need to generate a jconfig.h file by hand, this file tells you how.
  15. *
  16. * DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING.
  17. * EDIT A COPY NAMED JCONFIG.H.
  18. */
  19. /*
  20. * These symbols indicate the properties of your machine or compiler.
  21. * #define the symbol if yes, #undef it if no.
  22. */
  23. /* Does your compiler support function prototypes?
  24. * (If not, you also need to use ansi2knr, see install.doc)
  25. */
  26. #define HAVE_PROTOTYPES
  27. /* Does your compiler support the declaration "unsigned char" ?
  28. * How about "unsigned short" ?
  29. */
  30. #define HAVE_UNSIGNED_CHAR
  31. #define HAVE_UNSIGNED_SHORT
  32. /* Define "void" as "char" if your compiler doesn't know about type void.
  33. * NOTE: be sure to define void such that "void *" represents the most general
  34. * pointer type, e.g., that returned by malloc().
  35. */
  36. /* #define void char */
  37. /* Define "const" as empty if your compiler doesn't know the "const" keyword.
  38. */
  39. /* #define const */
  40. /* Define this if an ordinary "char" type is unsigned.
  41. * If you're not sure, leaving it undefined will work at some cost in speed.
  42. * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal.
  43. */
  44. #undef CHAR_IS_UNSIGNED
  45. /* Define this if your system has an ANSI-conforming <stddef.h> file.
  46. */
  47. #define HAVE_STDDEF_H
  48. /* Define this if your system has an ANSI-conforming <stdlib.h> file.
  49. */
  50. #define HAVE_STDLIB_H
  51. /* Define this if your system does not have an ANSI/SysV <string.h>,
  52. * but does have a BSD-style <strings.h>.
  53. */
  54. #undef NEED_BSD_STRINGS
  55. /* Define this if your system does not provide typedef size_t in any of the
  56. * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in
  57. * <sys/types.h> instead.
  58. */
  59. #undef NEED_SYS_TYPES_H
  60. /* For 80x86 machines, you need to define NEED_FAR_POINTERS,
  61. * unless you are using a large-data memory model or 80386 flat-memory mode.
  62. * On less brain-damaged CPUs this symbol must not be defined.
  63. * (Defining this symbol causes large data structures to be referenced through
  64. * "far" pointers and to be allocated with a special version of malloc.)
  65. */
  66. #undef NEED_FAR_POINTERS
  67. /* Define this if your linker needs global names to be unique in less
  68. * than the first 15 characters.
  69. */
  70. #undef NEED_SHORT_EXTERNAL_NAMES
  71. /* Although a real ANSI C compiler can deal perfectly well with pointers to
  72. * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI
  73. * and pseudo-ANSI compilers get confused. To keep one of these bozos happy,
  74. * define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you
  75. * actually get "missing structure definition" warnings or errors while
  76. * compiling the JPEG code.
  77. */
  78. #undef INCOMPLETE_TYPES_BROKEN
  79. /*
  80. * The following options affect code selection within the JPEG library,
  81. * but they don't need to be visible to applications using the library.
  82. * To minimize application namespace pollution, the symbols won't be
  83. * defined unless JPEG_INTERNALS has been defined.
  84. */
  85. #ifdef JPEG_INTERNALS
  86. /* Define this if your compiler implements ">>" on signed values as a logical
  87. * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
  88. * which is the normal and rational definition.
  89. */
  90. #undef RIGHT_SHIFT_IS_UNSIGNED
  91. #endif /* JPEG_INTERNALS */
  92. /*
  93. * The remaining options do not affect the JPEG library proper,
  94. * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c).
  95. * Other applications can ignore these.
  96. */
  97. #ifdef JPEG_CJPEG_DJPEG
  98. /* These defines indicate which image (non-JPEG) file formats are allowed. */
  99. #define BMP_SUPPORTED /* BMP image file format */
  100. #define GIF_SUPPORTED /* GIF image file format */
  101. #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
  102. #undef RLE_SUPPORTED /* Utah RLE image file format */
  103. #define TARGA_SUPPORTED /* Targa image file format */
  104. /* Define this if you want to name both input and output files on the command
  105. * line, rather than using stdout and optionally stdin. You MUST do this if
  106. * your system can't cope with binary I/O to stdin/stdout. See comments at
  107. * head of cjpeg.c or djpeg.c.
  108. */
  109. #undef TWO_FILE_COMMANDLINE
  110. /* Define this if your system needs explicit cleanup of temporary files.
  111. * This is crucial under MS-DOS, where the temporary "files" may be areas
  112. * of extended memory; on most other systems it's not as important.
  113. */
  114. #undef NEED_SIGNAL_CATCHER
  115. /* By default, we open image files with fopen(...,"rb") or fopen(...,"wb").
  116. * This is necessary on systems that distinguish text files from binary files,
  117. * and is harmless on most systems that don't. If you have one of the rare
  118. * systems that complains about the "b" spec, define this symbol.
  119. */
  120. #undef DONT_USE_B_MODE
  121. /* Define this if you want percent-done progress reports from cjpeg/djpeg.
  122. */
  123. #undef PROGRESS_REPORT
  124. #endif /* JPEG_CJPEG_DJPEG */