1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
Compiling Maria (on Unix-like platforms):
Prerequisites
-------------
To compile Maria, you will need:
- C and C++ compilers. (The main development platform is Linux and GCC 2.95,
and the code is occasionally also compiled with Compaq cxx v6.3.)
- A POSIX.1 compliant "make" utility, such as GNU Make or the native one
of Digital UNIX 4.0.
- The GNU Readline library (unless you disable the HAS_READLINE option)
- GNU Bison 1.28 and flex 2.5.4 if you want to recompile the parsers
Basic compilation
-----------------
To invoke the compilation, type
make -f Makefile.`uname`
where `uname` is the type of your system. (Makefile.BSD is common for
FreeBSD, NetBSD, OpenBSD and IBM AIX.) If there is no Makefile for
your system, make a copy of an existing file, adapt it, and send it to
me, so that it will be included in the next version.
Multi-processor compilation
---------------------------
On a multi-processor system, you may want to use the -j option of GNU
Make. Determine the number of processors you want to use (try "uptime"
and "/usr/sbin/psrinfo" or "mpadmin -s"), and compile the files:
nice make -f Makefile.`uname` depend
nice make -f Makefile.`uname` -j 8
The target "depend" should be made on a single processor, since the
targets involving Bison and Flex interfere with the -j option. The
argument of the -j option specifies the number of processors to be
utilised.
Installation
------------
To install Maria on a Unix-like system, use the pseudo-target
"install". You may want to specify the target directory tree, like
below:
make PREFIX=/usr/local install
If install(1) does not support the -c switch, you may need to adjust
the variables INSTALLBIN and INSTALLDATA in Makefile.
Other tools
-----------
You may wish to install also the following tools in order to fully use
the potential of Maria:
LBT, LTL to generalized Bchi automaton translator
http://www.tcs.hut.fi/Software/maria/tools/lbt/
http://www.tcs.hut.fi/Software/maria/src/lbt-1.2.1.tar.gz
GraphViz, the Graph Visualization Project of AT&T
http://www.graphviz.org
http://www.graphviz.org/pub/graphviz/
http://www.research.att.com/sw/tools/graphviz/
The core features of Maria will work also without these tools. The
GraphViz-based graphical user interface only works on Unix-like
platforms for the time being.
Recompiling with different options
----------------------------------
If you modify the HAS_READLINE compilation option, remove
parser/marde.tab.o and parser/cmdline.o and invoke make.
If you modify the USE_MMAP compilation option, touch Graph/file.h
and invoke make.
If you modify the BUILTIN_LTL compilation option, touch
Automata/Property.h, remove parser/marde.tab.o and invoke make.
If you modify other options, it is best to invoke "make clean" and
to compile everything from the scratch.
Marko Mkel (msmakela@tcs.hut.fi)
|