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.
tarballsCreate 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 ..
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
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
HOME
doesn't exist.
cd /home/myaccount/myfelix make testThis 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
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 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.
The flx
executable will also be copied to
/usr/local/binwhich must be on your
$PATH
.
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 --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 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
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.