blob: 90cd724978dbd6d9778deeda5784fd6a377040c9 [file] [log] [blame]
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +00001/*
Guido Vollbeding5996a252009-06-27 00:00:00 +00002 * jconfig.txt
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +00003 *
DRC5033f3e2014-05-18 18:33:44 +00004 * This file was part of the Independent JPEG Group's software:
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +00005 * Copyright (C) 1991-1994, Thomas G. Lane.
DRC5033f3e2014-05-18 18:33:44 +00006 * It was modified by The libjpeg-turbo Project to include only code relevant
7 * to libjpeg-turbo.
Alex Naidis6eb7d372016-10-16 23:10:08 +02008 * For conditions of distribution and use, see the accompanying README.ijg
9 * file.
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000010 *
11 * This file documents the configuration options that are required to
12 * customize the JPEG software for a particular system.
13 *
14 * The actual configuration options for a particular installation are stored
15 * in jconfig.h. On many machines, jconfig.h can be generated automatically
16 * or copied from one of the "canned" jconfig files that we supply. But if
17 * you need to generate a jconfig.h file by hand, this file tells you how.
18 *
19 * DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING.
20 * EDIT A COPY NAMED JCONFIG.H.
21 */
22
23
24/*
25 * These symbols indicate the properties of your machine or compiler.
26 * #define the symbol if yes, #undef it if no.
27 */
28
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000029/* Does your compiler support the declaration "unsigned char" ?
30 * How about "unsigned short" ?
31 */
32#define HAVE_UNSIGNED_CHAR
33#define HAVE_UNSIGNED_SHORT
34
35/* Define "void" as "char" if your compiler doesn't know about type void.
36 * NOTE: be sure to define void such that "void *" represents the most general
37 * pointer type, e.g., that returned by malloc().
38 */
39/* #define void char */
40
41/* Define "const" as empty if your compiler doesn't know the "const" keyword.
42 */
43/* #define const */
44
45/* Define this if an ordinary "char" type is unsigned.
46 * If you're not sure, leaving it undefined will work at some cost in speed.
47 * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal.
48 */
DRC61976bd2014-04-20 19:13:10 +000049#undef __CHAR_UNSIGNED__
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000050
51/* Define this if your system has an ANSI-conforming <stddef.h> file.
52 */
53#define HAVE_STDDEF_H
54
55/* Define this if your system has an ANSI-conforming <stdlib.h> file.
56 */
57#define HAVE_STDLIB_H
58
59/* Define this if your system does not have an ANSI/SysV <string.h>,
60 * but does have a BSD-style <strings.h>.
61 */
62#undef NEED_BSD_STRINGS
63
64/* Define this if your system does not provide typedef size_t in any of the
65 * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in
66 * <sys/types.h> instead.
67 */
68#undef NEED_SYS_TYPES_H
69
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000070/* Although a real ANSI C compiler can deal perfectly well with pointers to
71 * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI
72 * and pseudo-ANSI compilers get confused. To keep one of these bozos happy,
73 * define INCOMPLETE_TYPES_BROKEN. This is not recommended unless you
74 * actually get "missing structure definition" warnings or errors while
75 * compiling the JPEG code.
76 */
77#undef INCOMPLETE_TYPES_BROKEN
78
Guido Vollbedinga4ecaac2010-05-16 00:00:00 +000079/* Define "boolean" as unsigned char, not int, on Windows systems.
80 */
81#ifdef _WIN32
DRCe5eaf372014-05-09 18:00:32 +000082#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
Guido Vollbedinga4ecaac2010-05-16 00:00:00 +000083typedef unsigned char boolean;
84#endif
DRCe5eaf372014-05-09 18:00:32 +000085#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
Guido Vollbedinga4ecaac2010-05-16 00:00:00 +000086#endif
87
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +000088
89/*
90 * The following options affect code selection within the JPEG library,
91 * but they don't need to be visible to applications using the library.
92 * To minimize application namespace pollution, the symbols won't be
93 * defined unless JPEG_INTERNALS has been defined.
94 */
95
96#ifdef JPEG_INTERNALS
97
98/* Define this if your compiler implements ">>" on signed values as a logical
99 * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
100 * which is the normal and rational definition.
101 */
102#undef RIGHT_SHIFT_IS_UNSIGNED
103
104
105#endif /* JPEG_INTERNALS */
106
107
108/*
109 * The remaining options do not affect the JPEG library proper,
110 * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c).
111 * Other applications can ignore these.
112 */
113
114#ifdef JPEG_CJPEG_DJPEG
115
116/* These defines indicate which image (non-JPEG) file formats are allowed. */
117
DRCe5eaf372014-05-09 18:00:32 +0000118#define BMP_SUPPORTED /* BMP image file format */
119#define GIF_SUPPORTED /* GIF image file format */
120#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
121#undef RLE_SUPPORTED /* Utah RLE image file format */
122#define TARGA_SUPPORTED /* Targa image file format */
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000123
124/* Define this if you want to name both input and output files on the command
125 * line, rather than using stdout and optionally stdin. You MUST do this if
126 * your system can't cope with binary I/O to stdin/stdout. See comments at
127 * head of cjpeg.c or djpeg.c.
128 */
129#undef TWO_FILE_COMMANDLINE
130
Leon Scroggins III3993b372018-07-16 10:43:45 -0400131/* By default, we open image files with fopen(..., "rb") or fopen(..., "wb").
Thomas G. Lane36a4ccc1994-09-24 00:00:00 +0000132 * This is necessary on systems that distinguish text files from binary files,
133 * and is harmless on most systems that don't. If you have one of the rare
134 * systems that complains about the "b" spec, define this symbol.
135 */
136#undef DONT_USE_B_MODE
137
138/* Define this if you want percent-done progress reports from cjpeg/djpeg.
139 */
140#undef PROGRESS_REPORT
141
142
143#endif /* JPEG_CJPEG_DJPEG */