From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!peer02.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post02.iad.highwinds-media.com!news.flashnewsgroups.com-b7.4zTQh5tI3A!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: snag in building Ada mode Emacs module on Linux Date: Thu, 21 May 2015 08:23:16 -0500 Message-ID: <85d21um5dn.fsf@stephe-leake.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt) Cancel-Lock: sha1:Wy5W9WyzfexZhgXc3IVax/7D/3E= MIME-Version: 1.0 Content-Type: text/plain X-Complaints-To: abuse@flashnewsgroups.com Organization: FlashNewsgroups.com X-Trace: d437c555ddc45e97f808424037 X-Received-Bytes: 1759 X-Received-Body-CRC: 2785984853 Xref: news.eternal-september.org comp.lang.ada:25930 Date: 2015-05-21T08:23:16-05:00 List-Id: I've got an Emacs module (which is a dynamic library with a defined interface) that implements an OpenToken parser for Ada mode. It works on Windows, where it is marginally faster than the elisp parser. I have already identified some significant speedups to implement in the parser; that will break compatibility with OpenToken, so I'll be renaming it FastToken :). But the point of this post is to ask for help/advice for Linux (and possibly Mac). The module doesn't compile on Linux, because GNAT GPL 2014 doesn't provide a (static or dynamic) libgnat for the sjlj runtime that is compiled with -fPIC. I need -fPIC on all code in order to include it in the dynamic library that is the Emacs module. I need the sjlj runtime to support raising exceptions in the module; since Emacs is not an Ada main, it uses the sjlj exception method. I haven't tested yet, but I'm assuming Debian Ada doesn't provide -fPIC with sjlj either. So it looks like I have to compile the GNAT runtime on Linux (Debian in particular, for my test machine). Anyone have any other suggestions? Is there a similar problem on the Mac? -- -- Stephe