123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- [[installation]]
- == Installation
- === On Unix
- Erlang.mk requires GNU Make to be installed. While it will
- currently work with GNU Make 3.81, support for this version
- is deprecated and will be removed in 2017. We recommend
- GNU Make 4.1 or later.
- Git and Erlang/OTP must also be installed.
- Some functionality requires that Autoconf 2.59 or later be
- installed, in order to compile Erlang/OTP. Erlang/OTP may
- have further requirements depending on your needs.
- Some packages may require additional libraries.
- ==== Linux
- The commands to install packages vary between distributions:
- .Arch Linux
- [source,bash]
- $ pacman -S erlang git make
- Alpine Linux and other distributions based on BusyBox come
- with an incompatible `awk` program. Installing the GNU Awk
- (`gawk` on Alpine) solves this issue.
- ==== FreeBSD
- FreeBSD comes with binary and source packages:
- .Install binary packages
- [source,bash]
- $ pkg install erlang git gmake
- On FreeBSD the `make` command is BSD Make. Use `gmake` instead.
- ==== OS X and macOS
- While Apple distributes their own GNU Make, their version is
- very old and plagued with numerous bugs. It is recommended
- to install a more recent version from either Homebrew or
- MacPorts:
- .Homebrew
- [source,bash]
- $ brew install erlang git make
- Homebrew installs GNU Make as `gmake`. The `make` command
- is the one provided by Apple.
- .MacPorts
- [source,bash]
- $ sudo port install erlang git gmake
- === On Windows
- Erlang.mk can be used on Windows inside an MSYS2 environment.
- Cygwin, MSYS (the original) and native Windows (both Batch
- and PowerShell) are currently not supported.
- NOTE: Erlang.mk expects Unix line breaks in most of the files
- (LF instead of CRLF). Make sure to configure your text editor
- adequately.
- The rest of this section details how to setup Erlang/OTP and
- MSYS2 in order to use Erlang.mk.
- ==== Installing Erlang/OTP
- Erlang.mk requires Erlang/OTP to be installed. The OTP team
- provides binaries of Erlang/OTP for all major and minor releases,
- available from the http://www.erlang.org/download.html[official download page].
- It is recommended that you use the 64-bit installer unless
- technically impossible. Please follow the instructions from
- the installer to complete the installation.
- The OTP team also provides a short guide to
- http://www.erlang.org/download.html[installing Erlang/OTP on Windows]
- if you need additional references.
- You can install Erlang/OTP silently using the `/S` switch
- on the command line:
- ----
- C:\Users\essen\Downloads> otp_win64_18.0.exe /S
- ----
- ==== Installing MSYS2
- The only supported environment on Windows is MSYS2. MSYS2 is
- a lightweight Unix-like environment for Windows that comes
- with the Arch Linux package manager, `pacman`.
- The MSYS2 project provides a http://msys2.github.io[one click installer]
- and instructions to set things up post-installation.
- It is currently not possible to use the installer silently.
- Thankfully, the MSYS2 project provides an archive that can
- be used in lieu of the installer. The archive however requires
- _7zip_ to decompress it.
- First, download the
- http://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-base-x86_64-20150512.tar.xz/download[MSYS2 base archive]
- and extract it under 'C:\'. Assuming you downloaded the
- archive as 'msys2.tar.xz' and put it in 'C:\', you can
- use the following commands to extract it:
- ----
- C:\> 7z x msys2.tar.xz
- C:\> 7z x msys2.tar > NUL
- ----
- Then you can run the two commands needed to perform the
- post-installation setup:
- ----
- C:\> C:\msys64\usr\bin\bash -lc "pacman --needed --noconfirm -Sy bash pacman pacman-mirrors msys2-runtime"
- C:\> C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Syu"
- ----
- ==== Installing the required MSYS2 packages
- After following these instructions, you can install GNU Make,
- Git and any other required softwares. From an MSYS2 shell,
- you can call `pacman` directly:
- [source,bash]
- $ pacman -S git make
- You can use `pacman -Ss` to search packages. For example,
- to find all packages related to GCC:
- [source,bash]
- $ pacman -Ss gcc
- If you are going to compile C/C++ code, you will need to
- install this package, as Erlang.mk cannot use the normal
- "gcc" package:
- [source,bash]
- $ pacman -S mingw-w64-x86_64-gcc
- You can also run commands under the MSYS2 environment from
- the Windows command line or batch files. This command will
- install GNU Make and Git:
- ----
- C:\> C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S git make"
- ----
- You can use similar `bash` commands if you need to run programs
- inside the MSYS2 environment from a batch file.
- ==== Gotchas
- While most of the basic functionality will just work, there are
- still some issues. Erlang.mk needs to be fixed to pass the
- right paths when running Erlang scripts. We are working on it.
- Erlang.mk is fully tested on both Linux and Windows, but is
- lacking tests in the areas not yet covered by this guide,
- so expect bugs to be fixed as more tests are added.
|