forked from Singular/Singular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdir_structure
89 lines (85 loc) · 2.7 KB
/
dir_structure
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
Audience and their wishes:
A) Developer
A1 - several independent versions of Singular
A2 - developer version: additional commands, main sources in the current
directory or "nearby"
B) User
B1 - binaries installable without administrator privileges
B2 - sources installable without administrator privileges
C) Administrator
C1 - installable without conflicts
C2 - installable for several binary architectures
C3 - few dependencies
What to install ?
- sub-projects
- have:
- libraries
- public headers
- private headers
- can be
- also used outside of Singular (factory etc.)
- or: relatively useless outside of Singular (liboutput etc.)
- support files for Singular
- gftables
(currently: $SINGULARPATH/gftables:%b/LIB/gftables:%b/../LIB/gftables:%b/../../LIB/gftables)
- libraries
(currently: $SINGULARPATH:%b/LIB:%b/../LIB:%b/../../LIB)
- system modules
(currently %b)
- user modules
(currently: $SINGULARPATH:%b/MOD:%b/../MOD:%b/../../MOD)
- index file
(currently: %b/../doc/singular.idx)
- info file
(currently: %b/../info/singular.hlp)
- HTML
(currently: %b/../html)
- examples (planned)
(currently: %b/../examples)
- emacs
(currently: %b/../emacs)
Current layout
- compile everything inside the current working directory (A1, B2, C1)
- install into this tree (A2, C1)
- grammar.cc, scanner.cc etc can be build,
but are usually included in the sources (C3: no need for flex/bison)
- all directories are relative to
- the main binary location (A1,B1,C2)
- or /usr/local/Singular/bin
<version>/<arch> directory for binaries (%b)
<version>/<arch>/MOD directory for user modules (%b/MOD)
<version>/emacs directory for emacs scripts
<version>/html, <version>/doc, <version>/info, <version>/examples
directories for help stuff
<version>/LIB directory for libraries
<version>/LIB/gftables directory for gftables
<Build-dir>/<arch>/include directory for public headers
<Build-dir>/<arch>/lib directory for libraries
<Build-dir>/Singular directory for development version
LIB: <Build-dir>/Singular/LIB
everything else <Build-dir>/emacs,html,info,doc,...
for examples: /usr/local/Singular on wawa:
./3-1-0/ix86-Linux/MOD
./3-1-0/ix86-Linux
./3-1-0/x86_64-Linux/MOD
./3-1-0/x86_64-Linux
./3-1-0/emacs
./3-1-0/html
./3-1-0/doc
./3-1-0/examples
./3-1-0/info
./3-1-0/LIB/gftables
./3-1-0/LIB/surfex
./3-1-0/LIB
./3-1-1/ix86-Linux/MOD
./3-1-1/ix86-Linux
./3-1-1/emacs
./3-1-1/html
./3-1-1/doc
./3-1-1/x86_64-Linux/MOD
./3-1-1/x86_64-Linux
./3-1-1/examples
./3-1-1/info
./3-1-1/LIB/gftables
./3-1-1/LIB/surfex
./3-1-1/LIB