Skip to content
Newer
Older
100644 153 lines (109 sloc) 4.69 KB
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
1 Exmpp is an Erlang application which provides the modules to ease the
2 development of an XMPP/Jabber server or client.
0d384ca @mremond * Added compilation instruction including autoconf commands.
mremond authored Jan 26, 2008
3
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
4 == Table of contents ==
0d384ca @mremond * Added compilation instruction including autoconf commands.
mremond authored Jan 26, 2008
5
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
6 I. How to build and install
7 1. Requirements
8 2. Build and install
9 3. Building examples
10 4. Using an alternate Erlang environment
11 5. Using another C compiler
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
12 6. Creating Autotools files
0d384ca @mremond * Added compilation instruction including autoconf commands.
mremond authored Jan 26, 2008
13
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
14 I. How to build and install
15 ===========================
ecd77cc @mremond * README: How to use the examples.
mremond authored Jan 26, 2008
16
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
17 1. Requirements
18 ---------------
ecd77cc @mremond * README: How to use the examples.
mremond authored Jan 26, 2008
19
d358e11 @badlop Fix text typos
badlop authored Jun 1, 2009
20 o Erlang/OTP (REQUIRED)
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
21 A full Erlang environment is recommended but only ERTS and
22 erl_interface are required.
d84a1de @badlop Raise requirement to Erlang/OTP R12B-5 (EXMPP-6)
badlop authored Jul 15, 2010
23 . Minimum version: R12B-5
ecd77cc @mremond * README: How to use the examples.
mremond authored Jan 26, 2008
24
3137f65 @badlop expat library is required; the alternative libxml2 is only experiment…
badlop authored Dec 11, 2009
25 o C compiler (REQUIRED)
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
26 Exmpp contains Erlang port drivers which are written in C.
27 Tested C compilers include:
28 . GNU Compiler Collection (gcc)
29 . Intel C++ Compiler (icc)
30 . GCC frontend for LLVM (llvm-gcc)
31 . Microsoft Visual C++ (cl)
32 C compilers known not to work:
33 . clang frontend for LLVM (ccc)
ecd77cc @mremond * README: How to use the examples.
mremond authored Jan 26, 2008
34
3137f65 @badlop expat library is required; the alternative libxml2 is only experiment…
badlop authored Dec 11, 2009
35 o XML parsing library (REQUIRED)
36 Tested libraries are:
37 . Expat: recommended. Tested: 2.0.1
38 . LibXML2: only experimental support.
ed9102e Add LibXML2 as an optional dependency.
Jean-Sébastien Pédron authored Dec 1, 2008
39
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
40 o OpenSSL (optional)
41 It's the only TLS engine supported for now.
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
42 . Tested version: 0.9.8e
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
43
44 o zlib (optional)
45 It's the only compression engine supported for now.
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
46 . Tested version: 1.2.3
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
47
48 o eunit (optional)
49 To be able to use the testsuite, this Erlang application is required.
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
50 . Tested version: 2.0
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
51
52 2. Build and install
53 --------------------
54
55 Exmpp uses the Autotools. Therefore the process is quite common:
56
57 $ ./configure
58 $ make
59 $ sudo make install
60
61 Building outside of the source directory is supported:
62
63 $ mkdir exmpp-build
64 $ cd exmpp-build
65 exmpp-build$ /path/to/exmpp-src/configure
66 exmpp-build$ make
67 exmpp-build$ sudo make install
68
69 By default, Exmpp is installed in Erlang lib directory. You may select
70 another directory with the --prefix argument to the configure script:
71
72 $ ./configure --prefix=/install/exmpp/here
73
74 Exmpp will be installed in "/install/exmpp/here/exmpp-$VERSION".
75
76 3. Building examples
77 --------------------
78
d358e11 @badlop Fix text typos
badlop authored Jun 1, 2009
79 You can find example code in the "examples" directory.
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
80
81 These modules may be built for you with the --enable-examples configure
82 argument:
83
84 $ ./configure --enable-examples
85
86 For now, they're not installed.
87
88 4. Using an alternate Erlang environment
89 ----------------------------------------
90
91 If Erlang cannot be found by the configure script of if you prefer to
92 use a specific Erlang environment, you may indicate an alternate Erlang
93 root directory with the --with-erlang argument:
94
95 $ ./configure --with-erlang=/path/to/alternate/erlang
96
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
97 Another way is to set the following configure variables:
98
99 $ ./configure ERL=/path/to/bin/erl ERLC=/path/to/bin/ERLC \
100 ESCRIPT=/path/to/bin/escript
101
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
102 5. Using another C compiler
103 ---------------------------
104
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
105 You may specify another C compiler to use at configure time. For
106 instance, to use GCC frontend for LLVM:
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
107
108 $ ./configure CC=llvm-gcc
109 $ make
110
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
111 6. Creating Autotools files
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
112 ---------------------------
113
7f625c2 @badlop Revert my previous idea; in SVN you need to run autoreconf to build s…
badlop authored Jun 3, 2009
114 If you work on a Subversion checkout, you'll have to generate some files
115 such as the configure script and Makefile.in. For this, you'll have to
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
116 install the following autotools:
580e26b @badlop Emphasize that autoconf patch is only required in old 2.62 and 2.63.
badlop authored Aug 3, 2009
117 o autoconf 2.60 or higher (read below for 2.62 and 2.63)
35c3b00 Write more complete instructions on how to build and install Exmpp.
Jean-Sébastien Pédron authored Aug 22, 2008
118 o automake 1.9 or later
119 o libtool 1.5 or later
120
121 To generate the files, run:
122
123 $ autoreconf -vif
124
125 After that, you can use the standard procedure:
126
127 $ ./configure
128 $ make
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
129
580e26b @badlop Emphasize that autoconf patch is only required in old 2.62 and 2.63.
badlop authored Aug 3, 2009
130 WARNING: Erlang support in old autoconf 2.62 and 2.63 was broken! If you
5cda47f Several configure.ac cleanups:
Jean-Sébastien Pédron authored Jan 14, 2009
131 must stick to these versions, you must apply the following patch to
132 'erlang.m4' in 'share/autoconf-2.62/autoconf' (patch taken from official
133 autoconf GIT repository):
134
135 ----8<----
136 --- erlang.m4-broken 2009-01-14 17:54:41.000000000 +0100
137 +++ erlang.m4 2009-01-14 16:51:57.000000000 +0100
138 @@ -124,7 +124,7 @@
139 m4_define([AC_LANG(Erlang)],
140 [ac_ext=erl
141 ac_compile='$ERLC $ERLCFLAGS -b beam conftest.$ac_ext >&AS_MESSAGE_LOG_FD'
142 -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'
143 +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'
144 ])
145
146
147 ----8<----
148
149 After applying the patch, you must run the following commands:
150
151 $ cd [...]/share/autoconf-2.62/autoconf
152 $ autom4te --language=autoconf --freeze --output=autoconf.m4f
Something went wrong with that request. Please try again.