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