Skip to content

libconfuse/libconfuse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

38d6372 · Feb 17, 2024
Sep 10, 2022
Jun 24, 2020
Oct 2, 2020
May 24, 2017
Dec 4, 2022
Feb 17, 2024
Jun 21, 2020
Sep 10, 2022
Jun 21, 2020
Mar 3, 2016
Sep 10, 2022
Sep 5, 2018
Oct 13, 2015
Feb 22, 2017
Jun 22, 2020
Sep 5, 2022
Mar 3, 2016
Jan 10, 2023
Jul 13, 2019
Oct 3, 2004
Jun 18, 2016

Repository files navigation

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.