123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- # basic.dfa
- # Build time configuration of libpng
- #
- # Author: John Bowler
- # Copyright: (c) John Bowler, 2024
- # Usage rights:
- # To the extent possible under law, the author has waived all copyright and
- # related or neighboring rights to this work. This work is published from:
- # United States.
- #
- # Build libpng with basic read and write support. This enables the lowest
- # level libpng read and write APIs - the "row-by-row" ones.
- #
- # Support is enabled only for those transformations that are observed to be
- # required by widely used apps or are in the v3 specification.
- #
- everything = off
- # The sequential read code is enabled here; the progressive code can be used
- # instead but there is no point enabling both.
- option READ on
- option SEQUENTIAL_READ on
- option EASY_ACCESS on
- option SET_USER_LIMITS on
- option INFO_IMAGE on
- option READ_16BIT on
- # Errors: these can be disabled but then there won't be any error messages
- # just failures and the error messages are really needed for apps:
- option WARNINGS on
- option ERROR_TEXT on
- option BENIGN_READ_ERRORS on
- # Required for many display programs such as web browsers:
- option PROGRESSIVE_READ on
- # Switch on the write code - this makes a minimalist encoder but with
- # interlace support turned on; otherwise png_read_png..png_write_png will
- # fail on an interlaced image.
- option WRITE on
- option WRITE_INTERLACING on
- option WRITE_16BIT on
- # Usages of the 'fixed' APIs are relatively rare but they do occur
- # one or the other for both the API and the internal math.
- #Fixed point:
- option FIXED_POINT on
- #Floating point:
- option FLOATING_POINT on
- option FLOATING_ARITHMETIC on
- # Basic error handling, IO and user memory support. The latter allows the
- # application program to provide its own implementations of 'malloc' and 'free'.
- option SETJMP on
- option STDIO on
- option USER_MEM on
- # Gamma handling: this needs to be on for the gamma handling
- option READ_GAMMA on
- # The supported chunks
- chunk bKGD on
- chunk cHRM on
- chunk eXIf on
- chunk gAMA on
- chunk iCCP on
- chunk iTXt on
- chunk pHYs on
- chunk sBIT on
- chunk sRGB on
- chunk tEXt on
- chunk tIME on
- chunk tRNS on
- chunk zTXt on
- # These don't seem to be used anywhere:
- # chunk pCAL
- # chunk sCAL
- # chunk sPLT
- # The rest of this is app dependent: none of these options are required for
- # read/write of the full range of PNG files and the normal chunk handling on
- # read.
- option WRITE_CUSTOMIZE_ZTXT_COMPRESSION on
- option WRITE_CUSTOMIZE_COMPRESSION on
- option READ_EXPAND on
- option READ_FILLER on
- option READ_GRAY_TO_RGB on
- option READ_INVERT on
- option READ_PACK on
- option READ_RGB_TO_GRAY on
- option READ_SCALE_16_TO_8 on
- option READ_SHIFT on
- option READ_STRIP_16_TO_8 on
- option READ_STRIP_ALPHA on
- option READ_SWAP on
- option CONVERT_tIME on
- # optipng
- option IO_STATE on
- option STORE_UNKNOWN_CHUNKS on
- option HANDLE_AS_UNKNOWN on
- # pngcrush
- option READ_USER_TRANSFORM on
- option WRITE_FLUSH on
- # pnmtopng
- chunk hIST on
- # cairo
- option WRITE_PACKSWAP on
- option WRITE_USER_TRANSFORM on
- # graphicsmagick
- option READ_USER_CHUNKS on
- # Qt5.15 qtgui (gentoo package split) Qt6.6 qtbase
- option READ_BGR on
- option WRITE_BGR on
- option READ_SWAP_ALPHA on
- option WRITE_SWAP_ALPHA on
- chunk oFFs on
- # ghostscript-gpl
- option WRITE_INVERT_ALPHA on
- option WRITE_INVERT on
|