|  |  |  |  | 
| 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.