processone / exmpp Goto Github PK
View Code? Open in Web Editor NEWErlang XMPP library
Erlang XMPP library
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.