Developer corner

An account on the server

If you want to contribute to the development of the library, contact You will get an account on the svn server:

In order to get the last version of the library, follow the instructions given here:

How to install the developer version

In order to build the development version of the library, you have to type
and then
./configure <options>; make
The script smake can also be used with a ressource file:
./smake resource
which contains information on the version and on the list of modules:
MODULES = base arithm linalg upol usolve mpol msolve topology map shape
EXTERNAL_MODULES = mpsolve sisl

How to add your contribution

Before you commit anything, please type
make check
Then, if the test run correctly, you can commit your work:
svn commit 
The code which is added to the library should be tested (test files in the directory test of the package) and documented (documentation file in the directory doc of the package).

The package structure

In order to simplify the process of adding and updating packages, we use the following rules. The comon configuration files are put in the directory install. The files of the other directory are then included the correspdonfing makefile-*, depending if it is in a bin, doc, include, src directory. Here is the example of synaps/usolve/include/
SUBDIRS = algebraic sturm bezier weierstrass
include ../../install/makefile-include
One can use also the variable top_srcdir to refer to the root directory of the library.

The documentation

The documentation files are put in the directory doc of a package. They are written using texmacs and processed using doxygen. In order to produce a html documentation, you need these two commands. By typing in the root directory of the library,
make html 
you will transform the .tex files into .dxg files (using texmacs to produce intermediate .tex files) and run doxygen on the source code and documentation files.

By typing, in the directory doc of a package,

make dxg
you will run doxygen on this package and get the corresponding html documentation from the file ./html/index.html