source: git/main.dox @ eb8f20

spielwiese
Last change on this file since eb8f20 was eb8f20, checked in by Oleksandr Motsak <motsak@…>, 10 years ago
Starting to document directores with Doxygen
  • Property mode set to 100644
File size: 3.2 KB
Line 
1/*!
2\page main_page Introductory developers manual
3
4The Singular kernel development introduction contains:
5
6- \subpage styleguide "the C/C++ programming Style Guide",
7- \subpage bs_page "the Singular build system",
8- somewhat outdated Singular kernel documentation: <ftp://www.mathematik.uni-kl.de/pub/Math/Singular/doc/singular-anatomy.tgz>,
9- a short description of the Singular restructurization: <http://www.singular.uni-kl.de/gap-meeting-2012/SW.Aug.12.motsak.2.pdf> and
10- the current internal structure and dependencies can be seen at \subpage deps_page.
11  Top-level packages are:
12  - \subpage omalloc_page "Singular Memory Manager"
13  - \subpage resources_page "Resource Handling Helpers"
14  - \subpage factory_page "Factorization lib."
15  - \subpage libpolys_page "Singular most basic data structures"
16  - \subpage kernel_page "Mathematical Algorithms"
17  - \subpage singular_page "Singular Interpreter and related"
18 
19*/
20
21/*!
22\page deps_page Dependencies between Singular packages
23
24- \ref omalloc_page
25- \ref resources_page
26- \ref factory_page
27- \ref libpolys_page
28  - \ref libpolys_misc_page
29  - \ref libpolys_reporter_page
30  - \ref libpolys_coeffs_page
31  - \ref libpolys_polys_page
32- \ref kernel_page
33  - \ref kernel_numeric_page
34  - \ref kernel_combinatorics_page
35  - \ref kernel_GBEngine_page
36  - \ref kernel_groebner_walk_page
37  - \ref kernel_fglm_page
38  - \ref kernel_maps_page
39  - \ref kernel_spectrum_page
40  - \ref kernel_linear_algebra_page
41  - \ref kernel_oswrapper_page
42- \ref singular_page
43  - \ref dynmodules_page
44
45
46Dependencies between Singular packages (and sub-grouppings) are shown as arrows on the following diagramm:
47\dotfile Includes.dot Package dependency diagram
48*/
49
50
51/*!
52\page bs_page Singular Build System (autotools)
53
54We use autotools. Here is a good autotools (mythbuster) manual: https://www.flameeyes.eu/autotools-mythbuster/
55Singular consists of several packages (that is, libraries with own
56configure scripts):
57
58- \ref omalloc_page
59- \ref resources_page
60- \ref factory_page
61- \ref libpolys_page
62- \ref singular_page
63
64Moreover some of these (top-level) libraries combine smaller ones into
65itself.
66- \ref libpolys_page
67  - \ref libpolys_misc_page
68  - \ref libpolys_reporter_page
69  - \ref libpolys_coeffs_page
70  - \ref libpolys_polys_page
71- \ref singular_page
72  - \ref kernel_page
73  - \ref dynmodules_page
74
75
76One can easily exted any existing library by adding new sources to the
77corresponding _SOURCE specification (and headers to _HEADER).
78Sources or headers may be generated by the builds system
79(automatically by cofigure scripts, manually in compile time by
80targets in makefiles) but have to be treated specially.
81
82
83New sub-libraries may be added to the existing directories (to the
84corresponding Makefile.am's) or to their own (new) directory
85with a new Makefile.am, which has to be treated by the corresponding
86configure script. If that new directory has to be treated by
87recursive make  - it has to be listed in in a SUBDIRS section
88by some higher-level Makefile.am (which is treated)
89
90
91It is strongly recommended to add separate unit-tests (TESTS) for any
92package or library.
93
94Please test the build system with `make distcheck` before submitting
95in case of a build system chenges.
96
97See also \ref styleguide
98*/
Note: See TracBrowser for help on using the repository browser.