99 lines
2.5 KiB
Markdown
99 lines
2.5 KiB
Markdown
libstrophe [](https://github.com/strophe/libstrophe/actions/workflows/main.yml?query=branch%3Amaster+++)
|
|
==========
|
|
|
|
libstrophe is a lightweight XMPP client library written in C. It has
|
|
minimal dependencies and is configurable for various environments. It
|
|
runs well on Linux, Unix and Windows based platforms.
|
|
|
|
libstrophe is dual licensed under MIT or GPLv3.
|
|
|
|
Build Instructions
|
|
------------------
|
|
|
|
If you are building from a source control checkout, run:
|
|
|
|
./bootstrap.sh
|
|
|
|
to generate the `configure` script.
|
|
|
|
From the top-level directory, run the following commands:
|
|
|
|
./configure
|
|
make
|
|
|
|
The public API is defined in `strophe.h` which is in the
|
|
top-level directory.
|
|
|
|
The `examples` directory contains some examples of how to
|
|
use the library; these may be helpful in addition to the
|
|
API documentation
|
|
|
|
To install on your system, as root (or using sudo):
|
|
|
|
make install
|
|
|
|
Note, the default install path is `/usr/local/`, to specify
|
|
another path use the `--prefix` option during configure, e.g.:
|
|
|
|
./configure --prefix=/usr
|
|
|
|
### Android
|
|
|
|
Run script `build-android.sh` and follow the instructions. You will
|
|
need expat sources and android-ndk.
|
|
|
|
### Code Coverage
|
|
|
|
If you want to create a code coverage report, run:
|
|
|
|
./configure --enable-coverage
|
|
make coverage
|
|
|
|
The coverage report can be found in `./coverage/index.html`.
|
|
|
|
|
|
Requirements
|
|
------------
|
|
|
|
libstrophe requires:
|
|
|
|
- expat or libxml2 - expat is the default; use `--with-libxml2` to
|
|
switch
|
|
- openssl or GnuTLS on UNIX systems - openssl is default; use
|
|
`--with-gnutls` to switch
|
|
|
|
To build libstrophe using autotools you will need `autoconf`,
|
|
`automake`, `libtool` and `pkg-config`.
|
|
|
|
To run code coverage analysis you will need `gcov` and `lcov`.
|
|
|
|
Installation
|
|
------------
|
|
|
|
libstrophe package has been added to popular Linux distributions,
|
|
BSD systems and OSX package managers.
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
API documentation is inline with the code and conforms to Doxygen
|
|
standards. You can generate an HTML version of the API documentation
|
|
by running:
|
|
|
|
doxygen
|
|
|
|
or if you have everything configured properly:
|
|
|
|
make docs
|
|
|
|
Then open `docs/html/index.html`.
|
|
|
|
An online version of the documentation of the latest release is available on https://strophe.im/libstrophe/
|
|
|
|
Releases
|
|
--------
|
|
|
|
Releases are signed with the GPG key with ID `F8ADC1F9A68A7AFF0E2C89E4391A5EFC2D1709DE`.
|
|
|
|
It can be found e.g. on https://keys.openpgp.org/
|