summaryrefslogtreecommitdiffstats
path: root/debian/ada/README.gnat
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:22:56 +0000
commit3f472a4e5ca21e3ddb13737473e636b2b11a408a (patch)
tree7db1ab317884b9f6e04b6e13737c1679879cb97a /debian/ada/README.gnat
parentAdding upstream version 13.2.0. (diff)
downloadgcc-13-3f472a4e5ca21e3ddb13737473e636b2b11a408a.tar.xz
gcc-13-3f472a4e5ca21e3ddb13737473e636b2b11a408a.zip
Adding debian version 13.2.0-10.debian/13.2.0-10debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--debian/ada/README.gnat40
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/ada/README.gnat b/debian/ada/README.gnat
new file mode 100644
index 0000000..43febc3
--- /dev/null
+++ b/debian/ada/README.gnat
@@ -0,0 +1,40 @@
+If you want to develop Ada programs and libraries on Debian, please
+read the Debian Policy for Ada:
+
+http://people.debian.org/~lbrenta/debian-ada-policy.html
+
+The default Ada compiler is and always will be the package `gnat'.
+Debian contains many programs and libraries compiled with it, which
+are all ABI-compatible.
+
+Starting with gnat-4.2, Debian provides both zero-cost and
+setjump/longjump versions of the run-time library. The zero-cost
+exception handling mechanism is the default as it provides the best
+performance. The setjump/longjump exception handling mechanism is new
+and only provided as a static library. It is necessary to use this
+exception handling mechanism in distributed (annex E) programs. If
+you wish to use the new sjlj library:
+
+1) call gnatmake with --RTS=sjlj
+2) call gnatbind with -static
+
+Do NOT link your programs with libgnat-4.2.so, because it uses the ZCX
+mechanism.
+
+
+This package also includes small tools covering specific needs.
+
+* When linking objects compiled from both Ada and C sources, you need
+ to use compatible versions of the Ada and C compilers. The
+ required major version is the output of
+ # gnatmake --version | sed 's/.* \([0-9]\+\).*/\1/;q')
+ Then compile C sources with gcc-MAJOR instead of gcc.
+ For GPR projects, this should be sufficient:
+ # gprconfig --batch --config=Ada --config=C,,,,MAJOR
+
+ The same advice applies to C++, Fortran and assembly.
+ The former /usr/bin/gnatgcc is now deprecated.
+
+* When packaging Ada sources for Debian, you may want to read the
+ /usr/share/ada/debian_packaging.mk Makefile snippet from the gnat
+ package.