* GPRBuild / RTS question
@ 2019-03-24 4:05 alby.gamper
2019-03-24 9:02 ` Simon Wright
0 siblings, 1 reply; 4+ messages in thread
From: alby.gamper @ 2019-03-24 4:05 UTC (permalink / raw)
Dear Ada Community
If developing a custom RTS (for example one that conforms/passes the Microsoft
Windows Store API compatibility tests) and this library is by default then
installed into <prefix>/lib/gcc/x86_64-w64-mingw32/8.3.0/RTS-<xyz>, which is
where GPRBuild expects to find the custom RTS.
Is it usual/common practice to install any dependant libraries to also be
installed within/underneath …/8.3.0/RTS-<xyz>. Rather than the default
<prefix>/lib for libraries not using a specific RTS ??
Alex
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GPRBuild / RTS question
2019-03-24 4:05 GPRBuild / RTS question alby.gamper
@ 2019-03-24 9:02 ` Simon Wright
2019-03-27 8:01 ` alby.gamper
0 siblings, 1 reply; 4+ messages in thread
From: Simon Wright @ 2019-03-24 9:02 UTC (permalink / raw)
alby.gamper@gmail.com writes:
> If developing a custom RTS (for example one that conforms/passes the
> Microsoft Windows Store API compatibility tests) and this library is
> by default then installed into
> <prefix>/lib/gcc/x86_64-w64-mingw32/8.3.0/RTS-<xyz>, which is where
> GPRBuild expects to find the custom RTS.
I thought the RTS was lower-case? but if you're on Windows I guess it
doesn't matter.
> Is it usual/common practice to install any dependant libraries to also
> be installed within/underneath …/8.3.0/RTS-<xyz>. Rather than the
> default <prefix>/lib for libraries not using a specific RTS ??
I've only tried arm-eabi runtimes, where the arm-eabi libraries etc are
in $prefix/arm-eabi.
However, I see that GNAT CE 2018 (macOS) supports rts-native, so I tried
$ /opt/gnat-ce-2018/bin/gnatls --RTS=native -v
GNATLS Community 2018 (20180523-73)
Copyright (C) 1997-2018, Free Software Foundation, Inc.
Source Search Path:
<Current_Directory>
/opt/gnat-ce-2018/lib/gcc/x86_64-apple-darwin16.7.0/7.3.1/rts-native/adainclude
Object Search Path:
<Current_Directory>
/opt/gnat-ce-2018/lib/gcc/x86_64-apple-darwin16.7.0/7.3.1/rts-native/adalib
Project Search Path:
<Current_Directory>
/opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/native/lib/gnat
/opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/native/share/gpr
/opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/lib/gnat
/opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/share/gpr
/opt/gnat-ce-2018/share/gpr
/opt/gnat-ce-2018/lib/gnat
So, looks as though you can indeed install under
$prefix/{machine}/{rts}; can't immediately see what gprinstall
incantation you'd need, but should be possible!
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GPRBuild / RTS question
2019-03-24 9:02 ` Simon Wright
@ 2019-03-27 8:01 ` alby.gamper
2019-03-27 18:27 ` Simon Wright
0 siblings, 1 reply; 4+ messages in thread
From: alby.gamper @ 2019-03-27 8:01 UTC (permalink / raw)
On Sunday, March 24, 2019 at 8:02:38 PM UTC+11, Simon Wright wrote:
> alby.gamper@gmail.com writes:
>
> > If developing a custom RTS (for example one that conforms/passes the
> > Microsoft Windows Store API compatibility tests) and this library is
> > by default then installed into
> > <prefix>/lib/gcc/x86_64-w64-mingw32/8.3.0/RTS-<xyz>, which is where
> > GPRBuild expects to find the custom RTS.
>
> I thought the RTS was lower-case? but if you're on Windows I guess it
> doesn't matter.
>
> > Is it usual/common practice to install any dependant libraries to also
> > be installed within/underneath …/8.3.0/RTS-<xyz>. Rather than the
> > default <prefix>/lib for libraries not using a specific RTS ??
>
> I've only tried arm-eabi runtimes, where the arm-eabi libraries etc are
> in $prefix/arm-eabi.
>
> However, I see that GNAT CE 2018 (macOS) supports rts-native, so I tried
>
> $ /opt/gnat-ce-2018/bin/gnatls --RTS=native -v
>
> GNATLS Community 2018 (20180523-73)
> Copyright (C) 1997-2018, Free Software Foundation, Inc.
>
> Source Search Path:
> <Current_Directory>
> /opt/gnat-ce-2018/lib/gcc/x86_64-apple-darwin16.7.0/7.3.1/rts-native/adainclude
>
>
> Object Search Path:
> <Current_Directory>
> /opt/gnat-ce-2018/lib/gcc/x86_64-apple-darwin16.7.0/7.3.1/rts-native/adalib
>
>
> Project Search Path:
> <Current_Directory>
> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/native/lib/gnat
> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/native/share/gpr
> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/lib/gnat
> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/share/gpr
> /opt/gnat-ce-2018/share/gpr
> /opt/gnat-ce-2018/lib/gnat
>
> So, looks as though you can indeed install under
> $prefix/{machine}/{rts}; can't immediately see what gprinstall
> incantation you'd need, but should be possible!
Hi Simon
Thanks for your feedback, much appreciated! I had actually figured out that
the rts needs to be located under $prefix/(machine)/{rts} as this is where
gprbuild expects it to be when referenced. However my original question was
more about where libraries that are dependant on {rts} should be installed too
My current approach is to install underneath $prefix/(machine)/{rts} rather
than $prefix, which in my mind makes sense and reduces the likelihood of the
dependant library being used by an application that does not specifically need
or want {rts}
Alex
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: GPRBuild / RTS question
2019-03-27 8:01 ` alby.gamper
@ 2019-03-27 18:27 ` Simon Wright
0 siblings, 0 replies; 4+ messages in thread
From: Simon Wright @ 2019-03-27 18:27 UTC (permalink / raw)
alby.gamper@gmail.com writes:
> On Sunday, March 24, 2019 at 8:02:38 PM UTC+11, Simon Wright wrote:
>> Project Search Path:
>> <Current_Directory>
>> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/native/lib/gnat
>> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/native/share/gpr
In other words, the first place that gprbuild will look for projects is
under $prefix/{machine}/{rts} - assuming that gprbuild applies the same
algorithm as gnatls, of course.
>> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/lib/gnat
>> /opt/gnat-ce-2018/x86_64-apple-darwin16.7.0/share/gpr
>> /opt/gnat-ce-2018/share/gpr
>> /opt/gnat-ce-2018/lib/gnat
>>
>> So, looks as though you can indeed install under
>> $prefix/{machine}/{rts}; can't immediately see what gprinstall
>> incantation you'd need, but should be possible!
> Thanks for your feedback, much appreciated! I had actually figured out
> that the rts needs to be located under $prefix/(machine)/{rts} as this
> is where gprbuild expects it to be when referenced. However my
> original question was more about where libraries that are dependant on
> {rts} should be installed too
>
> My current approach is to install underneath $prefix/(machine)/{rts}
> rather than $prefix, which in my mind makes sense and reduces the
> likelihood of the dependant library being used by an application that
> does not specifically need or want {rts}
Sorry not to have been clearer. This was exactly what I was trying to
say.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-03-27 18:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-24 4:05 GPRBuild / RTS question alby.gamper
2019-03-24 9:02 ` Simon Wright
2019-03-27 8:01 ` alby.gamper
2019-03-27 18:27 ` Simon Wright
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox