On linux you will require gcc. On OSX you will require clang. On Windows, MSVC++.
Please download a tarball from GitHub Releases. Tarballs for Windows (64 bit Visual Studio) and Linux (gcc) are posted occasionally. There is no tarball for Linux/clang or OSX. The tarballs are built by Appveyor (Windows) and Travis (Linux) continuous integration servers.tarballs
Create an empty directory, say
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 ..
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
export PATH=/home/myaccount/myfelix/build/release/host/bin:$PATH flx --test=/home/myaccount/build/release/myfelix hello.flx
Felix uses a cache to improve performance and store certain personal preferences. The default cache is located in the directory
$HOME/.felixon OSX and Unix systems. On Windows the cache is located in
$USERPROFILE\.felixif the environment variable
cd /home/myaccount/myfelix make testThis will create an a subdirectory
testof 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
To remove the need to specify the Felix directory
--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:
To install you will need to be a member of
with permission to create the above directories. Type
make installand 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.
flx executable will also be copied to
/usr/local/binwhich must be on your
C:. Of course the filenames use \ instead of / as a separator.
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
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 versionfor 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/hostIn addition to the default target
hostany 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.