1# read.dfa
2#  Build time configuration of libpng
3#
4# Author: John Bowler
5# Copyright: (c) John Bowler, 2013
6# Usage rights:
7#  To the extent possible under law, the author has waived all copyright and
8#  related or neighboring rights to this work.  This work is published from:
9#  United States.
10#
11# Build libpng with basic read support.  This enables the lowest level libpng
12# read API - the one where the calling code has to use a loop to read each row.
13# At present this is the API used by most programs.
14#
15# Support is enabled only for those chunks and transformations that are
16# typically required - others can be added easily.
17#
18
19everything = off
20
21# The sequential read code is enabled here; the progressive code can be used
22# instead but there is no point enabling both.
23
24option SEQUENTIAL_READ on
25
26# Likewise it is pointless enabling both fixed and floating point APIs.  Choose
27# one or the other for both the API and the internal math.
28
29#Fixed point:
30#option FIXED_POINT on
31#option FLOATING_ARITHMETIC off
32
33#Floating point:
34option FLOATING_POINT on
35option FLOATING_ARITHMETIC on
36
37# Basic error handling, IO and user memory support.  The latter allows the
38# application program to provide its own implementations of 'malloc' and 'free'.
39option SETJMP on
40option STDIO on
41option USER_MEM on
42
43# To read the full set of PNG images correctly interlace, transparency and
44# 16-bit support is required.  The application can implement interlace itself,
45# but very few do and it's no longer possible to disable it when READ is
46# enabled.
47option READ_tRNS on
48option READ_16BIT on
49
50# Everything else is application dependent.  This file assumes the app handles
51# all the native PNG bit layouts, so it doesn't need any of layout change
52# transforms, but needs libpng to perform gamma correction.  It doesn't do any
53# colorspace stuff and ignores the 'significant bit' information.
54#
55# If your app always expands the image to a limited set of bit layouts you
56# probably want to consider using the simplified API instead of the low level
57# one - see png.h and s_read.dfa.
58option READ_GAMMA on
59