[gps-users] Library of GNAT internals (was: GPS don't like ASIS)
Ludovic Brenta
ludovic at ludovic-brenta.org
Mon Sep 11 10:41:53 CEST 2006
Martin Krischik writes:
> I said this before and I repeat it: a "libgnatinternal.so" would
> really be helpfull when creating ASIS, GLADE or GPS. And it is not
> impossible, AFAIK Ludovic create such a lib for Debian.
In fact I create two such libraries: libgnatvsn.so, licensed under
GNAT-Modified GPL, and libgnatprj.so, licensed under pure GPL.
libasis.so uses libgnatvsn.so only.
Yesterday I've successfully built GPS 4.0.0 using all of
libgtkada.so.2.8.1, libasis.so.2005, libgnatvsn.so.4.1.1 and
libgnatprj.so.4.1.1. I do not use "configure" or the dreaded recursive
makefiles, or even the recursive project files from AdaCore. Instead, I
have *one* makefile, called debian/rules, and *one* project file called
gps.gpr. Works like a charm. That's how GPS 2.1.0 was built in Debian,
BTW. There is now *zero* duplication of GNAT code.
Hal V. Engel wrote:
> projects-registry.adb:56:06: warning: no entities of "Scans" are referenced
> projects-registry.adb:342:15: "Initialize_Ada_Keywords" not declared in "Scans"
> projects-registry.adb:346:10: "Is_Keyword_Name" is undefined
I also had this problem and patched GPS to solve it. GCC 4.1.1 contains
a version of scans.ad[bs] that lacks Initialize_Ada_Keywords. The file
is in libgnatvsn.so in Debian, so I did not want to change it. Instead,
I copied the procedure from GNAT GPL 2006 into GPS, in
projects-registry.adb. Similarly, I copied Is_Keyword_Name from
(if memory serves) snames.ad[bs] into projects-registry.adb.
> projects-registry.adb:867:10: unmatched actual "When_No_Sources" in call
> projects-registry.adb:867:29: "Warning" is undefined
I did not see this error. I think it is a configuration management
problem; you have to be really careful which versions of which libraries
you use, and which version of the compiler.
I'm now facing a serious bug: GPS 4.0.0 crashes and dumps core when I
launch it and try "Project | Open...". This seems to be a GTK+ issue,
perhaps a stack overflow or something. I'm investigating. At this
point, I'm not sure whether that's a problem in GtkAda, GPS or the
compiler (GCC 4.1.1 from the FSF).
I'll keep you posted. In the mean time, drop me a note if you would
like to peek at my build scripts.
(Followup to -devel)
--
Ludovic Brenta.
More information about the gps-users
mailing list