Skip to content

Latest commit

 

History

History
143 lines (107 loc) · 3.7 KB

build-erlang-client.md

File metadata and controls

143 lines (107 loc) · 3.7 KB
title
RabbitMQ Erlang Client Library Build Instructions

RabbitMQ Erlang Client Library Build Instructions

Overview {#overview}

This guide covers building RabbitMQ Erlang client from source.

Building from Source

Prerequisites {#prerequisites}

In order to build the client library, you will need a few tools.

RabbitMQ requires a recent version of Python for generating AMQP 0-9-1 framing code.

Additionally, you will need

  • The Erlang development and runtime tools. On a Debian-based system then you need the erlang-nox, erlang-dev and erlang-src packages installed. See Erlang Version Requirements guide to learn about the recommended ways of provisioning a recent supported version of Erlang.
  • A recent version of Elixir
  • a recent version of GNU make
  • a recent version of xsltproc, which is part of libxslt
  • a recent version of xmlto
  • zip and unzip

Building the Client

The repository is hosted on GitHub. Clone the repository with

git clone https://github.com/rabbitmq/rabbitmq-erlang-client.git

to build the client, run make:

cd rabbitmq-erlang-client
make

This will clone and build all dependencies of the client.

Other Make Targets {#targets}

There are other useful Makefile targets available in the repository. They include

Target Description
all The default target. Builds the client library and all of its dependencies.
shell Builds the client library and starts an Erlang shell (a REPL) with the libraries loaded.
run-broker Builds the client and starts a RabbitMQ server node with shell and the client included in runtime load path.
clean Removes temporary build products.
distclean Removes all build products.
tests Runs test suites
dialyze Analyses the client source code with dialyzer. Uses PLT file from default location: ~/.dialyzer_plt. Use
make PLT=/path/to/plt dialyze
  to override this. Add broker to PLT beforehand,
  otherwise you will a lot of 'unknown function'
  warnings. See <code>add_broker_to_plt</code> make
  target.
</td>
source-dist Creates a source tarball of the library under ./PACKAGES.
package Creates an Erlang archive (binary build) of the library under ./PACKAGES.