Revision 396fd5153d1fe81e12f0b41fc72717aa2d3012d2 authored by Hans Schoenemann on 25 March 2020, 21:40:28 UTC, committed by Hans Schoenemann on 25 March 2020, 21:40:28 UTC
1 parent 4da6ec1
main.dox
/*!
\page main_page Introduction to Singular kernel development
\brief Introductory pages for new kernel development
- \subpage build_sources_page "Building Singular from Sources",
- \subpage development_model_page "New git-supported Development Model",
- \subpage howto_contribute_page "HowTo CONTRIBUTE to Singular development",
- \subpage styleguide "C/C++ programming style guide",
- \subpage bs_page "Singular build system",
- \subpage changes_in_sw_page "Significant changes in Singular 4",
- Short introduction to general concepts (types, paths, etc.)<br/>
<https://www.singular.uni-kl.de/Manual/intro_sing.pdf>,
- Short description of the Singular restructurization: <br/>
<https://www.singular.uni-kl.de/gap-meeting-2012/SW.Aug.12.motsak.2.pdf> and
- Current internal structure and dependencies can be seen at \subpage deps_page.
Top-level packages are:
- \subpage omalloc_page "Singular Memory Manager",
- \subpage resources_page "Resource Handling Helpers",
- \subpage factory_page "Factorization library",
- \subpage libpolys_page "Singular most basic data structures",
- \subpage kernel_page "Mathematical Algorithms",
- \subpage singular_page "Singular Interpreter and related".
\Note Singlar relies on some third-party \subpage external_packages_page "Packages".
\Note In case of any uncovered topics or unanswered questions please report
them to us.
*/
/*!
\page deps_page Dependencies between Singular packages
\brief Current Singular packages and sub-packages with expected dependencies between them
- \ref omalloc_page
- \ref resources_page
- \ref factory_page
- \ref libpolys_page
- \ref libpolys_misc_page
- \ref libpolys_reporter_page
- \ref libpolys_coeffs_page
- \ref libpolys_polys_page
- \ref kernel_page
- \ref kernel_numeric_page
- \ref kernel_combinatorics_page
- \ref kernel_GBEngine_page
- \ref kernel_groebner_walk_page
- \ref kernel_fglm_page
- \ref kernel_maps_page
- \ref kernel_spectrum_page
- \ref kernel_linear_algebra_page
- \ref kernel_oswrapper_page
- \ref singular_page
- \ref dynmodules_page
Dependencies between Singular packages (and sub-grouppings) are shown as arrows on the following diagramm:
\dotfile Includes.dot Package dependency diagram
*/
/*!
\page bs_page Singular Build System
\brief Short introduction to the Singular build system
We use autotools.
Here is a good autotools (mythbuster) manual:
<https://www.flameeyes.eu/autotools-mythbuster/>
Singular consists of several packages,
which are (mostly standalone) libraries with their own configuration scripts:
- \ref omalloc_page
- \ref resources_page
- \ref factory_page
- \ref libpolys_page
- \ref singular_page
Moreover some of the top-level libraries combine smaller ones into
itself:
- \ref libpolys_page
- \ref libpolys_misc_page
- \ref libpolys_reporter_page
- \ref libpolys_coeffs_page
- \ref libpolys_polys_page
- \ref singular_page
- \ref kernel_page
- \ref dynmodules_page
One can easily exted any existing library by adding new sources to the
corresponding _SOURCE specification (and headers to _HEADER).
Sources or headers may be generated by the build system
(automatically by configure scripts, manually in compile time by
targets in makefiles) but have to be treated specially.
Short HOWTO:
- \subpage adding_kernel_package "Adding a sub-package to /kernel/"
New sub-libraries may be added to the existing directories (to the
corresponding Makefile.am's) or to their own (new) directory
with a new Makefile.am, which has to be treated by the corresponding
configure script. If that new directory has to be treated by
recursive make - it has to be listed in in a SUBDIRS section
by some higher-level Makefile.am (which is treated)
It is strongly recommended to add separate unit-tests (TESTS) for any
package or library.
Please test the build system with `make distcheck` before submitting
in case of a build system chenges.
See also \ref styleguide.
*/
/*!
\dir omalloc
\ref omalloc_page
*/
/*!
\dir resources
\ref resources_page
*/
/*!
\dir libpolys
\ref libpolys_page
*/
/*!
\dir kernel
\ref kernel_page
*/
/*!
\dir Singular
\ref singular_page
*/
/*!
\dir ./factory
\ref factory_page
*/
/*!
\dir templates
Templates for new sources and headers
*/
/*!
\page copying_page Singular copying agreement
\brief COPYING
\verbinclude COPYING
*/
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...