/libconfuse

Small configuration file parser library for C.

Primary LanguageCISC LicenseISC

libConfuse

Badge GitHub Status Coverity Status

Introduction

libConfuse is a configuration file parser library written in C. It supports sections and (lists of) values, as well as other features such as single/double quoted strings, environment variable expansion, functions and nested include statements. Values can be strings, integers, floats, booleans, and sections.

The goal is not to be the configuration file parser library with a gazillion of features. Instead, it aims to be easy to use and quick to integrate with your code.

Please ensure you download a versioned archive from: https://github.com/libconfuse/libconfuse/releases/

Documentation

Examples

Build & Install

libConfuse employs the GNU configure and build system. To list available build options, start by unpacking the tarball:

tar xf confuse-3.2.2.tar.xz
cd confuse-3.2.2/
./configure --help

For most users the following commands configures, builds and installs the library to /usr/local/:

./configure && make -j9
sudo make install
sudo ldconfig

See the INSTALL file for the full installation instructions.

When checking out the code from GitHub, use ./autogen.sh to generate a configure script. This means you also need the following tools:

  • autoconf
  • automake
  • libtool
  • gettext
  • autopoint
  • flex

To build the documentation you also need the following tools:

  • doxygen
  • xmlto

This is an optional step, so you must build it explicitly from its directory:

cd doc/
make documentation

Origin & References

libConfuse was created by Martin Hedenfalk and released as open source software under the terms of the ISC license. It was previously called libcfg, but the name was changed to not confuse with other similar libraries. It is currently developed and maintained at GitHub. Please use the issue tracker to report bugs and feature requests.