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