# NASPRO core

Version: 0.5.1, API: 5.0.2.

#### About

NASPRO core is the portable runtime library at the bottom of the NASPRO Architecture for Sound PROcessing.

It abstracts away some platform- and compiler-specific features, implements a small collection of abstract data types and provides a couple of useful APIs to help with software development in general.

The code is released under the LGPL 2.1.

#### Supported platforms/compilers

It is written in C99 and should work on all POSIX-1.2008-compliant platforms, assuming that malloc() and free() are thread-safe and errno is thread-local.

It should also work (but it’s never been tested) on Windows XP and later, 32 and 64 bit versions.

It has only been built and tested using the GCC compiler, for which it has special support and whose version is supposed to be >= 2.95. Adding support for other compilers, if needed at all, should be relatively easy.

#### API conventions

- All functions are thread-safe unless otherwise specified;
- All strings are null-terminated and UTF-8 encoded according to the Unicode 6.0 standard and without BOM (byte-order-mark) characters, unless otherwise specified;
- No function does input validation, hence, in case the API is misused in this sense, the results are undefined.

#### Runtime dependencies

- Standard C and math libraries;
- Platform-specific threading library (i.e., Pthreads on all platforms except Windows).

#### Build-time dependencies

- An environment capable of running Autotools-based build systems;
- (optional) GNU Autoconf >= 2.69, GNU Automake and GNU Libtool to regenerate the build system;
- (optional) Natural Docs >= 1.5 to regenerate the build system and/or the documentation.

#### Usage

Just include <NASPRO/core/lib.h> in your source files and use the pkg-config tool to retrieve compiler and linker flags (package name: nacore-5).

Close