comp.lang.ada
 help / color / mirror / Atom feed
* 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