Go to file
Michal Privoznik 360b1ef5a1 Enable -Bsymbolic-functions linker flag whenever possible
It was discovered fairly recently that JSON parsing libraries use
common pattern to name their exported symbols (they all use
json_ prefix). So eventually it happens that two symbols from two
different libraries have the same name. This will lead to cryptic
crashes (see [1] and [2]). Linking with -Bsymbolic-functions
prevents this.

1: https://gitlab.gnome.org/GNOME/json-glib/issues/33
2: https://groups.google.com/forum/#!topic/jansson-users/7Efx-RI45IU

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-08-09 07:54:26 +03:00
android Update copyrights for 2016 2016-09-18 14:17:03 +03:00
cmake Merge pull request #408 from isaachier/cmake 2018-05-18 08:08:32 +03:00
doc Update build instructions for Visual Studio 2018-05-07 11:17:08 +03:00
examples jansson 2.8 2016-08-30 21:09:28 +03:00
src Enable -Bsymbolic-functions linker flag whenever possible 2018-08-09 07:54:26 +03:00
test Fix error handling in json_pack 2018-03-22 11:16:40 +03:00
.gitignore CMake variable to number comparison changed to provide meaningful error 2018-05-18 10:35:05 +02:00
.travis.yml Add support for coverage/coveralls.io in cmake project. 2014-12-12 23:57:01 +01:00
Android.mk Android.mk: Add -DHAVE_STDINT_H to LOCAL_CFLAGS 2014-07-31 07:50:31 +03:00
appveyor.yml Also build with VS 2017 in appveyor 2018-05-07 08:39:49 +03:00
CHANGES jansson 2.11 2018-02-09 12:31:18 -05:00
CleanSpec.mk Create Android.mk, preconfigured jansson_config.h and CleanSpec.mk for Android-like build systems. 2013-03-27 17:31:05 -07:00
CMakeLists.txt CMake variable to number comparison changed to provide meaningful error 2018-05-18 10:35:05 +02:00
configure.ac Enable -Bsymbolic-functions linker flag whenever possible 2018-08-09 07:54:26 +03:00
jansson.pc.in build: Use Autoconf macro @includedir@ for jansson.pc. 2017-04-12 22:36:58 +02:00
LICENSE Update copyright for 2018 2018-07-14 16:34:33 -04:00
Makefile.am jansson 2.8 2016-08-30 21:09:28 +03:00
README.rst Change readthedocs domain 2016-04-28 07:04:00 +03:00
release.sh Compress bz2 doc tarballs with bzip2 instead of gzip 2013-01-06 14:18:28 +02:00

Jansson README
==============

.. image:: https://travis-ci.org/akheron/jansson.png
  :target: https://travis-ci.org/akheron/jansson
  
.. image:: https://ci.appveyor.com/api/projects/status/lmhkkc4q8cwc65ko
  :target: https://ci.appveyor.com/project/akheron/jansson

.. image:: https://coveralls.io/repos/akheron/jansson/badge.png?branch=master
  :target: https://coveralls.io/r/akheron/jansson?branch=master

Jansson_ is a C library for encoding, decoding and manipulating JSON
data. Its main features and design principles are:

- Simple and intuitive API and data model

- `Comprehensive documentation`_

- No dependencies on other libraries

- Full Unicode support (UTF-8)

- Extensive test suite

Jansson is licensed under the `MIT license`_; see LICENSE in the
source distribution for details.


Compilation and Installation
----------------------------

If you obtained a source tarball, just use the standard autotools
commands::

   $ ./configure
   $ make
   $ make install

To run the test suite, invoke::

   $ make check

If the source has been checked out from a Git repository, the
./configure script has to be generated first. The easiest way is to
use autoreconf::

   $ autoreconf -i


Documentation
-------------

Documentation is available at http://jansson.readthedocs.io/en/latest/.

The documentation source is in the ``doc/`` subdirectory. To generate
HTML documentation, invoke::

   $ make html

Then, point your browser to ``doc/_build/html/index.html``. Sphinx_
1.0 or newer is required to generate the documentation.


.. _Jansson: http://www.digip.org/jansson/
.. _`Comprehensive documentation`: http://jansson.readthedocs.io/en/latest/
.. _`MIT license`: http://www.opensource.org/licenses/mit-license.php
.. _Sphinx: http://sphinx.pocoo.org/