We mostly test on x86 Linux, but everything should work on other architectures and FreeBSD/OSX with only a small effort.
On debian-like systems, to install build dependencies, try
sudo aptitude install binutils-gold binutils-dev python man-db bc
Ensure that running ld --version
reports that you are using the "gold" linker by creating a link to /usr/bin/ld.gold
as ld
in your PATH
.
To additionally grab GCC 4.6 for Dragonegg:
sudo aptitude install {gcc,gfortran,g++}-4.6{,-multilib} gcc-4.6-plugin-dev
AESOP is an LLVM project, but we build LLVM with a few patches. This guide should get you started.
$HOME/opt
is good. Call this PREFIX
. Create it and set up some environment variables: mkdir $PREFIX export PATH=$PREFIX/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PREFIX/lib
$HOME/llvm-3.3
. Call this LLVM_SRC
.
$LLVM_SRC/tools/clang
.
$HOME/aesop
. Call this AESOP_SRC
. ~/aesop
MUST be $AESOP_SRC
or a link to it right now. Sorry.
cd $LLVM_SRC patch -p0 < $AESOP_SRC/patches/aesop-lto-for-3.3.patch
cd $LLVM_SRC ./configure --prefix=$PREFIX --enable-optimized --enable-assertions --enable-pic --with-binutils-include=/usr/include make -j8 && make install
cd $AESOP_SRC ./configure --prefix=$(llvm-config --prefix) --with-llvmobj=$(llvm-config --obj-root) --with-llvmsrc=$(llvm-config --src-root) --includedir=$(llvm-config --includedir) make -j8 && make install
sudo apt-get install gcc-multilib
cc
, gcc
, g++
, and gfortran
in your PATH
are symlinks to GCC 4.6 binaries: AESOP tools assume that these binaries will work with Dragonegg.