Requirements

On linux you will require gcc. On OSX you will require clang. On Windows, MSVC++.

Tarball

Please download a tarball from the directory below. Tarballs for OSX and Linux are posted occasionally. As we currently do not have a Windows developer there is no Windows tarball.

tarballs

Unpack

Create an empty directory, say /home/myaccount/myfelix and cd into it.

Unpack the tarball into that directory. The unpacked tarball is an uninstalled Felix. It is a complete Felix system ready to use.

mkdir /home/myaccount/myfelix
cd /home/myaccount/myfelix
tar -zxvf /home/myaccount/felix_1.1.9dev_Linux_tarball.tar.gz
cd ..

Use uninstalled Felix

Felix can be used immediately.

mkdir mytest
echo 'println$ "Hello World";' > hello.flx
/home/myaccount/myfelix/build/release/host/bin/flx --test=/home/myaccount/myfelix/build/release hello.flx

You can simplify the command if you put the directory containing the executable in your PATH:

export PATH=/home/myaccount/myfelix/build/release/host/bin:$PATH
flx --test=/home/myaccount/build/release/myfelix hello.flx

Cache directory

Felix uses a cache to improve performance and store certain personal preferences. The default cache is located in the directory

$HOME/.felix
on OSX and Unix systems. On Windows the cache is located in
$USERPROFILE\.felix
if the environment variable HOME doesn't exist.

Testing Felix

Felix comes with some regression tests. The easiest way to run these is:
cd /home/myaccount/myfelix
make test
This will create an a subdirectory test of the current directory and run some tests. To avoid spoiling the source directory you can do this instead:
BUILDROOT=/home/myaccount/myfelix make -f /home/myaccount/myfelix/Makefile test

Installing Felix on OSX or Unix

To remove the need to specify the Felix directory with the --test= parameter, you can install Felix. On Linux and OSX the install directory will be

/usr/local/lib/felix/felix-1.1.9dev/
(where the actual version number will appear) and a symlink will be created:
/usr/local/lib/felix/felix-latest

To install you will need to be a member of sudo group with permission to create the above directories. Type

make install
and enter your sudo password when prompted. Do NOT install as root or invoke the install under sudo or you will not be able to access the cache.

The flx executable will also be copied to

/usr/local/bin
which must be on your $PATH.

Installing Felix on Windows

Unlike most Windows programs, Felix installs in the same locations on Windows as on OSX or Unix, on drive C:. Of course the filenames use \ instead of / as a separator.

Generic Install Structure

In general, Felix does not need to be installed. We recommend installation simply because it reduces the need to specify long pathnames to flx and other executable tools, and removes the need for the --test=dir parameter which locates the Felix install directory.

The general recommended install structure is:

/usr/local/lib/felix-version # some installed version
/usr/local/lib/felix-latest  # symlink to production version
for each version, so multiple versions can be installed. That is further subdivided into shared an non-shareable parts:
# read only universal source text
/usr/local/lib/felix-latest/share 

# platform dependent configuration and binaries
/usr/local/lib/felix-latest/host  
In addition to the default target host any number of other target directories can be built. In this way the whole install can be shared on a server for multiple platforms, providing a single source and a target for each architecture.