diff options
Diffstat (limited to 'INSTALL.md')
-rw-r--r-- | INSTALL.md | 86 |
1 files changed, 67 insertions, 19 deletions
diff --git a/INSTALL.md b/INSTALL.md index 1061c5187a..a7bc0a53e4 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -27,7 +27,7 @@ on Unix. For detailed instructions on how to Binary releases for Windows can be found at <http://www.erlang.org/download.html>. -Before reading the above mensioned documents you are in any case advised to +Before reading the above mentioned documents you are in any case advised to read this document first, since it covers building Erlang/OTP in general as well as other important information. @@ -44,21 +44,31 @@ At Ericsson we have a "Daily Build and Test" that runs on: * x86 * SuSE Linux/GNU 9.4, 10.1 * x86 -* SuSE Linux/GNU 10.0, 10.1 +* SuSE Linux/GNU 10.0, 10.1, 11.0 * x86 * x86\_64 -* SuSE Linux/GNU 11.0 - * x86\_64 +* openSuSE 11.4 (Celadon) + * x86\_64 (valgrind) +* Fedora 7 + * PowerPC +* Fedora 14 + * x86\_64 * Gentoo Linux/GNU 1.12.11.1 * x86 +* Ubuntu Linux/GNU 7.04, 10.04, 10.10, 11.0 + * x86\_64 * MontaVista Linux/GNU 4.0.1 * PowerPC -* FreeBSD 7.1 +* FreeBSD 8.2 * x86 -* Mac OS X 10.4.11 (Tiger), 10.5.8 (Leopard), 10.6.0 (Snow Leopard) +* OpenBSD 5.0 + * x86\_64 +* Mac OS X 10.5.8 (Leopard), 10.6.0 (Snow Leopard), 10.7.3 (Lion) * x86 * Windows XP SP3, 2003, Vista, 7 * x86 +* Windows 7 + * x86\_64 We also have the following "Daily Cross Builds": @@ -132,7 +142,7 @@ These are the tools you will need in order to unpack and build Erlang/OTP. * OpenSSL -- Optional, but needed for building the Erlang/OTP applications `ssl` and `crypto`. You need the "development package" of OpenSSL, i.e. including the header files. For building the application `ssl` the OpenSSL - binary command program `openssl` is also needed. At least version 0.9.7 + binary command program `openssl` is also needed. At least version 0.9.8 of OpenSSL is required. Can be downloaded from <http://www.openssl.org>. * Sun Java jdk-1.5.0 or higher -- Optional but needed for building the Erlang/OTP application `jinterface` and parts of `ic` and `orber`. Can @@ -273,12 +283,6 @@ Some of the available `configure` options are: * `--with-ssl=PATH` - Specify location of OpenSSL include and lib * `--{with,without}-ssl` - OpenSSL (without implies that the `crypto`, `ssh`, and `ssl` won't be built) -* `--enable-ethread-pre-pentium4-compatibility` - Enable compatibility with - x86 processors before pentium 4 (back to 486) in the ethread library. If - not passed the ethread library (part of the runtime system) will use - instructions that first appeared on the pentium 4 processor when building - for x86. This option will be automatically enabled if required on the - build machine. * `--with-libatomic_ops=PATH` - Use the `libatomic_ops` library for atomic memory accesses. If `configure` should inform you about no native atomic implementation available, you typically want to try using the @@ -424,7 +428,7 @@ as before, but the build process will take a much longer time. ### Building in Git ### When building in a Git working directory you also have to have a GNU `autoconf` -of at least version 2.59 on your system. This since you need to generate the +of at least version 2.59 on your system, because you need to generate the `configure` scripts before you can start building. The `configure` scripts are generated by invoking `./otp_build autoconf` in @@ -436,7 +440,7 @@ when checking out a branch. Regenerated `configure` scripts imply that you have to run `configure` and build again. > *NOTE*: Running `./otp_build autoconf` is **not** needed when building -> an unmodified version the released source. +> an unmodified version of the released source. Other useful information can be found at our github wiki: <http://wiki.github.com/erlang/otp> @@ -641,9 +645,6 @@ Use `hipe:help_options/0` to print out the available options. Mac OS X (Darwin) ----------------- -We test Mac OS X 10.4.11 (Tiger) and Mac OS X 10.5.x (Leopard) in our daily -builds (but only on Intel processors). - Make sure that the command `hostname` returns a valid fully qualified host name (this is configured in `/etc/hostconfig`). @@ -652,6 +653,15 @@ If you develop linked-in drivers (shared library) you need to link using include `-fno-common` in `CFLAGS` when compiling. Use `.so` as the library suffix. +Use the `--enable-darwin-64bit` configure flag to build a 64-bit +binaries on Mac OS X. + +Building universal binaries on Mac OS X (obsolete information) +-------------------------------------------------------------- + +(This information was written when Mac OS X Leopard was the current +release. It may no longer work.) + Universal 32bit binaries can be built on an Intel Mac using the `--enable-darwin-universal` configure option. There still may occur problems with certain applications using this option, but the base @@ -680,6 +690,44 @@ test on). Universal binaries and 64bit binaries are mutually exclusive options. +Building a fast Erlang VM on Mac OS Lion +---------------------------------------- + +Starting with XCode 4.2, Apple no longer includes a "real" `gcc` +compiler (not based on the LLVM). Building with `llvm-gcc` or `clang` +will work, but the performance of the Erlang run-time system will not +be the best possible. + +Note that if you have `gcc-4.2` installed and included in `PATH` +(from a previous version of XCode), `configure` will automatically +make sure that `gcc-4.2` will be used to compile `beam_emu.c` +(the source file most in need of `gcc`). + +If you don't have `gcc-4.2.` and want to build a run-time system with +the best possible performance, do like this: + +Install XCode from the AppStore if it is not already installed. + +Install MacPorts (<http://www.macports.org/>). Then: + + $ sudo port selfupdate + $ sudo port install gcc45 +universal + +If you want to build the `wx` application, get wxMac-2.8.12 +(`wxMac-2.8.12.tar.gz` from +<http://sourceforge.net/projects/wxwindows/files/2.8.12/>) and build: + + $ arch_flags="-arch i386" ./configure CFLAGS="$arch_flags" CXXFLAGS="$arch_flags" CPPFLAGS="$arch_flags" LDFLAGS="$arch_flags" OBJCFLAGS="$arch_flags" OBJCXXFLAGS="$arch_flags" --prefix=/usr/local --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk --with-macosx-version-min=10.6 --enable-unicode --with-opengl --disable-shared + $ make + $ sudo make install + +Build Erlang with the MacPorts GCC as the main compiler (using `clang` +for the Objective-C Cocoa code in the `wx` application): + + $ PATH=/usr/local/bin:$PATH CC=/opt/local/bin/gcc-mp-4.5 CXX=/opt/local/bin/g++-mp-4.5 ./configure --enable-m32-build make + $ sudo make install + + How to Build a Debug Enabled Erlang RunTime System -------------------------------------------------- @@ -726,7 +774,7 @@ Copyright and License %CopyrightBegin% -Copyright Ericsson AB 1998-2010. All Rights Reserved. +Copyright Ericsson AB 1998-2012. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in |