Building MiniscSim

How to Build

For the atikokan.050215 release (the number refers to the release date), you unpack the file and do the usual configure / make / sudo make install. This release contains only the msimsim/ and msimutil/ directories with two libraries. The reason it is a lot bigger than older versions is the use of the autotools. Note that header files will be put in a directory {prefix}/include/miniscsim, so take care to inform your compiler about this. This is done because some header files have pretty ordinary names, which might conceivably conflict with other things. Of course you can change all that to be more to your liking, this is open source software.
For older versions, you have to build it yourself, with the 'Makefile' provided, or you can read it and come up with your own build method:


Installation Hints for Older Versions
-------------------------------------

This has been tested on linux (fedora FC3) and mingw/Win2000. It should work on other linux systems as well, there is nothing specific to those systems in it (except for the clock/ directory, which uses FLTK).

If you have all the required tools (see REQUIREMENTS below), you can type

     make all

in the "main" directory and everything should be build.

In the subdirectories (util/, simul/, clock/, eat/), type

"make new" will do the usual "make clean", followed by "make".

REQUIREMENTS
------------

Everything needs C++ with STL, although in very simple ways. Look in the include directives. Maps, sets and strings. If you have C++, you should have STL, its just header files, and works almost anywhere. All of it builds fine in linux with development tools installed. Someone got it to build with OS-X, but I am not sure what tools he has installed.

The alarm clock uses FLTK.

SUBDIRECTORIES:

simul/:

These are 2 things to build here, the library and a test program 'testmain'. This should be simple, as long as you have 'gcc', STL libraries, and 'ar'. And 'make'. For the testmain program, you don't need 'ar'.

eat/:

This is not part of the simulation tools, it is an exampe using the tools. It contains some classes and routines for a simulation of fish in an aquarium. This will be expanded in the future to look prettier. Just type

     make

This contains some useful libraries. "Babel" is for a simple tool for internationalization (a big word, eh?). Useful for programs with not too many text messages in not too many languages. Used by the clock example.

"CodeVersion" is a class for version numbers (in the version.h and version.cc files).

"Confdict" is a configuration dictionary, where you can store values of different types (numbers, booleans, strings) by name. Used by the fishtank example. This needs C linkage for some files. It can also be useful to have bison (yacc will do, change the Makefile) and flex (lex). But, these are only needed if you want to change the grammars. Otherwise, gcc will work.

clock/:

The program here ("clock") is a little excersize with FLTK (from www.fltk.org) to make a GUI. It also uses the Babel internationalization library from util/. It works under KDE and Windows. Haven't tried it under other linux window managers, but there is nothing KDE specific in it.