170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* android jconfig.h */ 270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* 370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * jconfig.doc 470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * 570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * Copyright (C) 1991-1994, Thomas G. Lane. 670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * This file is part of the Independent JPEG Group's software. 770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * For conditions of distribution and use, see the accompanying README file. 870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * 970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * This file documents the configuration options that are required to 1070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * customize the JPEG software for a particular system. 1170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * 1270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * The actual configuration options for a particular installation are stored 1370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * in jconfig.h. On many machines, jconfig.h can be generated automatically 1470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * or copied from one of the "canned" jconfig files that we supply. But if 1570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * you need to generate a jconfig.h file by hand, this file tells you how. 1670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * 1770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING. 1870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * EDIT A COPY NAMED JCONFIG.H. 1970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 2070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 2170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 2270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* 2370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * These symbols indicate the properties of your machine or compiler. 2470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * #define the symbol if yes, #undef it if no. 2570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 2670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 2770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Does your compiler support function prototypes? 2870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * (If not, you also need to use ansi2knr, see install.doc) 2970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 3070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define HAVE_PROTOTYPES 3170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 3270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Does your compiler support the declaration "unsigned char" ? 3370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * How about "unsigned short" ? 3470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 3570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define HAVE_UNSIGNED_CHAR 3670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define HAVE_UNSIGNED_SHORT 3770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 3870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define "void" as "char" if your compiler doesn't know about type void. 3970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * NOTE: be sure to define void such that "void *" represents the most general 4070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * pointer type, e.g., that returned by malloc(). 4170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 4270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* #define void char */ 4370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 4470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define "const" as empty if your compiler doesn't know the "const" keyword. 4570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 4670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* #define const */ 4770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 4870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if an ordinary "char" type is unsigned. 4970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * If you're not sure, leaving it undefined will work at some cost in speed. 5070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal. 5170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 5270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef CHAR_IS_UNSIGNED 5370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 5470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your system has an ANSI-conforming <stddef.h> file. 5570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 5670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define HAVE_STDDEF_H 5770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 5870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your system has an ANSI-conforming <stdlib.h> file. 5970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 6070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define HAVE_STDLIB_H 6170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 6270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your system does not have an ANSI/SysV <string.h>, 6370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * but does have a BSD-style <strings.h>. 6470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 6570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef NEED_BSD_STRINGS 6670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 6770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your system does not provide typedef size_t in any of the 6870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in 6970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * <sys/types.h> instead. 7070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 7170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef NEED_SYS_TYPES_H 7270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 7370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* For 80x86 machines, you need to define NEED_FAR_POINTERS, 7470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * unless you are using a large-data memory model or 80386 flat-memory mode. 7570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * On less brain-damaged CPUs this symbol must not be defined. 7670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * (Defining this symbol causes large data structures to be referenced through 7770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * "far" pointers and to be allocated with a special version of malloc.) 7870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 7970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef NEED_FAR_POINTERS 8070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 8170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your linker needs global names to be unique in less 8270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * than the first 15 characters. 8370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 8470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef NEED_SHORT_EXTERNAL_NAMES 8570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 8670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Although a real ANSI C compiler can deal perfectly well with pointers to 8770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI 8870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * and pseudo-ANSI compilers get confused. To keep one of these bozos happy, 8970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you 9070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * actually get "missing structure definition" warnings or errors while 9170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * compiling the JPEG code. 9270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 9370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef INCOMPLETE_TYPES_BROKEN 9470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 9570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 9670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* 9770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * The following options affect code selection within the JPEG library, 9870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * but they don't need to be visible to applications using the library. 9970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * To minimize application namespace pollution, the symbols won't be 10070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * defined unless JPEG_INTERNALS has been defined. 10170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 10270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 10370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#ifdef JPEG_INTERNALS 10470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 10570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your compiler implements ">>" on signed values as a logical 10670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift, 10770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * which is the normal and rational definition. 10870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 10970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef RIGHT_SHIFT_IS_UNSIGNED 11070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 11170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 11270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#endif /* JPEG_INTERNALS */ 11370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 11470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 11570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* 11670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * The remaining options do not affect the JPEG library proper, 11770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c). 11870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * Other applications can ignore these. 11970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 12070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 12170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#ifdef JPEG_CJPEG_DJPEG 12270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 12370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* These defines indicate which image (non-JPEG) file formats are allowed. */ 12470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 12570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define BMP_SUPPORTED /* BMP image file format */ 12670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define GIF_SUPPORTED /* GIF image file format */ 12770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 12870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef RLE_SUPPORTED /* Utah RLE image file format */ 12970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#define TARGA_SUPPORTED /* Targa image file format */ 13070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 13170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if you want to name both input and output files on the command 13270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * line, rather than using stdout and optionally stdin. You MUST do this if 13370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * your system can't cope with binary I/O to stdin/stdout. See comments at 13470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * head of cjpeg.c or djpeg.c. 13570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 13670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef TWO_FILE_COMMANDLINE 13770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 13870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if your system needs explicit cleanup of temporary files. 13970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * This is crucial under MS-DOS, where the temporary "files" may be areas 14070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * of extended memory; on most other systems it's not as important. 14170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 14270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef NEED_SIGNAL_CATCHER 14370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 14470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* By default, we open image files with fopen(...,"rb") or fopen(...,"wb"). 14570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * This is necessary on systems that distinguish text files from binary files, 14670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * and is harmless on most systems that don't. If you have one of the rare 14770a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine * systems that complains about the "b" spec, define this symbol. 14870a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 14970a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef DONT_USE_B_MODE 15070a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 15170a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine/* Define this if you want percent-done progress reports from cjpeg/djpeg. 15270a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine */ 15370a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#undef PROGRESS_REPORT 15470a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 15570a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine 15670a18cd874a22452aca9e39e22275ed4538ed20bVladimir Chtchetkine#endif /* JPEG_CJPEG_DJPEG */ 157