src/3rdparty/libjpeg/jconfig.doc
changeset 2 56cd8111b7f7
parent 1 ae9c8dab0e3e
child 3 41300fa6a67c
equal deleted inserted replaced
1:ae9c8dab0e3e 2:56cd8111b7f7
     1 /*
       
     2  * jconfig.doc
       
     3  *
       
     4  * Copyright (C) 1991-1994, Thomas G. Lane.
       
     5  * This file is part of the Independent JPEG Group's software.
       
     6  * For conditions of distribution and use, see the accompanying README file.
       
     7  *
       
     8  * This file documents the configuration options that are required to
       
     9  * customize the JPEG software for a particular system.
       
    10  *
       
    11  * The actual configuration options for a particular installation are stored
       
    12  * in jconfig.h.  On many machines, jconfig.h can be generated automatically
       
    13  * or copied from one of the "canned" jconfig files that we supply.  But if
       
    14  * you need to generate a jconfig.h file by hand, this file tells you how.
       
    15  *
       
    16  * DO NOT EDIT THIS FILE --- IT WON'T ACCOMPLISH ANYTHING.
       
    17  * EDIT A COPY NAMED JCONFIG.H.
       
    18  */
       
    19 
       
    20 
       
    21 /*
       
    22  * These symbols indicate the properties of your machine or compiler.
       
    23  * #define the symbol if yes, #undef it if no.
       
    24  */
       
    25 
       
    26 /* Does your compiler support function prototypes?
       
    27  * (If not, you also need to use ansi2knr, see install.doc)
       
    28  */
       
    29 #define HAVE_PROTOTYPES
       
    30 
       
    31 /* Does your compiler support the declaration "unsigned char" ?
       
    32  * How about "unsigned short" ?
       
    33  */
       
    34 #define HAVE_UNSIGNED_CHAR
       
    35 #define HAVE_UNSIGNED_SHORT
       
    36 
       
    37 /* Define "void" as "char" if your compiler doesn't know about type void.
       
    38  * NOTE: be sure to define void such that "void *" represents the most general
       
    39  * pointer type, e.g., that returned by malloc().
       
    40  */
       
    41 /* #define void char */
       
    42 
       
    43 /* Define "const" as empty if your compiler doesn't know the "const" keyword.
       
    44  */
       
    45 /* #define const */
       
    46 
       
    47 /* Define this if an ordinary "char" type is unsigned.
       
    48  * If you're not sure, leaving it undefined will work at some cost in speed.
       
    49  * If you defined HAVE_UNSIGNED_CHAR then the speed difference is minimal.
       
    50  */
       
    51 #undef CHAR_IS_UNSIGNED
       
    52 
       
    53 /* Define this if your system has an ANSI-conforming <stddef.h> file.
       
    54  */
       
    55 #define HAVE_STDDEF_H
       
    56 
       
    57 /* Define this if your system has an ANSI-conforming <stdlib.h> file.
       
    58  */
       
    59 #define HAVE_STDLIB_H
       
    60 
       
    61 /* Define this if your system does not have an ANSI/SysV <string.h>,
       
    62  * but does have a BSD-style <strings.h>.
       
    63  */
       
    64 #undef NEED_BSD_STRINGS
       
    65 
       
    66 /* Define this if your system does not provide typedef size_t in any of the
       
    67  * ANSI-standard places (stddef.h, stdlib.h, or stdio.h), but places it in
       
    68  * <sys/types.h> instead.
       
    69  */
       
    70 #undef NEED_SYS_TYPES_H
       
    71 
       
    72 /* For 80x86 machines, you need to define NEED_FAR_POINTERS,
       
    73  * unless you are using a large-data memory model or 80386 flat-memory mode.
       
    74  * On less brain-damaged CPUs this symbol must not be defined.
       
    75  * (Defining this symbol causes large data structures to be referenced through
       
    76  * "far" pointers and to be allocated with a special version of malloc.)
       
    77  */
       
    78 #undef NEED_FAR_POINTERS
       
    79 
       
    80 /* Define this if your linker needs global names to be unique in less
       
    81  * than the first 15 characters.
       
    82  */
       
    83 #undef NEED_SHORT_EXTERNAL_NAMES
       
    84 
       
    85 /* Although a real ANSI C compiler can deal perfectly well with pointers to
       
    86  * unspecified structures (see "incomplete types" in the spec), a few pre-ANSI
       
    87  * and pseudo-ANSI compilers get confused.  To keep one of these bozos happy,
       
    88  * define INCOMPLETE_TYPES_BROKEN.  This is not recommended unless you
       
    89  * actually get "missing structure definition" warnings or errors while
       
    90  * compiling the JPEG code.
       
    91  */
       
    92 #undef INCOMPLETE_TYPES_BROKEN
       
    93 
       
    94 
       
    95 /*
       
    96  * The following options affect code selection within the JPEG library,
       
    97  * but they don't need to be visible to applications using the library.
       
    98  * To minimize application namespace pollution, the symbols won't be
       
    99  * defined unless JPEG_INTERNALS has been defined.
       
   100  */
       
   101 
       
   102 #ifdef JPEG_INTERNALS
       
   103 
       
   104 /* Define this if your compiler implements ">>" on signed values as a logical
       
   105  * (unsigned) shift; leave it undefined if ">>" is a signed (arithmetic) shift,
       
   106  * which is the normal and rational definition.
       
   107  */
       
   108 #undef RIGHT_SHIFT_IS_UNSIGNED
       
   109 
       
   110 
       
   111 #endif /* JPEG_INTERNALS */
       
   112 
       
   113 
       
   114 /*
       
   115  * The remaining options do not affect the JPEG library proper,
       
   116  * but only the sample applications cjpeg/djpeg (see cjpeg.c, djpeg.c).
       
   117  * Other applications can ignore these.
       
   118  */
       
   119 
       
   120 #ifdef JPEG_CJPEG_DJPEG
       
   121 
       
   122 /* These defines indicate which image (non-JPEG) file formats are allowed. */
       
   123 
       
   124 #define BMP_SUPPORTED		/* BMP image file format */
       
   125 #define GIF_SUPPORTED		/* GIF image file format */
       
   126 #define PPM_SUPPORTED		/* PBMPLUS PPM/PGM image file format */
       
   127 #undef RLE_SUPPORTED		/* Utah RLE image file format */
       
   128 #define TARGA_SUPPORTED		/* Targa image file format */
       
   129 
       
   130 /* Define this if you want to name both input and output files on the command
       
   131  * line, rather than using stdout and optionally stdin.  You MUST do this if
       
   132  * your system can't cope with binary I/O to stdin/stdout.  See comments at
       
   133  * head of cjpeg.c or djpeg.c.
       
   134  */
       
   135 #undef TWO_FILE_COMMANDLINE
       
   136 
       
   137 /* Define this if your system needs explicit cleanup of temporary files.
       
   138  * This is crucial under MS-DOS, where the temporary "files" may be areas
       
   139  * of extended memory; on most other systems it's not as important.
       
   140  */
       
   141 #undef NEED_SIGNAL_CATCHER
       
   142 
       
   143 /* By default, we open image files with fopen(...,"rb") or fopen(...,"wb").
       
   144  * This is necessary on systems that distinguish text files from binary files,
       
   145  * and is harmless on most systems that don't.  If you have one of the rare
       
   146  * systems that complains about the "b" spec, define this symbol.
       
   147  */
       
   148 #undef DONT_USE_B_MODE
       
   149 
       
   150 /* Define this if you want percent-done progress reports from cjpeg/djpeg.
       
   151  */
       
   152 #undef PROGRESS_REPORT
       
   153 
       
   154 
       
   155 #endif /* JPEG_CJPEG_DJPEG */