First of all, to install Feral, your system must meet the prerequisites mentioned in the README file here. The basic installation steps are given in that README, but this chapter will describe it to a bit more extent. Feel free to skip this if you are satisfied with the README's installation procedure.
For installing the language compiler, first clone the official GitHub repository: Feral-Lang/Feral.
git clone https://github.com/Feral-Lang/Feral
cd into the directory, create a
build directory, cd into that, run
cmake .., and finally run
That will build and install the language interpreter, along with its dynamic libraries.
cd Feral && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make install
Note that you can also specify number of CPU cores using
make -j<number of cores>. This will greatly improve the build time
of the project. For example,
cmake .. && make -j8 install
This will generate the Feral libraries and binaries (as well as the required standard libraries) which can be used to execute Feral code. The binary which we will use is called
feral and it should be generated in
build/bin/ directory of the repository (assuming no
PREFIX_DIR is set).
You can also install
ccache to speed up the build process. CMake will autodetect and use it if it finds it.
At this point, you may also want to add the
$PREFIX_DIR/bin directory in your system's
$PATH variable to directly use
feral command from any directory. Otherwise, you must execute
$PREFIX_DIR with actual value).
To run the test suite, execute the command
$PREFIX_DIR/bin/feral testdir tests in the Feral repository directory.
This variable is used for specifying the C++ compiler if you do not want to use the ones auto decided by the script which uses
g++ by default for all operating systems except Android and BSD, for which it uses
For example, to explicitly use
clang++ compiler on an ubuntu (linux) machine, you can use:
CXX=clang++ cmake .. && make install
This variable will allow you to set a
PREFIX_DIR directory for installation of the language after the build.
NOTE that once the script is run with a
PREFIX_DIR, manually moving the generated files to desired directories will not work since the Feral's codebase uses this
PREFIX_DIR internally itself.
/usr/local directories are used for setting the
PREFIX_DIR, however that is totally up to you. Default value for this is the directory
The script will create these directories with respect to
An example usage is:
PREFIX_DIR=/usr/local cmake .. -DCMAKE_BUILD_TYPE=Release && make install