The Jansson source is available at http://www.digip.org/jansson/releases/.
Unpack the source tarball and change to the source directory:
bunzip2 -c jansson-2.7.tar.bz2 | tar xf - cd jansson-2.7
The source uses GNU Autotools (autoconf, automake, libtool), so compiling and installing is extremely simple:
./configure
make
make check
make install
To change the destination directory (/usr/local by default), use the --prefix=DIR argument to ./configure. See ./configure --help for the list of all possible installation options. (There are no options to customize the resulting Jansson binary.)
The command make check runs the test suite distributed with Jansson. This step is not strictly necessary, but it may find possible problems that Jansson has on your platform. If any problems are found, please report them.
If you obtained the source from a Git repository (or any other source control system), there’s no ./configure script as it’s not kept in version control. To create the script, the build system needs to be bootstrapped. There are many ways to do this, but the easiest one is to use autoreconf:
autoreconf -vi
This command creates the ./configure script, which can then be used as described above.
Jansson can be built using CMake. Create a build directory for an out-of-tree build, change to that directory, and run cmake (or ccmake, cmake-gui, or similar) to configure the project.
See the examples below for more detailed information.
Note
In the below examples .. is used as an argument for cmake. This is simply the path to the jansson project root directory. In the example it is assumed you’ve created a sub-directory build and are using that. You could use any path you want.
Generating make files on unix:
bunzip2 -c jansson-2.7.tar.bz2 | tar xf - cd jansson-2.7 mkdir build cd build cmake .. # or ccmake ..() for a GUI.
Then to build:
make
make check
make install
Creating Visual Studio project files from the command line:
<unpack> cd jansson-2.7 md build cd build cmake -G "Visual Studio 10" ..
You will now have a Visual Studio Solution in your build directory. To run the unit tests build the RUN_TESTS project.
If you prefer a GUI the cmake line in the above example can be replaced with:
cmake-gui ..
For command line help (including a list of available generators) for CMake simply run:
cmake
To list available CMake settings (and what they are currently set to) for the project, run:
cmake -LH ..
If you prefer using Xcode instead of make files on OSX, do the following. (Use the same steps as for Unix):
...
cmake -G "Xcode" ..
Jansson can be built for Android platforms. Android.mk is in the source root directory. The configuration header file is located in the android directory in the source distribution.
On non Unix-like systems, you may be unable to run the ./configure script. In this case, follow these steps. All the files mentioned can be found in the src/ directory.
(This subsection describes how to build the HTML documentation you are currently reading, so it can be safely skipped.)
Documentation is in the doc/ subdirectory. It’s written in reStructuredText with Sphinx annotations. To generate the HTML documentation, invoke:
make html
and point your browser to doc/_build/html/index.html. Sphinx 1.0 or newer is required to generate the documentation.
Jansson involves one C header file, jansson.h, so it’s enough to put the line
#include <jansson.h>
in the beginning of every source file that uses Jansson.
There’s also just one library to link with, libjansson. Compile and link the program as follows:
cc -I /usr/include/jansson -o prog prog.c -ljansson
Starting from version 1.2, there’s also support for pkg-config:
cc -o prog prog.c `pkg-config --cflags --libs jansson`