1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
|
/*!
\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/>
<http://www.singular.uni-kl.de/Manual/intro_sing.pdf>,
- Short description of the Singular restructurization: <br/>
<http://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
*/
|