Compiling the Chafa packageCompiling the Chafa Package — How to compile Chafa itself |
When building from a clean Git repository, the build files must be prepared before anything else happens. The repository includes a shell script for this:
./autogen.sh
Afterwards the build can proceed like it would from a source package.
Chafa uses a typical build system provided by autoconf, automake and libtool. You can build and install Chafa like this:
./configure
make
make install
The standard options provided by GNU autoconf may be passed to the configure script. Please see the autoconf documentation or run ./configure --help for information about the standard options.
Chafa depends on the GLib library. If you want to build the chafa command-line tool in addition to the libchafa library, you will also need the FreeType library and its development files. chafa has built-in support for the GIF, PNG, QOI and XWD formats, and can be built with optional support for many others, including AVIF, JPEG, SVG, TIFF and WebP. ./configure will summarize the build features.
In addition to the normal options, the configure script supports these additional arguments:
--disable-Bsymbolic
and
--enable-Bsymbolic
.
By default, Chafa uses the -Bsymbolic-functions linker
flag to avoid intra-library PLT jumps. A side-effect
of this is that it is no longer possible to override
internal uses of Chafa functions with
LD_PRELOAD
. Therefore, it may make
sense to turn this feature off in some situations.
The --disable-Bsymbolic
option allows
you to do that.
--disable-gtk-doc
and
--enable-gtk-doc
.
By default the configure script will try
to auto-detect whether the
gtk-doc package is installed.
If it is, then it will use it to extract and build the
documentation for the Chafa library. These options
can be used to explicitly control whether
gtk-doc should be
used or not. If it is not used, the distributed,
pre-generated HTML files will be installed instead of
building them on your machine.
--disable-man
and
--enable-man
.
By default the configure script will try
to auto-detect whether xsltproc
and the necessary Docbook stylesheets are installed.
If they are, then it will use them to rebuild the included
man pages from the XML sources. These options can be used
to explicitly control whether man pages should be rebuilt
or not. The distribution includes pre-generated man
pages.