Home

Awesome

libntech Example Project

libntech is a lightweight C library used in CFEngine. This example project shows a minimal autotools setup, using libntech as a git submodule.

Instructions

Download

$ git clone https://github.com/cfengine/libntech_example.git
$ cd libntech_example
$ git submodule init
$ git submodule update

Build dependency

$ cd libntech
$ git fetch --all --tags
$ ./autogen.sh
$ make -j32

Build examples

$ ./autogen.sh
$ make -j32

File size

Currently, the project has 2 versions of the same example - a program which prints argv. One uses the Seq data structure from libntech (and allocation functions), the other does not use libntech at all. After building with the steps above, you can compare the file size:

$ ls -al argv_printer*
-rwxr-xr-x  1 olehermanse  staff  10908 Jul 29 14:22 argv_printer_libs
-rwxr-xr-x  1 olehermanse  staff   9024 Jul 29 14:22 argv_printer_zero

(In this simple test, the library added 2K to file size).

Authors

CFEngine was originally created by Mark Burgess with many contributions from around the world. Thanks everyone!

CFEngine is sponsored by Northern.tech AS