source: git/main.dox

spielwiese
Last change on this file was 4bde6b, checked in by Hans Schoenemann <hannes@…>, 3 years ago
spelling p1
  • Property mode set to 100644
File size: 4.2 KB
Line 
1/*!
2\page main_page Introduction to Singular kernel development
3
4\brief Introductory pages for new kernel development
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 "C/C++ programming style guide",
10- \subpage bs_page "Singular build system",
11- \subpage changes_in_sw_page "Significant changes in Singular 4",
12- Short introduction to general concepts (types, paths, etc.)<br/>
13  <https://www.singular.uni-kl.de/Manual/intro_sing.pdf>,
14- Short description of the Singular restructurization: <br/>
15  <https://www.singular.uni-kl.de/gap-meeting-2012/SW.Aug.12.motsak.2.pdf> and
16- Current internal structure and dependencies can be seen at \subpage deps_page.
17  Top-level packages are:
18  - \subpage omalloc_page "Singular Memory Manager",
19  - \subpage resources_page "Resource Handling Helpers",
20  - \subpage factory_page "Factorization library",
21  - \subpage libpolys_page "Singular most basic data structures",
22  - \subpage kernel_page "Mathematical Algorithms",
23  - \subpage singular_page "Singular Interpreter and related".
24
25\Note Singular relies on some third-party \subpage external_packages_page "Packages".
26
27\Note In case of any uncovered topics or unanswered questions please report
28them to us.
29*/
30
31/*!
32\page deps_page Dependencies between Singular packages
33
34\brief Current Singular packages and sub-packages with expected dependencies between them
35
36- \ref omalloc_page
37- \ref resources_page
38- \ref factory_page
39- \ref libpolys_page
40  - \ref libpolys_misc_page
41  - \ref libpolys_reporter_page
42  - \ref libpolys_coeffs_page
43  - \ref libpolys_polys_page
44- \ref kernel_page
45  - \ref kernel_numeric_page
46  - \ref kernel_combinatorics_page
47  - \ref kernel_GBEngine_page
48  - \ref kernel_groebner_walk_page
49  - \ref kernel_fglm_page
50  - \ref kernel_maps_page
51  - \ref kernel_spectrum_page
52  - \ref kernel_linear_algebra_page
53  - \ref kernel_oswrapper_page
54- \ref singular_page
55  - \ref dynmodules_page
56
57
58Dependencies between Singular packages (and sub-grouppings) are shown as arrows on the following diagram:
59\dotfile Includes.dot Package dependency diagram
60*/
61
62
63/*!
64\page bs_page Singular Build System
65
66\brief Short introduction to the Singular build system
67
68We use autotools.
69Here is a good autotools (mythbuster) manual:
70<https://www.flameeyes.eu/autotools-mythbuster/>
71Singular consists of several packages,
72which are (mostly standalone) libraries with their own configuration scripts:
73
74- \ref omalloc_page
75- \ref resources_page
76- \ref factory_page
77- \ref libpolys_page
78- \ref singular_page
79
80Moreover some of the top-level libraries combine smaller ones into
81itself:
82- \ref libpolys_page
83  - \ref libpolys_misc_page
84  - \ref libpolys_reporter_page
85  - \ref libpolys_coeffs_page
86  - \ref libpolys_polys_page
87- \ref singular_page
88  - \ref kernel_page
89  - \ref dynmodules_page
90
91
92One can easily exted any existing library by adding new sources to the
93corresponding _SOURCE specification (and headers to _HEADER).
94Sources or headers may be generated by the build system
95(automatically by configure scripts, manually in compile time by
96targets in makefiles) but have to be treated specially.
97
98Short HOWTO:
99- \subpage adding_kernel_package "Adding a sub-package to /kernel/"
100
101
102New sub-libraries may be added to the existing directories (to the
103corresponding Makefile.am's) or to their own (new) directory
104with a new Makefile.am, which has to be treated by the corresponding
105configure script. If that new directory has to be treated by
106recursive make  - it has to be listed in in a SUBDIRS section
107by some higher-level Makefile.am (which is treated)
108
109
110It is strongly recommended to add separate unit-tests (TESTS) for any
111package or library.
112
113Please test the build system with `make distcheck` before submitting
114in case of a build system chenges.
115
116See also \ref styleguide.
117*/
118
119/*!
120\dir omalloc
121\ref omalloc_page
122*/
123/*!
124\dir resources
125\ref resources_page
126*/
127/*!
128\dir libpolys
129\ref libpolys_page
130*/
131/*!
132\dir kernel
133\ref kernel_page
134*/
135/*!
136\dir Singular
137\ref singular_page
138*/
139
140/*!
141\dir ./factory
142\ref factory_page
143*/
144/*!
145\dir templates
146Templates for new sources and headers
147*/
148
149
150/*!
151\page copying_page Singular copying agreement
152
153\brief COPYING
154
155\verbinclude COPYING
156*/
Note: See TracBrowser for help on using the repository browser.