00001 /* 00002 * jconfig.txt 00003 * 00004 * Copyright (C) 1991-1994, Thomas G. Lane. 00005 * This file is part of the Independent JPEG Group's software. 00006 * For conditions of distribution and use, see the accompanying README file. 00007 * 00008 * This file documents the configuration options that are required to 00009 * customize the JPEG software for a particular system. 00010 * 00011 * The actual configuration options for a particular installation are stored 00012 * in jconfig.h. On many machines, jconfig.h can be generated automatically 00013 * or copied from one of the "canned" jconfig files that we supply. But if 00014 * you need to generate a jconfig.h file by hand, this file tells you how. 00015 * 00016 * DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING. 00017 * EDIT A COPY NAMED JCONFIG.H. 00018 */ 00019 00020 00021 /* 00022 * These symbols indicate the properties of your machine or compiler. 00023 * #define the symbol if yes, #undef it if no. 00024 */ 00025 00026 /* Does your compiler support function prototypes? 00027 * (If not, you also need to use ansi2knr, see install.txt) 00028 */ 00029 #define HAVE_PROTOTYPES 00030 00031 /* Does your compiler support the declaration "unsigned char" ? 00032 * How about "unsigned short" ? 00033 */ 00034 #define HAVE_UNSIGNED_CHAR 00035 #define HAVE_UNSIGNED_SHORT 00036 00037 /* Define "void" as "char" if your compiler doesn't know about type void. 00038 * NOTE: be sure to define void such that "void *" represents the most general 00039 * pointer type, e.g., that returned by malloc(). 00040 */ 00041 /* #define void char */ 00042 00043 /* Define "const" as empty if your compiler doesn't know the "const" keyword. 00044 */ 00045 /* #define const */ 00046 00047 /* Define this if an ordinary "char" type is unsigned. 00048 * If you're not sure, leaving it undefined will work at some cost in speed. 00049 * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal. 00050 */ 00051 #undef CHAR_IS_UNSIGNED 00052 00053 /* Define this if your system has an ANSI-conforming <stddef.h> file. 00054 */ 00055 #define HAVE_STDDEF_H 00056 00057 /* Define this if your system has an ANSI-conforming <stdlib.h> file. 00058 */ 00059 #define HAVE_STDLIB_H 00060 00061 /* Define this if your system does not have an ANSI/SysV <string.h>, 00062 * but does have a BSD-style <strings.h>. 00063 */ 00064 #undef NEED_BSD_STRINGS 00065 00066 /* Define this if your system does not provide typedef size_t in any of the 00067 * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in 00068 * <sys/types.h> instead. 00069 */ 00070 #undef NEED_SYS_TYPES_H 00071 00072 /* For 80x86 machines, you need to define NEED_FAR_POINTERS, 00073 * unless you are using a large-data memory model or 80386 flat-memory mode. 00074 * On less brain-damaged CPUs this symbol must not be defined. 00075 * (Defining this symbol causes large data structures to be referenced through 00076 * "far" pointers and to be allocated with a special version of malloc.) 00077 */ 00078 #undef NEED_FAR_POINTERS 00079 00080 /* Define this if your linker needs global names to be unique in less 00081 * than the first 15 characters. 00082 */ 00083 #undef NEED_SHORT_EXTERNAL_NAMES 00084 00085 /* Although a real ANSI C compiler can deal perfectly well with pointers to 00086 * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI 00087 * and pseudo-ANSI compilers get confused. To keep one of these bozos happy, 00088 * define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you 00089 * actually get "missing structure definition" warnings or errors while 00090 * compiling the JPEG code. 00091 */ 00092 #undef INCOMPLETE_TYPES_BROKEN 00093 00094 00095 /* 00096 * The following options affect code selection within the JPEG library, 00097 * but they don't need to be visible to applications using the library. 00098 * To minimize application namespace pollution, the symbols won't be 00099 * defined unless JPEG_INTERNALS has been defined. 00100 */ 00101 00102 #ifdef JPEG_INTERNALS 00103 00104 /* Define this if your compiler implements ">>" on signed values as a logical 00105 * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift, 00106 * which is the normal and rational definition. 00107 */ 00108 #undef RIGHT_SHIFT_IS_UNSIGNED 00109 00110 00111 #endif /* JPEG_INTERNALS */ 00112 00113 00114 /* 00115 * The remaining options do not affect the JPEG library proper, 00116 * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c). 00117 * Other applications can ignore these. 00118 */ 00119 00120 #ifdef JPEG_CJPEG_DJPEG 00121 00122 /* These defines indicate which image (non-JPEG) file formats are allowed. */ 00123 00124 #define BMP_SUPPORTED /* BMP image file format */ 00125 #define GIF_SUPPORTED /* GIF image file format */ 00126 #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 00127 #undef RLE_SUPPORTED /* Utah RLE image file format */ 00128 #define TARGA_SUPPORTED /* Targa image file format */ 00129 00130 /* Define this if you want to name both input and output files on the command 00131 * line, rather than using stdout and optionally stdin. You MUST do this if 00132 * your system can't cope with binary I/O to stdin/stdout. See comments at 00133 * head of cjpeg.c or djpeg.c. 00134 */ 00135 #undef TWO_FILE_COMMANDLINE 00136 00137 /* Define this if your system needs explicit cleanup of temporary files. 00138 * This is crucial under MS-DOS, where the temporary "files" may be areas 00139 * of extended memory; on most other systems it's not as important. 00140 */ 00141 #undef NEED_SIGNAL_CATCHER 00142 00143 /* By default, we open image files with fopen(...,"rb") or fopen(...,"wb"). 00144 * This is necessary on systems that distinguish text files from binary files, 00145 * and is harmless on most systems that don't. If you have one of the rare 00146 * systems that complains about the "b" spec, define this symbol. 00147 */ 00148 #undef DONT_USE_B_MODE 00149 00150 /* Define this if you want percent-done progress reports from cjpeg/djpeg. 00151 */ 00152 #undef PROGRESS_REPORT 00153 00154 00155 #endif /* JPEG_CJPEG_DJPEG */