Skip to content

Build and Run

std::gregwar edited this page Jul 2, 2017 · 6 revisions

Dependencies

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

Build

Building ELVE is straight forward:

mkdir build
cd build
qmake CONFIG+=release ..
make

Install

sudo make install

Will install ELVE for the current user, adding the ~/.elve folder to the $HOME directory.

Shared Libraries

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.

Install Without Admin Rights

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.

Run

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

Stdin control

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.

Clone this wiki locally