Home

Awesome

AVSystem Commons Library

A set of common code used in AVSystem for projects written in C.

Currently the included components are:

Most of the library is written in standard and portable C99. There are some dependencies on POSIX APIs, but there are provisions for replacing them when necessary (see the compat directory for details).

avs_unit relies on some GCC-isms and is unlikely to work with any compiler that is not based on either GCC or Clang.

The code is available under Apache 2.0 License.

Building

Building using CMake

The preferred way of building avs_commons is to use CMake:

cmake . &&
make &&
make install

You may use cmake -LH or tools such as cmake-gui or ccmake to examine the available configuration options.

Alternative build systems

Alternatively, you may use any other build system. You will need to:

An example simplistic build process for a Unix-like shell could be:

# configuration
cp include_public/avsystem/commons/avs_commons_config.h.in include_public/avsystem/commons/avs_commons_config.h
vi include_public/avsystem/commons/avs_commons_config.h  # manually configure the library here

# compilation
cc -Iinclude_public -Isrc -c $(find src -name '*.c')
ar rcs libavs_commons.a *.o

# installation
cp libavs_commons.a /usr/local/lib/
cp -r include_public/avsystem /usr/local/include/

Contact, contributing