Skip to content

strophe/libstrophe

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6b44b5b · Apr 10, 2024
Oct 23, 2023
Mar 23, 2021
Jan 31, 2024
Sep 15, 2020
Aug 4, 2022
Apr 10, 2024
Feb 12, 2024
Jul 11, 2022
Jun 23, 2022
Apr 6, 2022
Aug 2, 2023
May 9, 2014
Feb 21, 2024
Feb 1, 2024
Jun 15, 2009
Aug 25, 2023
Jun 15, 2009
Jan 31, 2024
Apr 25, 2014
Apr 26, 2014
Feb 12, 2024
Apr 25, 2014
Jul 22, 2021
Jan 2, 2015
Sep 14, 2016
Feb 21, 2024
Feb 12, 2024
Feb 12, 2024
Feb 4, 2022

Repository files navigation

libstrophe Build Status

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/