jconfig.txt 5.7 KB

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