xref: /aosp_15_r20/external/libpng/contrib/conftest/write.dfa (revision a67afe4df73cf47866eedc69947994b8ff839aba)
1*a67afe4dSAndroid Build Coastguard Worker# write.dfa
2*a67afe4dSAndroid Build Coastguard Worker#  Build time configuration of libpng
3*a67afe4dSAndroid Build Coastguard Worker#
4*a67afe4dSAndroid Build Coastguard Worker# Author: John Bowler
5*a67afe4dSAndroid Build Coastguard Worker# Copyright: (c) John Bowler, 2013
6*a67afe4dSAndroid Build Coastguard Worker# Usage rights:
7*a67afe4dSAndroid Build Coastguard Worker#  To the extent possible under law, the author has waived all copyright and
8*a67afe4dSAndroid Build Coastguard Worker#  related or neighboring rights to this work.  This work is published from:
9*a67afe4dSAndroid Build Coastguard Worker#  United States.
10*a67afe4dSAndroid Build Coastguard Worker#
11*a67afe4dSAndroid Build Coastguard Worker# Build libpng with no read support and minimal write support.
12*a67afe4dSAndroid Build Coastguard Worker#
13*a67afe4dSAndroid Build Coastguard Worker
14*a67afe4dSAndroid Build Coastguard Workereverything = off
15*a67afe4dSAndroid Build Coastguard Worker
16*a67afe4dSAndroid Build Coastguard Worker# Switch on the write code - this makes a minimalist encoder
17*a67afe4dSAndroid Build Coastguard Worker
18*a67afe4dSAndroid Build Coastguard Workeroption WRITE on
19*a67afe4dSAndroid Build Coastguard Worker
20*a67afe4dSAndroid Build Coastguard Worker# Choose fixed or floating point APIs and arithmetic.  The choices are
21*a67afe4dSAndroid Build Coastguard Worker# independent but normally they will match.  It is typically better to use the
22*a67afe4dSAndroid Build Coastguard Worker# floating point if you have floating point hardware.  If you don't know, or
23*a67afe4dSAndroid Build Coastguard Worker# (perhaps) to make libpng smaller used fixed point throughout.
24*a67afe4dSAndroid Build Coastguard Worker
25*a67afe4dSAndroid Build Coastguard Worker#Fixed point:
26*a67afe4dSAndroid Build Coastguard Worker#option FIXED_POINT on
27*a67afe4dSAndroid Build Coastguard Worker#option FLOATING_ARITHMETIC off
28*a67afe4dSAndroid Build Coastguard Worker
29*a67afe4dSAndroid Build Coastguard Worker#Floating point:
30*a67afe4dSAndroid Build Coastguard Workeroption FLOATING_POINT on
31*a67afe4dSAndroid Build Coastguard Workeroption FLOATING_ARITHMETIC on
32*a67afe4dSAndroid Build Coastguard Worker
33*a67afe4dSAndroid Build Coastguard Worker# Basic error handling, IO and user memory support.  The latter allows the
34*a67afe4dSAndroid Build Coastguard Worker# application program to provide its own implementations of 'malloc' and 'free'.
35*a67afe4dSAndroid Build Coastguard Workeroption SETJMP on
36*a67afe4dSAndroid Build Coastguard Workeroption STDIO on
37*a67afe4dSAndroid Build Coastguard Workeroption USER_MEM on
38*a67afe4dSAndroid Build Coastguard Worker
39*a67afe4dSAndroid Build Coastguard Worker# Everything else is optional.  Unlike the read code in libpng the write code
40*a67afe4dSAndroid Build Coastguard Worker# does not need to deal with arbitrary formats, so only add support for things
41*a67afe4dSAndroid Build Coastguard Worker# you really do write!  For example you might only write sRGB images, sometimes
42*a67afe4dSAndroid Build Coastguard Worker# with transparency and never write 16 bit images, so:
43*a67afe4dSAndroid Build Coastguard Workeroption WRITE_sRGB on
44*a67afe4dSAndroid Build Coastguard Workeroption WRITE_tRNS on
45*a67afe4dSAndroid Build Coastguard Worker#option WRITE_16BIT off (this is the default with 'everything = off')
46