A simple, lightweight C library for writing XMPP clients
C C++ Makefile Other
Pull request Compare This branch is 275 commits ahead, 2 commits behind metajack:master.
Latest commit 80a7ea0 Dec 2, 2016 @pasis pasis Fix spacing in handler.c
Permalink
Failed to load latest commit information.
docs Most public API points are now documented. Jun 24, 2008
examples examples/bot: fix memory leaks and use stanza helpers Aug 30, 2016
jni Android: added make files Aug 22, 2016
rpm rpm: include shared library and pkg-config file Oct 31, 2014
src Fix spacing in handler.c Dec 2, 2016
tests Fixed occurred spelling error fixes: #96 Sep 23, 2016
.gitignore tests: add tests for string functions Sep 3, 2016
.travis.yml travis-ci: remove make install Sep 3, 2016
AUTHORS Files needed by autoreconf and co. Apr 25, 2014
COPYING COPYING not needed line May 9, 2014
ChangeLog Updated ChangeLog Sep 15, 2016
Doxyfile Update Doxyfile Sep 14, 2016
GPL-LICENSE.txt Dual licensed libstrophe under MIT and GPLv3. Jun 15, 2009
LICENSE.txt Dual licensed libstrophe under MIT and GPLv3. Jun 15, 2009
MIT-LICENSE.txt Dual licensed libstrophe under MIT and GPLv3. Jun 15, 2009
Makefile.am tests: remove dependency on check package Sep 15, 2016
NEWS Files needed by autoreconf and co. Apr 25, 2014
README README needed by autoconf Apr 26, 2014
README.markdown README: remove mention of the check dependency Sep 15, 2016
TODO Files needed by autoreconf and co. Apr 25, 2014
bootstrap.sh autotools: fixed build with old versions of automake Jan 2, 2015
build-android.sh Add warning about disabled TLS in build-android.sh Sep 14, 2016
configure.ac tests: remove dependency on check package Sep 15, 2016
libstrophe.pc.in Refactored configure.ac, added pkg-config support Oct 8, 2014
strophe.h conn: xmpp_conn_open_stream() sends user-supplied tag Sep 6, 2016
strophepp.h Fix spacing in c++ files Sep 27, 2016

README.markdown

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.

Its goals are:

  • usable quickly
  • well documented
  • reliable

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.

Requirements

libstrophe requires:

  • expat or libxml2 - expat is the default; use --with-libxml2 to switch
  • openssl on UNIX systems

To build libstrophe using autotools you will need autoconf, automake, libtool and pkg-config.

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

Then open docs/html/index.html.