[gtkada] GtkAda on Mac OS X

John B. Matthews trashgod at GMAIL.COM
Thu May 7 04:40:37 CEST 2009


On May 6, 2009, at 6:41 PM, Nicolas Setton wrote:

> Hello John,
>
>> On Mac OS X 10.5.6 (x86), I recently built gtk2 (2.14.7) and
>> dependencies using MacPorts <http://www.macports.org/>. With an
>> existing GNAT 4.3.4, I was able to build GtkAda 2.14.1 (r143711) in
>> the usual way:
>>
>> svn co http://svn.eu.adacore.com/anonsvn/Dev/trunk/GtkAda
>> cd GtkAda
>> ./configure --prefix=/opt/local --with-GL=GL --with-GL-prefix=/usr/ 
>> X11R6
>> make
>> make install
>
> this is a pretty good achievement in itself :-)
>
>> Unfortunately, the --enable-shared handler for darwin is commented  
>> out
>> in configure at line 1414. Instead, I used the following manual
>> alternative:
>> [...]
>> I'd be grateful for any advice on doing it more compatibly.
>
> our production environment at AdaCore is a bit different - we build  
> for x86_64 and not x86, we are currently qualifying with Gtk+ 2.14.5  
> and not 2.14.7 and, more importantly, we do not use Macports at all,  
> (we build Gtk+ and all of the dependencies manually with our  
> specific options), so we are not sure that any modification we make  
> would be of use to you.

Nicolas: Yes, this produces a much leaner library. The MacPorts  
approach is nearly four times the size of a manual build!

> On the other hand, if you have a small patch to suggest to the  
> configure (or, rather, aclocal.m4) or Makefiles in GtkAda that would  
> save you from doing a manual build of the dylib, we would be happy  
> to test it: if it does not break our regression testsuite, we'll  
> apply it to the subversion tree and maintain it so that it works out- 
> of-the-box with Macports.

Thank you or looking at this. I see now I need to focus on aclocal.m4  
(to supply the correct SO_OPTS) and src/Makefile (to construct the  
correct SONAME). I'll report back if I come up with something.

Someday I will understand GNU configure:-)

John




More information about the gtkada mailing list