[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Reason for linking the GNAT tools dynamically

Svante Signell <svante.signell@telia.com> writes:
> Any ideas of the reason for static/dynamic switch in patch:
> ada-link-lib.diff? Without the reason for it being introduced, there is
> not much incitament to submit patches to it...

This is explained in /usr/share/doc/gnat-4.6/README.Debian:

  - Install the shared Ada libraries as '.so.1', not '.so' to conform
  to the Debian policy.
  - Don't include a runtime link path (-rpath), when linking binaries.
  - Build the shared libraries on hppa-linux.
  - Instead of building libada as a target library only, build it as
  both a host and, if different, target library.
  - Build the GNAT tools in their top-level directory; do not use
  recursive makefiles.
  - Link the GNAT tools dynamically.
  - Fix a bug in src/gnattools/configure.ac whereby a nonexistent version
  of indepsw's body was selected.  Regenerate configure. (PR ada/27300)

  - Introduce a new shared library named libgnatvsn, containing
  common components of GNAT under the GNAT-Modified GPL, for
  use in GNAT tools, ASIS, GLADE and GPS.   Link the gnat tools
  against this new library.

  - Introduce a new shared library named libgnatprj, containing
  the GNAT project file manager licensed under the pure GPL, for
  use in GNAT tools, GLADE and GPS.  Link the GNAT tools against
  this new library.

libgnatvsn and libgnatprj guarantee the compatibility of GNAT with other
tools built from other source packages like asis and gnat-gps.  Linking
the GNAT tools against libgnat-4.6.so is a prerequisite for that and
additionally saves about 10 MiB on an installation.

Ludovic Brenta.

Reply to: