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