f49ccb3262861d3496ef83e5dd5e88814394e131
It has been pointed out that the wording of the license of this library is not entirely clear. The term "dual licensing" usually refers to a licence choice of two licenses "LICENSE1 _or_ LICENSE2. Instead the license of this library claimed "LICENSE1 _and_ LICENSE2". After an internal discussion with @metajack and @pasis it was made clear that the initial idea was to dual license the library in the usual way. This was also made clear by jack on the ML in the past [0]. As of jack, these licensing terms originated from jquery, which also used the 'and' version in the past and has since been corrected [1]. This patch changes the license terms to 'MIT or GPLv3' and also adds SPDX headers [2]. [0] https://groups.google.com/g/libstrophe/c/JkFgr601JQc [1] https://stackoverflow.com/q/2758409 [2] https://spdx.org Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
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 http://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/
Description
Languages
C
95.1%
M4
2.9%
Makefile
1.7%
Shell
0.3%