Home | History | Annotate | Download | only in libjpeg-turbo
      1 /*
      2  * jconfig.txt
      3  *
      4  * This file was part of the Independent JPEG Group's software:
      5  * Copyright (C) 1991-1994, Thomas G. Lane.
      6  * It was modified by The libjpeg-turbo Project to include only code relevant
      7  * to libjpeg-turbo.
      8  * For conditions of distribution and use, see the accompanying README.ijg
      9  * file.
     10  *
     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 
     29 /* 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  */
     49 #undef __CHAR_UNSIGNED__
     50 
     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 
     70 /* 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 
     79 /* Define "boolean" as unsigned char, not int, on Windows systems.
     80  */
     81 #ifdef _WIN32
     82 #ifndef __RPCNDR_H__            /* don't conflict if rpcndr.h already read */
     83 typedef unsigned char boolean;
     84 #endif
     85 #define HAVE_BOOLEAN            /* prevent jmorecfg.h from redefining it */
     86 #endif
     87 
     88 
     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 
    118 #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 */
    123 
    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 
    131 /* By default, we open image files with fopen(...,"rb") or fopen(...,"wb").
    132  * 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 */
    144