diff options
Diffstat (limited to 'debian/ada/README.gnat')
-rw-r--r-- | debian/ada/README.gnat | 40 |
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. |