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