From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada package registry?
Date: Fri, 5 Feb 2016 19:25:56 -0600
Date: 2016-02-05T19:25:56-06:00 [thread overview]
Message-ID: <n93i35$7lp$1@loke.gir.dk> (raw)
In-Reply-To: n92uia$do6$1@loke.gir.dk
"Tero Koskinen" <tero.koskinen@iki.fi> wrote in message
news:n92uia$do6$1@loke.gir.dk...
> 2.2.2016, 1.22, Randy Brukardt wrote:
...
>> That wouldn't be an *Ada* repository. It would be a *GNAT*
>> repository! There might be use to such a thing, but call a spade a
>> spade here: don't insult those who use Ada, but don't exclusively use
>> GNAT, by calling such a thing an *Ada* tool.
>
> I think you are forgetting who you are replying right now. :)
Yes, surely. :-)
> Most of my Ada software compiles nicely with other Ada compilers
> (Janus/Ada, ICCAda) and I don't think it would be impossible to
> add Janus/Ada or ICCAda support to the package repository tool.
> You just need to make sure you don't try to compile Ada 2005/2012
> code with Janus/Ada, which supports only Ada 95.
But you are the shining exception to the rule. I think you and one other
author are the only ones that are currently trying for portable Ada code;
the vast majority don't seem to care or don't know how to do it or
something. It would help if there were more tools for enforcing portability,
as well as some way of expressing assumptions. (A package manager would help
there, of course.)
[What I mean by expressing assumptions is that it's unlikely that any real
Ada code would really run anywhere. I've been having fun with Gautier over
his "unconditional portability" claim, as one only needs a single
counter-example to disprove the claim. After a few obvious problems with the
choices of Janus/Ada were worked out, I pointed out that his types wouldn't
work on our old U2200 compiler (as that was a 1's completement, 36-bit
machine). He decided quite reasonably not to worry about that, but that
means in his case, that means his code is "unconditionally portable" so long
as your target supports 32-bit integers and is 2's complement. That might be
99% of machines, but its not quite unconditional.]
...
>> For more complex systems that need other libraries, I doubt there is
>> any sensible solution. Unless you're planning to abandon Ada's
>> portability between implementations -- not of much value, IMHO.
>
> Not sure what sort of complexity you are thinking about. Just iterate
> through the dependency chain and build one dependency at time using
> the selected Ada compiler. When building one package, link the
> dependencies, and be happy.
That's trivial: run the compiler's Make. The issues I was thinking about is
dependencies on things like OpenSSL. One could manage to automate that sort
of dependency on one system fairly easily, but to do it on all reasonable
targets (various Windows versions, Linux distributions, OS X, FreeBSD, etc.)
is a combinational explosion (given that some sort of Ada compiler
configuration is also involved - which is different for every compiler and
often for different targets as well).
That's the problem that other people here were talking about. It probably
isn't the problem YOU were trying to solve - what you described is perfectly
reasonable. (I'm dubious that it would be that useful for Ada, since
compilers already include good build tools, and little more is needed to use
third-party stuff -- but if it helped determine what is and is not portable,
that certainly would help the non-GNAT users out there.)
Randy.
next prev parent reply other threads:[~2016-02-06 1:25 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-29 1:13 Ada package registry? olivier.henley
2016-01-29 3:43 ` gautier_niouzes
2016-01-29 22:06 ` Randy Brukardt
2016-01-30 17:21 ` Dirk Heinrichs
2016-01-29 14:20 ` David Botton
2016-01-29 22:27 ` Randy Brukardt
2016-01-30 7:35 ` Dmitry A. Kazakov
2016-01-30 22:14 ` Tero Koskinen
2016-01-31 7:51 ` Dmitry A. Kazakov
2016-01-31 15:52 ` Mart van de Wege
2016-01-31 16:21 ` Dmitry A. Kazakov
2016-01-31 19:16 ` olivier.henley
2016-02-01 23:22 ` Randy Brukardt
2016-02-05 19:52 ` Tero Koskinen
2016-02-05 20:42 ` Dmitry A. Kazakov
2016-02-06 1:25 ` Randy Brukardt [this message]
2016-02-06 6:09 ` Jeffrey R. Carter
2016-02-08 22:54 ` Randy Brukardt
2016-02-06 23:08 ` AdaMagica
2016-02-07 7:08 ` gautier_niouzes
2016-02-07 8:50 ` gautier_niouzes
2016-02-08 22:58 ` Randy Brukardt
2016-02-07 10:24 ` gautier_niouzes
2016-01-31 19:10 ` olivier.henley
2016-02-02 0:44 ` Randy Brukardt
2016-02-02 18:45 ` Shark8
2016-02-02 20:14 ` gautier_niouzes
2016-02-02 20:46 ` Shark8
2016-02-02 21:32 ` gautier_niouzes
2016-02-03 4:21 ` Shark8
2016-02-03 9:39 ` Georg Bauhaus
2016-02-02 22:51 ` Randy Brukardt
2016-02-03 4:16 ` Shark8
2016-02-01 8:30 ` Thomas Løcke
2016-02-01 9:32 ` Georg Bauhaus
2016-02-02 8:54 ` Thomas Løcke
2016-02-02 14:51 ` jsquirek
2016-02-02 18:25 ` Dmitry A. Kazakov
2016-02-02 20:05 ` gautier_niouzes
2016-02-02 20:58 ` Björn Lundin
2016-02-02 23:06 ` Randy Brukardt
2016-02-03 7:15 ` Pascal Obry
2016-02-03 22:11 ` Randy Brukardt
2016-02-04 6:51 ` Pascal Obry
2016-02-04 20:52 ` Randy Brukardt
2016-02-05 7:11 ` Pascal Obry
2016-02-06 1:11 ` Randy Brukardt
2016-02-04 9:05 ` Dmitry A. Kazakov
2016-02-04 9:20 ` Mark Carroll
2016-02-04 12:58 ` Nasser M. Abbasi
2016-02-04 21:03 ` Randy Brukardt
2016-02-05 8:31 ` Dmitry A. Kazakov
2016-02-04 16:52 ` Björn Lundin
2016-02-04 16:59 ` Dmitry A. Kazakov
2016-02-04 17:29 ` Björn Lundin
2016-02-04 21:21 ` Randy Brukardt
2016-02-04 22:04 ` Björn Lundin
2016-02-05 8:51 ` Dmitry A. Kazakov
2016-02-05 22:06 ` Björn Lundin
2016-02-06 0:30 ` Randy Brukardt
2016-02-06 23:26 ` Björn Lundin
2016-02-07 0:16 ` Jeffrey R. Carter
2016-02-07 8:02 ` Dmitry A. Kazakov
2016-02-07 8:36 ` gautier_niouzes
2016-02-07 8:52 ` Dmitry A. Kazakov
2016-02-07 10:06 ` gautier_niouzes
2016-02-07 10:23 ` Dmitry A. Kazakov
2016-02-07 20:02 ` Björn Lundin
2016-02-08 8:19 ` Dmitry A. Kazakov
2016-02-07 10:00 ` Georg Bauhaus
2016-02-07 10:18 ` Dmitry A. Kazakov
2016-02-07 19:27 ` Georg Bauhaus
2016-02-07 19:47 ` Georg Bauhaus
2016-02-07 19:54 ` Dmitry A. Kazakov
2016-02-07 22:56 ` Georg Bauhaus
2016-02-08 8:22 ` Dmitry A. Kazakov
2016-02-07 20:11 ` Björn Lundin
2016-02-07 22:11 ` Georg Bauhaus
2016-02-08 8:16 ` Björn Lundin
2016-02-07 19:57 ` Björn Lundin
2016-02-08 8:25 ` Dmitry A. Kazakov
2016-02-08 22:42 ` Randy Brukardt
2016-02-07 20:07 ` Björn Lundin
2016-02-08 8:38 ` Dmitry A. Kazakov
2016-02-08 18:24 ` Björn Lundin
2016-02-08 22:38 ` Randy Brukardt
2016-02-09 20:56 ` Björn Lundin
2016-02-05 12:54 ` G.B.
2016-02-05 13:27 ` Dmitry A. Kazakov
2016-02-05 15:53 ` G.B.
2016-02-05 16:45 ` Dmitry A. Kazakov
2016-02-05 17:58 ` G.B.
2016-02-05 18:47 ` Dmitry A. Kazakov
2016-02-07 9:40 ` Georg Bauhaus
2016-02-07 10:13 ` Dmitry A. Kazakov
2016-02-07 19:21 ` Georg Bauhaus
2016-02-07 19:57 ` Dmitry A. Kazakov
2016-02-07 22:16 ` Georg Bauhaus
2016-02-08 8:20 ` Björn Lundin
2016-02-08 9:03 ` Dmitry A. Kazakov
2016-02-08 10:08 ` G.B.
2016-02-08 13:42 ` Dmitry A. Kazakov
2016-02-06 0:49 ` Randy Brukardt
2016-02-07 8:42 ` Georg Bauhaus
2016-02-04 21:09 ` Randy Brukardt
2016-02-05 8:59 ` Dmitry A. Kazakov
2016-02-06 0:04 ` Randy Brukardt
2016-02-06 8:54 ` Dmitry A. Kazakov
2016-02-08 23:02 ` Randy Brukardt
2016-02-09 8:50 ` Dmitry A. Kazakov
2016-02-11 1:37 ` Randy Brukardt
2016-02-11 8:25 ` Dmitry A. Kazakov
2016-02-11 22:00 ` Randy Brukardt
2016-02-06 18:48 ` olivier.henley
2016-02-09 0:05 ` Randy Brukardt
2016-02-09 3:50 ` Shark8
2016-02-11 1:40 ` Randy Brukardt
2016-02-09 8:04 ` Thomas Løcke
2016-02-09 13:33 ` Alejandro R. Mosteo
2016-02-09 14:58 ` Shark8
2016-02-11 1:46 ` Randy Brukardt
2016-02-11 5:19 ` Shark8
2016-02-09 18:08 ` Jeffrey R. Carter
2016-02-09 21:00 ` Shark8
2016-02-09 21:07 ` Björn Lundin
2016-02-09 21:31 ` Shark8
2016-02-09 23:47 ` Jeffrey R. Carter
2016-02-10 5:10 ` J-P. Rosen
2016-02-11 1:51 ` Randy Brukardt
2016-02-12 16:05 ` Alejandro R. Mosteo
2016-02-13 5:42 ` olivier.henley
2016-02-13 12:20 ` Alejandro R. Mosteo
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox