-
Notifications
You must be signed in to change notification settings - Fork 0
Build and Run
The following software is required in order to build and use ELVE.
- Qt (5.7 or later)
- boost (1.60 or later)
- g++ (6.2.0 or later)
- libstdc++6 (for full c++11 support)
To download Qt, follow the instructions on Qt website.
In Ubuntu Qt and the other packages can be installed with the following commands.
sudo apt-get install build-essential git libboost-all-dev g++-6 libstdc++6
sudo apt-get install qt5-default qtcreator libqt5svg5-dev
Building ELVE is straight forward:
mkdir build
cd build
qmake CONFIG+=release ..
make
sudo make install
Will install ELVE for the current user, adding the ~/.elve folder to the $HOME directory.
Qmake will install the required libElveCore.so to /usr/lib, if this is not the right folder for the user distribution, as this is the case for ubuntu, adding a symbolic link to it from the right folder fixes dynamic linking errors.
If, for permissions reasons, ELVE could not be installed with sudo. It is still useful to run
make install
As this will create the folder in the $HOME directory and add a RunElve script to the build/Elve directory.
Once installed, ELVE can be run this way:
Elve
or this way if the user could not install it with sudo:
#in build/Elve
./RunElve
ELVE terminal allows issuing commands. But often we would rather execute a whole script or have commands coming from another software.
Since the standard input is redirected automatically to the internal terminal, you can pipe your script files to Elve like this:
cat myelvescript | ./Elve
ELVE script files are simply either semi-colon separated or newline separated list of commands.
Sample script content:
load_blif "~/mul5.blif"
level_layout
show -g
cluster
select --add 1 338 154 150 340
group -m 1
select -c 1 365 359 244 351 252 185 199 353 347 358 195 357
extract -n
And of course, this also allows software to launch Elve frontend as a subprocess and invoke commands automatically through stdin.
ELVE is developed and maintained by the Processor Architecture Lab, EPFL.
You can contact us at elve@groupes.epfl.ch.