4
4
* [ Compiler compatibility] ( #compatibility )
5
5
* [ Target] ( #target )
6
6
* [ Run time system] ( #rts )
7
- * [ In ` $lib ` :] ( #in-lib )
8
7
* [ In ` $prefix/arm-eabi/lib/gnat ` :] ( #with-compiler )
8
+ * [ In ` $lib ` :] ( #in-lib )
9
9
* [ In the build location:] ( #in-build )
10
10
* [ Link map file] ( #link-map )
11
11
@@ -30,26 +30,19 @@ well, if at all.
30
30
## Compiler compatibility <a name =" compatibility " /> ##
31
31
32
32
During compiler development, the interface between the compiler and
33
- the run time system it's generating code for changes. As released,
34
- these RTSs match the FSF GCC 7 compiler.
33
+ the run time system it's generating code for changes.
35
34
36
- If you're using a different compiler, alternate versions of the
37
- affected units, all in ` common ` , are provided; in the table below,
38
- 'copy over corresponding ` .ad[bs] ` ' means that, for example,
39
- ` s-tarest.ads-gcc6 ` should be copied over ` s-tarest.ads ` .
35
+ This is managed here using different branches.
40
36
41
37
<!-- This renders OK at Github, but not with Markdown.pl. -->
42
38
43
- | Compiler | copy over corresponding ` .ad[bs] ` |
39
+ | Compiler | Branch |
44
40
| ---------| ----------------------------------- |
45
- | FSF GCC 6 | ` environment_task.adb-gcc6 ` , ` s-tarest.adb-gcc6 ` , ` s-tarest.ads-gcc6 ` |
46
- | GNAT GPL 2016 | as FSF GCC 6 |
47
- | FSF GCC 8 | ` a-tags.adb-gcc8 ` , ` a-tags.ads-gcc8 ` |
48
- | GNAT GPL 2017 | as FSF GCC 8 |
49
-
50
- If, instead, you've cloned the repository, then FSF GCC 6 and GNAT GPL
51
- 2016 are supported on branch ` gcc6 ` , while FSF GCC 8 and GNAT GPL 2017
52
- are supported on branch ` gcc8 ` .
41
+ | FSF GCC 6 | ` gcc6 ` |
42
+ | FSF GCC 7 | ` gcc7 ` (or ` gcc7-finalization ` ) |
43
+ | FSF GCC 8 | ` gcc8 ` (or ` gcc8-finalization ` ) |
44
+ | GNAT GPL 2016 | ` gcc6 ` |
45
+ | GNAT GPL 2017 | ` gnat-gpl-2017 ` |
53
46
54
47
## Target <a name =" target " /> ##
55
48
@@ -89,15 +82,21 @@ or, with GPRBUILD GPL 2015 or later, via an attribute:
89
82
90
83
There are two places where RTSs can be installed:
91
84
85
+ * in ` $prefix/arm-eabi/lib/gnat ` . This is the preferred location, and
86
+ is where the ` install ` make target will place the RTS.
87
+
92
88
* in the location indicated by the directory part of `arm-eabi-gcc
93
89
-print-libgcc-file-name`; for GNAT GPL 2015, that would be
94
90
` $prefix/lib/gcc/arm-eabi/4.9.3/ ` , referred to from here on as
95
91
` $lib ` .
96
92
97
- * in ` $prefix/arm-eabi/lib/gnat ` .
98
-
99
93
You can also work with an RTS in its build location.
100
94
95
+ ### In ` $prefix/arm-eabi/lib/gnat ` : <a name =" with-compiler " /> ###
96
+
97
+ The directory containing the RTS is just called {name},
98
+ e.g. ` stm32f429i/ ` .
99
+
101
100
### In ` $lib ` : <a name =" in-lib " /> ###
102
101
103
102
The directory containing the RTS should be called ` rts-{name} ` , for
@@ -120,11 +119,6 @@ Alternative RTSs are found here if they are in directories named
120
119
` rts-{name} ` , for example ` rts-stm32f429i/ ` corresponds to
121
120
` --RTS=stm32f429i ` .
122
121
123
- ### In ` $prefix/arm-eabi/lib/gnat ` : <a name =" with-compiler " /> ###
124
-
125
- The directory containing the RTS is just called {name},
126
- e.g. ` stm32f429i/ ` . This is the best place.
127
-
128
122
### In the build location: <a name =" in-build " /> ###
129
123
130
124
RTSs can also be located by giving the explicit path in the `Runtime
0 commit comments