initial import from Debian
version: 14.3.0-5 commit: bee30ab0fff2fd6af94c62376c8aa4221bb831e0
This commit is contained in:
39
debian/ada/README.gnat
vendored
Normal file
39
debian/ada/README.gnat
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
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.
|
||||
|
||||
* When packaging Ada sources for Debian, you may want to read the
|
||||
/usr/share/ada/debian_packaging.mk Makefile snippet from the gnat
|
||||
package.
|
Reference in New Issue
Block a user