This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ada/40025] New: gnatmake does not honour project files' Library_Version exactly
- From: "ludovic at ludovic-brenta dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 May 2009 08:22:57 -0000
- Subject: [Bug ada/40025] New: gnatmake does not honour project files' Library_Version exactly
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The change introduced in [1] is most annoying; it means that gnatmake now
thinks it knows better than I do what soname my libraries should have. This is
wrong. As the maintainer of multiple libraries in Debian over multiple
versions and many years, I know better and I insist that gnat honour *exactly*
the soname that I specify in project files (and comply with the Law of Least
Astonishment in the process).
[1] http://gcc.gnu.org/ml/gcc-patches/2007-08/msg01091.html
To aggravate the problem, the behavior depends on the platform, which means
that a project file will produce libraries with different sonames on different
platforms! This makes it very difficult to maintain libraries on multiple
platforms and ensure the sonames change whenever we want them to.
Also, the documentation in 4.4 does not mention the change in behaviour; the
documentation is therefore misleading (hence the severity minor instead of
enhancement).
I am going to patch Debian's gnat-4.4 to revert to the old behaviour.
I am curious to know your rationale behind the change because right now I can
see no good reason for it. If this rationale is convincing, perhaps the best
would be to make the behaviour controllable from within the project file, i.e.
project Lib is
package Linker is
for Library_Major_Minor_Id_Supported use False;
end Linker;
end Lib;
Please consider this last part a request for enhancement.
--
Summary: gnatmake does not honour project files' Library_Version
exactly
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ludovic at ludovic-brenta dot org
GCC build triplet: pc=linux-gnu
GCC host triplet: pc-linux-gnu
GCC target triplet: pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40025