Hello,
I have been trying to get hold of the x11ada library for a while, but all the links seem to be dead. Does anybody have access to this?
/vjalmr
Hello,
I have been trying to get hold of the x11ada library for a while, but all the links seem to be dead. Does anybody have access to this?
/vjalmr
There’s an xcb binding.
Very nice, but I was more interested in the Motif bindings part of x11ada.
I have a copy of x11ada_v1.30 on my hard disk, but I was hesitant to upload it somewhere: there’s no LICENSE file to be seen, although it was publicly available, I guess.
In any case, I’ve discovered that it is on AdaPower.com, it’s just that their internal link here is broken, but can be found on http://www.adapower.com/files/reuse/x11ada_v1.30.tar.gz
Some programs had their license in the top part of the files, sometimes the file was called COPYRIGHT, sometimes it was README or sometimes they just said (or assumed) that the bindings are released as the main program/library’s license
You can always do a grep -R XXX x)
You’re right about looking at the file headers. It has indeed an open custom license.
-- --------------------------------------------------------------------------
-- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS FURNISHED "AS IS" WITHOUT
-- WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
-- TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
-- PARTICULAR PURPOSE. The user assumes the entire risk as to the accuracy
-- and the use of this file.
--
-- Copyright (c) Intermetrics, Inc. 1994
-- Royalty-free, unlimited, worldwide, non-exclusive use, modification,
-- reproduction and further distribution of this file is permitted.
-- --------------------------------------------------------------------------
Since I found it on the place where I probably got it, I didn’t look further.
By the way, I notified the owner of AdaPower (David Botton) about the broken links, so they can be fixed.
I just realized that the x11ada library has the Motif bindings taken out.
Doing some searching, I found some old Motif bindings, and an Xlib-Xt-Xm binding, which are structured in a way I have never seen before with *.ada and *_.ada files. Of course GNAT is spitting errors at me. These bindings are from ~’94 according to the comments. Was Ada like this at some point, with a singular extension, or was it because it used a different compiler? I can see in the build script that it directly calls the command Adafor compiling.
I also found a binding on Github: GitHub - glencornell/xmada: Ada Language bindings for Motif, Xt & Xlib . Does anybody have any experience with this? I can see the work on finishing the binding stopped some time 7 years ago and a few things are missing, but before I get too involved it would be nice to know if anyone has used it.
GNAT has always used ads and adb, but allows the use of other compiler’s extensions. The Ada spec doesn’t specify files and originally had a program database which could accept compilation units and some compilers used single files for that with all units concatenated together, that’s why gnatchop exists.
You can also try using the Wayback Machine with broken links. For example, you can download a source archive from here:
And I think this one contains the motif part that you were missing:
This does bring up the question of if a modern Ada (2012, or 2022) port of X11 would be useful. I think that, if built with an eye toward “portability” and less of a “binding” mentality but more a “idiomatic library” (i.e. very thick, with the Ada-interface designed up-front and the binding “hidden”/abstracted away) that it would be a lot more useful. — But perhaps that’s a bit more dependent upon the GUI, which in-turn is dependent on the underlying OS.
This is the “program library”. It was described explicitly in the ARM-83. More recently it is described in terms of adding compilation units to the declarative part of the environment task (ARM 10 & 10.1.4).
In GNAT the program library is distributed, being the .ali files and reparsing the spec files whenever referenced. In more traditional compilers such as ObjectAda, there is a file or set of files that contains the necessary information.