|Version 4 (modified by 7 years ago) ( diff ),|
Matreshka's User's Guide
To install Matreshka unpack its source code archive and run
make make install
Automatic configuration utility will be build and run to configure Matreshka to meet your machine and operating system.
On Windows system you need 'make', 'install' and a few other commands. The easiest way to get them is to install Make and CoreUtils packages from GnuWin32 port. Another option - install MinGW or Cygwin environment.
Sometimes, it is needed to have more control over configuration and build of Matreshka. One example is use Matreshka on Windows, where detection of non-standard libraries is problematic. Another example is binary packages supporters.
So, build of Matreshka consists from several steps:
- build of configuration utility;
- execution of configuration utility;
- build of package;
- installation of package.
Build of configuration utility
Configuration utility can be build by using
Execution of configuration utility
Execution of configuration utility in its simplest form looks like:
This is exactly what default make target do, so there is no reasons to use it.
Configuration utility allows to specify several additional parameters all of is reported by
Below is small example of manual execution of configuration utility to install Matreshka in specified directory and to lookup SQLite's libraries in the specified directory on Windows:
configure.exe --prefix=C:\Matreshka --with-sqlite3-libdir=C:\Matreshka\lib
Build of Matreshka
To build Matreshka after manual configuration it is sufficient to run
Several make's variables can be used to adjust build process:
- SMP_MFLAGS can be used to utilize several CPUs to compile Matreshka;
- GNAT_OPTFLAGS can be used to pass additional user defined switches for compiler.
Installation of Matreshka
And to install Matreshka:
Install target is used DESTDIR environment variable to adjust root directory, it is very useful for binary packages supporters.
Debugging of appications
Matreshka provides GDB plugin to pretty printing of provided data types: you will see textual representation of actual data instead of content of internal data structures.
You need to copy gdb/python/matreshka.py file to somewhere in you file tree and add line to load this file into .gdbinit file:
Next time you run GDB it will load plugin to pretty print Matreshka's data types. Note, due to GDB architecture this works only on objects of Matreshka's datatypes, not on user defined record or array types. Thus, if you debugging following code:
type Person is record Name : League.Strings.Universal_String; end record; Obj : Person;
the only way to print value of Obj.Name is to use