Library of GNAT internals (was: GPS don't like ASIS)
Ludovic Brenta <[email protected]> Mon, 11 Sep 2006 10:41:53 +0200
| Newsgroups | gmane.comp.ide.gps.user |
|---|---|
| Message-ID | <[email protected]> |
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.