Byfl relies on LLVM and Clang and can take advantage of DragonEgg. The llvm-3.5
branch of Byfl is designed to work with LLVM/Clang/DragonEgg release 3.5.x. The llvm-3.6
branch of Byfl is designed to work with LLVM/Clang release 3.6.x. The llvm-3.7
branch of Byfl is designed to work with LLVM/Clang release 3.7.x. The llvm-3.8
branch of Byfl is designed to work with LLVM/Clang release 3.8.x. The master
branch of Byfl is designed to work with LLVM/Clang trunk (i.e., the post-3.8-release development code).
As long as LLVM's llvm-config
program is in your path, the Free Software Foundation's canonical installation procedure for an out-of-source build should work:
mkdir build
cd build
../configure
make
make install
Note that ../configure
is included in Byfl releases but does not exist in the Git repository. To create it, run
autoreconf -f -i
from the top-level Byfl directory.
Run ../configure --help
for usage information. The FSF's generic installation instructions provide substantially more detail on customizing the configuration.
Note that DragonEgg requires GCC versions 4.5-4.8 and LLVM/Clang 3.5.
A few extra steps are needed to build Byfl on OS X:
-
Install Xcode, which provides various standard tools, header files, and libraries.
-
Install Homebrew, which is needed to further download various packages that OS X doesn't provide by default.
-
Use Homebrew to install Byfl:
brew install https://github.com/losalamos/Byfl/releases/download/v1.5-llvm-3.8.0/byfl15.rb
The preceding procedure installs Byfl 1.5 from the llvm-3.8
branch of Byfl. If you instead prefer to install a newer, pre-release version of Byfl (still from the llvm-3.8
branch), you can use Homebrew to install Byfl's dependencies but download Byfl itself from GitHub.
- Use Homebrew to install the GNU Autotools:
brew install autoconf
brew install automake
brew install libtool
- Use Homebrew to install LLVM 3.8:
brew install llvm38
- For a basic Byfl installation (see above) you'll need to point Byfl's
../configure
to the Homebrew-versionedllvm-config
file:
../configure LLVM_CONFIG=llvm-config-3.8
Once you've built and installed Byfl, you'll probably need to set the following environment variables to point Byfl's compiler wrapper scripts to the version of Clang that Byfl was built against:
export BF_CLANGXX=clang++-3.8
export BF_CLANG=clang-3.8