OTAWA Manual


1 Building OTAWA

This section describes the requirements to build and use the OTAWA framework.

1.1 Requirements

OTAWA has been mainly tested on a 32 and 64-bits Linux OS but it should work well with any other POSIX-compliant Unix system. Feel free to contact us for any problem at otawa@irit.fr.

To build OTAWA, the following tools are required:

Package Version URL
GCC 4.0.1 http://gcc.gnu.org/
GMake 3.80 http://www.gnu.org/software/make/
CMake 2.6 http://www.cmake.org/
Flex 2.5.4
Bison 2.0

Depending on the use of OTAWA, you should also install :

OTAWA has been tested on the following platforms:

Distribution Version Architecture Remarks
Linux Ubuntu from 6.10 x86, x86_64
Mandrake/driva x86, x86_64
MacOSX x86_64
Windows XP, 7 x86, x86_64

1.2 Installing from the binary package

Just download the binary version from http://www.otawa.fr .

Unzip the archive and that is: it is ready to use:

$ tar xvf package.tar.bz2

Replace "package" with the right package name.

OTAWA commands are available in the directory package/bin and you should want to add them to your PATH:

	set PATH=$PATH:absolute_path_to_otawa_package/bin

1.3 Building from source package

Just download the source version from http://www.otawa.fr .

Unzip the archive, choose an installation directory and launch the build script:

$ tar xvf package.tar.bz2
$ cd package
$ make PREFIX=installation_directory

Replace the "package" by the right package name and installation_directory by the directory where OTAWA has to be installed.

1.4 Building from the source repository

Although it is a bit harder, it may be useful to install OTAWA directly from the source repository to stay up to date with the OTAWA development process. OTAWA is using the Mercurial source manager (http://mercurial.selenic.com/).

To get a module composing OTAWA (called MODULE in the commands below), you have to type:

hg clone https://anon:ok@wwwsecu.irit.fr/hg/TRACES/MODULE/trunk MODULE

1.4.1 Building the core

The idea is that all OTAWA dependencies sources have been unpacked in a directory at the same level as the sources of OTAWA. We call this directory BUILD_DIR and call the installation directory INSTALL_DIR.

$ cd gliss2
$ make
$ cd ARCH
$ make WITH_DYNLIB=1
$ cd lp_solve5
$ patch -p1 < PACTH_FILE
$ cd lpsolve55
$ sh ccc

The PATCH_FILE file may be accessed .

$ cd PACK
$ make install

1.4.2 Building oRange

oRange is tool used to determine automatically loop bounds. It is very handy to compute WCET and you should need it. To compile it,

$ cd frontc
$ make
$ cd oRange
$ make install PREFIX=INSTALL_DIR

1.4.3 Building extensions

Building an extension is easier: you have just to check that the otawa-config utility is in the command path (add to your PATH or equivalent variable the path INSTALL_DIR'/bin'. Then, just type the following command:

$ cmake .
$ make install

Notice that some extensions have dependencies on GLISS2 packages (for example, otawa-sparc extensions requires the sparc instruction set). In this case, compile the GLISS extension before the OTAWA extension.