John Bowler ce1f1f001e API usage: add 'basic' configuration
This adds a new configuration file, 'contrib/conftest/basic.dfa' which
disables unused APIs on a test Linux-based system.  So support the
configuration several fixes were necessary in the test programs so that
the tests are skipped correctly when APIs are not available.

The configuration has been tested on a range of common Linux apps
including web browser code (qtwebengine), image processing code (e.g.
ImageMagick) and general display code (X11, Qt5 and Qt6, KDE).  Overall
this first step reduces libpng linked code and data size to about 2/3 of
the full configuration.

To use the new test simply copy basic.dfa to 'pngusr.dfa' in the root of
the source directory and build.

Signed-off-by: John Bowler <jbowler@acm.org>
2024-02-02 13:24:02 +02:00
..
2024-02-02 13:24:02 +02:00
2018-08-19 00:57:20 -04:00

This directory contains test configuration files, currently always '.dfa' files
intended to be used in the build by setting the make macro DFA_XTRA to the name
of the file.

These files are used in release validation of the 'configure' builds of libpng
by building 'make check', or 'make all-am' for cross-builds, with each .dfa
file.

The files in this directory may change between minor releases, however
contributions describing specific builds of libpng are welcomed.  There is no
guarantee that libpng will continue to build with such configurations; support
for given configurations can be, and has been, dropped between successive minor
releases.  However if a .dfa file describing a configuration is not in this
directory it is very unlikely that it will be tested before a minor release!

You can use these .dfa files as the basis of new configurations.  Files in this
directory should not have any use restrictions or restrictive licenses.

This directory is not included in the .zip and .7z distributions, which do
not contain 'configure' scripts.

DOCUMENTATION
=============

Examples:
   ${srcdir}/pngusr.dfa
   ${srcdir}/contrib/pngminim/*/pngusr.dfa

Documentation of the options:
   ${srcdir}/scripts/pnglibconf.dfa

Documentation of the file format:
   ${srcdir}/scripts/options.awk

FILE NAMING
===========

File names in this directory may NOT contain any of the five characters:

   - , + * ?

Neither may they contain any space character.

While other characters may be used it is strongly suggested that file names be
limited to lower case Latiin alphabetic characters (a-z), digits (0-9) and, if
necessary the underscore (_) character.  File names should be about 8 characters
long (excluding the .dfa extension).  Submitted .dfa files should have names
between 7 and 16 characters long, shorter names (6 characters or less) are
reserved for standard tests.