source: git/main.dox @ e3a054

spielwiese
Last change on this file since e3a054 was e3a054, checked in by Oleksandr Motsak <motsak@…>, 10 years ago
Initial addition of some Wiki materials to Sources in markdown form (.md) with references
  • Property mode set to 100644
File size: 4.1 KB
Line 
1/*!
2\page main_page Introductory developers manual
3
4The Singular kernel development introduction contains:
5
6- \subpage build_sources_page "Building Singular from Sources",
7- \subpage development_model_page "New git-supported Development Model",
8- \subpage howto_contribute_page "HowTo CONTRIBUTE to Singular development",
9- \subpage styleguide "Newer C/C++ programming style guide",
10- \subpage legacystyleguide "Legacy C programming style guide",
11- \subpage bs_page "the build system",
12- \subpage changes_in_sw_page "significant SW changes",
13- somewhat outdated Singular kernel documentation: <ftp://www.mathematik.uni-kl.de/pub/Math/Singular/doc/singular-anatomy.tgz>,
14- a short description of the Singular restructurization: <http://www.singular.uni-kl.de/gap-meeting-2012/SW.Aug.12.motsak.2.pdf> and
15- the current internal structure and dependencies can be seen at \subpage deps_page.
16  Top-level packages are:
17  - \subpage omalloc_page "Singular Memory Manager",
18  - \subpage resources_page "Resource Handling Helpers",
19  - \subpage factory_page "Factorization library",
20  - \subpage libpolys_page "Singular most basic data structures",
21  - \subpage kernel_page "Mathematical Algorithms",
22  - \subpage singular_page "Singular Interpreter and related".
23
24Note that Singlar may rely on some third-party \subpage external_packages_page "Packages".
25*/
26
27/*!
28\page deps_page Dependencies between Singular packages
29
30- \ref omalloc_page
31- \ref resources_page
32- \ref factory_page
33- \ref libpolys_page
34  - \ref libpolys_misc_page
35  - \ref libpolys_reporter_page
36  - \ref libpolys_coeffs_page
37  - \ref libpolys_polys_page
38- \ref kernel_page
39  - \ref kernel_numeric_page
40  - \ref kernel_combinatorics_page
41  - \ref kernel_GBEngine_page
42  - \ref kernel_groebner_walk_page
43  - \ref kernel_fglm_page
44  - \ref kernel_maps_page
45  - \ref kernel_spectrum_page
46  - \ref kernel_linear_algebra_page
47  - \ref kernel_oswrapper_page
48- \ref singular_page
49  - \ref dynmodules_page
50
51
52Dependencies between Singular packages (and sub-grouppings) are shown as arrows on the following diagramm:
53\dotfile Includes.dot Package dependency diagram
54*/
55
56
57/*!
58\page bs_page Singular Build System (autotools)
59
60We use autotools. Here is a good autotools (mythbuster) manual: https://www.flameeyes.eu/autotools-mythbuster/
61Singular consists of several packages (that is, libraries with own
62configure scripts):
63
64- \ref omalloc_page
65- \ref resources_page
66- \ref factory_page
67- \ref libpolys_page
68- \ref singular_page
69
70Moreover some of these (top-level) libraries combine smaller ones into
71itself.
72- \ref libpolys_page
73  - \ref libpolys_misc_page
74  - \ref libpolys_reporter_page
75  - \ref libpolys_coeffs_page
76  - \ref libpolys_polys_page
77- \ref singular_page
78  - \ref kernel_page
79  - \ref dynmodules_page
80
81
82One can easily exted any existing library by adding new sources to the
83corresponding _SOURCE specification (and headers to _HEADER).
84Sources or headers may be generated by the builds system
85(automatically by cofigure scripts, manually in compile time by
86targets in makefiles) but have to be treated specially.
87
88Short HOWTO:
89- \subpage adding_kernel_package "Adding a sub-package to /kernel/"
90
91
92New sub-libraries may be added to the existing directories (to the
93corresponding Makefile.am's) or to their own (new) directory
94with a new Makefile.am, which has to be treated by the corresponding
95configure script. If that new directory has to be treated by
96recursive make  - it has to be listed in in a SUBDIRS section
97by some higher-level Makefile.am (which is treated)
98
99
100It is strongly recommended to add separate unit-tests (TESTS) for any
101package or library.
102
103Please test the build system with `make distcheck` before submitting
104in case of a build system chenges.
105
106See also \ref styleguide and \ref legacystyleguide .
107*/
108
109/*!
110\dir omalloc
111\ref omalloc_page
112*/
113/*!
114\dir resources
115\ref resources_page
116*/ 
117/*!
118\dir libpolys
119\ref libpolys_page
120*/
121/*!
122\dir kernel
123\ref kernel_page
124*/
125/*!
126\dir Singular
127\ref singular_page
128*/
129/*!
130\dir ./factory/
131\ref factory_page
132*/
133/*!
134\dir templates
135Templates for new sources and headers
136*/
137
138 
139/*!
140\page copying_page COPYING
141\verbinclude COPYING
142*/
Note: See TracBrowser for help on using the repository browser.