There are no reviews yet. Be the first to send feedback to the community and the maintainers!
Exmpp is an Erlang application which provides the modules to ease the development of an XMPP/Jabber server or client. == Table of contents == I. How to build and install 1. Requirements 2. Build and install 3. Building examples 4. Using an alternate Erlang environment 5. Using another C compiler 6. Creating Autotools files I. How to build and install =========================== 1. Requirements --------------- o Erlang/OTP (REQUIRED) A full Erlang environment is recommended but only ERTS and erl_interface are required. . Minimum version: R12B-5 o C compiler (REQUIRED) Exmpp contains Erlang port drivers which are written in C. Tested C compilers include: . GNU Compiler Collection (gcc) . Intel C++ Compiler (icc) . GCC frontend for LLVM (llvm-gcc) . Microsoft Visual C++ (cl) C compilers known not to work: . clang frontend for LLVM (ccc) o XML parsing library (REQUIRED) Tested libraries are: . Expat: recommended. Tested: 2.0.1 . LibXML2: only experimental support. o OpenSSL (optional) It's the only TLS engine supported for now. . Tested version: 0.9.8e o zlib (optional) It's the only compression engine supported for now. . Tested version: 1.2.3 o eunit (optional) To be able to use the testsuite, this Erlang application is required. . Tested version: 2.0 2. Build and install -------------------- Exmpp uses the Autotools. Therefore the process is quite common: $ ./configure $ make $ sudo make install Building outside of the source directory is supported: $ mkdir exmpp-build $ cd exmpp-build exmpp-build$ /path/to/exmpp-src/configure exmpp-build$ make exmpp-build$ sudo make install By default, Exmpp is installed in Erlang lib directory. You may select another directory with the --prefix argument to the configure script: $ ./configure --prefix=/install/exmpp/here Exmpp will be installed in "/install/exmpp/here/exmpp-$VERSION". 3. Building examples -------------------- You can find example code in the "examples" directory. These modules may be built for you with the --enable-examples configure argument: $ ./configure --enable-examples For now, they're not installed. 4. Using an alternate Erlang environment ---------------------------------------- If Erlang cannot be found by the configure script of if you prefer to use a specific Erlang environment, you may indicate an alternate Erlang root directory with the --with-erlang argument: $ ./configure --with-erlang=/path/to/alternate/erlang Another way is to set the following configure variables: $ ./configure ERL=/path/to/bin/erl ERLC=/path/to/bin/ERLC \ ESCRIPT=/path/to/bin/escript 5. Using another C compiler --------------------------- You may specify another C compiler to use at configure time. For instance, to use GCC frontend for LLVM: $ ./configure CC=llvm-gcc $ make 6. Creating Autotools files --------------------------- If you work on a Subversion checkout, you'll have to generate some files such as the configure script and Makefile.in. For this, you'll have to install the following autotools: o autoconf 2.60 or higher (read below for 2.62 and 2.63) o automake 1.9 or later o libtool 1.5 or later To generate the files, run: $ autoreconf -vif After that, you can use the standard procedure: $ ./configure $ make WARNING: Erlang support in old autoconf 2.62 and 2.63 was broken! If you must stick to these versions, you must apply the following patch to 'erlang.m4' in 'share/autoconf-2.62/autoconf' (patch taken from official autoconf GIT repository): ----8<---- --- erlang.m4-broken 2009-01-14 17:54:41.000000000 +0100 +++ erlang.m4 2009-01-14 16:51:57.000000000 +0100 @@ -124,7 +124,7 @@ m4_define([AC_LANG(Erlang)], [ac_ext=erl ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&AS_MESSAGE_LOG_FD' -ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&AS_MESSAGE_LOG_FD ; echo "#!/bin/sh" > conftest$ac_exeext ; AS_ECHO(["\"$ERL\" -run conftest start -run init stop -noshell"]) >> conftest$ac_exeext ; chmod +x conftest$ac_exeext' +ac_link='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&AS_MESSAGE_LOG_FD ; echo "[#]!/bin/sh" > conftest$ac_exeext ; AS_ECHO(["\"$ERL\" -run conftest start -run init stop -noshell"]) >> conftest$ac_exeext ; chmod +x conftest$ac_exeext' ]) ----8<---- After applying the patch, you must run the following commands: $ cd [...]/share/autoconf-2.62/autoconf $ autom4te --language=autoconf --freeze --output=autoconf.m4f
ejabberd
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)tsung
Tsung is a high-performance benchmark framework for various protocols including HTTP, XMPP, LDAP, etc.ejabberd-contrib
Growing and curated ejabberd contributions repository - PR or ask to join !stun
STUN and TURN library for Erlang / Elixireturnal
STUN / TURN standalone serverxmpp-messenger-ios
iOS XMPP Messenger Frameworkxmpp
Erlang/Elixir XMPP parsing and serialization library on top of Fast XMLfast_xml
Fast Expat based Erlang XML parsing libraryoneteam
OneTeam XMPP multi-platform client. This is a Mozilla / XUL based platform, developed mostly in Javascript and C++ XPCOM.docker-ejabberd
Set of ejabberd Docker imagesgrapherl
ejabberd monitoring serverfast_tls
TLS / SSL OpenSSL-based native driver for Erlang / Elixirdemo-xmpp-ios
XMPPFramework Basic client relying using CocoaPods packageiconv
Fast encoding conversion library for Erlang / Elixirfast_yaml
Fast YAML native library for Erlang / Elixirrtb
Benchmarking tool to stress real-time protocolseimp
Erlang Image Manipulation Processcache_tab
In-memory cache Erlang / Elixir libraryoms
Erlang-based Flash media server supporting video streaming, video conferencing, RPC call from client and from server, Remote Shared objects.go-erlang
Go library for Erlang/Elixir interopejabberd-vagrant-dev
Vagrant and Ansible script to create a VM preconfigured for ejabberd developmentejabberd-api
ejabberd API library in Go and multi-platform command-line toolxmpp-websocket-client
Test XMPP Websocket clientesip
ProcessOne SIP server component in Erlangp1_utils
Erlang Utility Modules from ProcessOnep1_pgsql
Pure Erlang PostgreSQL driveroneweb
OneWeb firefox extension to interact with browser and share content over XMPPp1_mysql
Pure Erlang MySQL driverfast_ts
Fast TS is a fast Time Series Event Stream Processorstringprep
Fast Stringprep implementation for Erlang / Elixirjamler
docs.ejabberd.im
This is documentation site for ejabberd messaging servermqtree
Index tree for MQTT topic filtersezlib
Native zlib driver for Erlang / Elixirmysql
Erlang MySQL driverxml
Fast Expat based Erlang XML parsing librarypkix
PKIX certificates management for Erlangepam
epam helper for Erlang / Elixir PAM authentication supportp1_acme
ACME client library for Erlangeiconv
iconv Erlang bindingtls
TLS / SSL native driver for Erlang / Elixirp1pp
ProcessOne Push Platform Command Linedpk
Analyse & convert data from online services for backup, indexing or migration purposehttpmock
HTTP recorder and mock libraryxmpp-notifier
Github Action to send repository notifications to XMPPpgsql
Pure Erlang PostgreSQL driverp1_yaml
Fast Yaml native library for Erlang / Elixiryconf
YAML configuration processorp1pp-js
ProcessOne Push Platform Javascript libraryfluux
fluux.io is a scalable messaging service (SaaS) powered by ejabberd Business Editionandroid-wave-client
Wave client for Android mobileelixir_experiments
This is a repository containing Elixir experiments for ejabberderedis_queue
Erlang Async Job Processingzlib
Native zlib driver for Erlangecrdt
CRDT compliant data structuresbfile
An interface to fast FILE I/Op1_sip
ProcessOne SIP server componentrebar3_exunit
A plugin to run Elixir ExUnit tests from rebar3 build toolgoogle-wave-api
Wave API ported for Androiddns-tools
Provides a programmer-friendly API for a number of undocumented OTP dns lookup, resolution, caching and configuration functions.ejabberd-po
Translation files for ejabberdsoundcloud
Minimal library to implement SoundCloud client in GoOpenfireExporter
Export users from Openfirep1_logger
ProcessOne logger for ejabberdjorge
Jorge is set of php scripts that are front-end for Oleg Palij ejabberd mod_logdbejabberdOSXPrefs
ejabberd preference panel for OSXboxcar-ios-framework
iOS Push Framework for Boxcarjira-security-level-plugin
This is a JIRA plugin to automatically set security level based on group of the reporterLove Open Source and this site? Check out how you can help us