Design > Source Code Organization and Build System

Release Information

Project: Siconos
Internal Release Number: 1.0
Last update: September 15, 2005
Related Documents: Design

Overview

Loading the platform using svn results in a siconos directory creation, with two subdirectories, tags and trunk. The main one is trunk, that contains all Siconos related files, described in the table above.
trunk is divided into five main directories. One for the present documentation, one that provides a library of examples and the last three for the Siconos software itself (sources).

  • To install the whole platform:
in each directory, Numerics, Kernel and FrontEnd (in that order!), run:
  • ./reconf.sh
  • ./configure
  • make
  • make install (as root if necessary).
reconf.sh generates a configure file using configure.ac and config/ rules, by running autoconf and automake.
Then running configure checks the system is ready for install.
Make-make install compiles, links and install sources.

Key Directories and Files in Developer Working Copies

Note that almost all directories contain (when necessary) a Makefile.am file, to describe compilation options, that is not listed in the table below.

Path Description
Web/
html files for Siconos Web page
Docs/
tex and html files to generate documentation manual
Docs/Dev/
doc for developers, html files to generate the present web-pages
Docs/Dev/siconos.book
to generate pdf from html files (use htmldoc and open siconos.book)
Docs/TeX-tools/
tools for tex-pdf manual generation
Docs/User/ tex files to generate SUM manual
FrontEnd/
Siconos End-user interface
FrontEnd/reconf.sh
pre-configuration script (run autoconf, automake ...) for FrontEnd
FrontEnd/configure.ac configuration file
FrontEnd/python/
python interface related files
FrontEnd/python/pySiconos.i list of Siconos classes to be wrapped in python
FrontEnd/scilab/ scilab interface related files
FrontEnd/scilab/siconos.cpp C++ module with global objects (Model and Simulation)  and "C" functions that use it
FrontEnd/scilab/siconos.sci interface "C" functions of siconos.cpp in scilab function. Uses the simplest mechanism : scilab link and scilab call.
Numerics/
fortran and c functions for low-level numerical algorithms
Numerics/config/
configuration rules
Numerics/reconf.sh
pre-configuration script (run autoconf, automake ...) for Numerics
Numerics/configure.ac
configuration file
Numerics/src/
code sources
Numerics/src/odepack/
fortran files for ode solvers
Numerics/src/odepack/test/ corresponding cpp unit tests
Numerics/src/solverpack/
solver package
Numerics/src/solverpack/src/ code sources (c files) for solver package
Numerics/src/solverpack/test/ corresponding cpp unit tests
Kernel/
main Siconos module to drive modelisation and simulation of non-smooth dynamical systems behavior.
Kernel/config/ configuration rules
Kernel/config/DoxygenSiconos.cfg Doxygen documentation configuration file
Kernel/config/KernelConfig.sh.in configuration rules (flags for compilation ...)
Kernel/config/Make-rules configuration rules (library paths ...)
Kernel/config/xmlschema/ XML schema related files
Kernel/config/xmlschema/SiconosModelSchema-V1.2.xsd XML schema definition
Kernel/doc/
Doxygen documentation
Kernel/doc/api/html html files for generated Doxygen doc
Kernel/doc/api/latex tex files for generated Doxygen doc
Kernel/reconf.sh pre-configuration script (run autoconf, automake ...) for Kernel
Kernel/configure.ac configuration file for Kernel
Kernel/m4
m4 files
Kernel/siconos/
binary file
Kernel/src/ code sources for Kernel (C++)
Kernel/src/model/ sources for model component
Kernel/src/model/test/ corresponding cpp unit tests
Kernel/src/modelingTools/
sources for modeling component
Kernel/src/modelingTools/test/
corresponding cpp unit tests
Kernel/src/simulationTools/
sources for simulation component
Kernel/src/simulationTools/test/ corresponding tests
kernel/src/utils/
sources for utils component
Kernel/src/utils/contract/
headers for Nana library management
Kernel/src/utils/SiconosAlgebra/
sources for matrices and vectors handling
Kernel/src/utils/SiconosException/ sources for Exception handling
Kernel/src/utils/SiconosMemory/
sources for Memory objects handling
Kernel/src/utils/SiconosSharedLibrary/ tools for plug-in management
Kernel/src/xml/ sources for input-output (XML) component
Kernel/src/xml/test/ corresponding cpp unit tests
Kernel/src/plugin/
sources (C) for plug-in description
Kernel/src/plugin_test/
corresponding test-files
Examples/
Examples library

Build Targets

Target Description
clean remove files generated by previous build commands. Files under version control are not touched.
documentation
generate Doxygen documentation.
install Places executable code into location where it will actually be executed.  (default: /usr/local/bin)
uninstall remove executable code