This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 2/2] libada: Respect `--enable-version-specific-runtime-libs'
- From: "Maciej W. Rozycki" <macro at wdc dot com>
- To: Arnaud Charlet <charlet at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 26 Sep 2019 15:08:07 +0100 (BST)
- Subject: Re: [PATCH 2/2] libada: Respect `--enable-version-specific-runtime-libs'
- Ironport-sdr: peLygMCxskk9ybtRJ4M4RMJaVEdBnUOE3tYKgIIOhsUIbKC64HxgPgdX5nBwVyrXNovt4eWXq6 45+gxJE1uN51fYyUGuyo8BpLuCzqR2Y1xtMFeAUCNAZuGG4Kwgo+XO5bjOW1miVjtLeFtBC7ny 3fPcmAlHsI2SXmcWvh28VuHWduxl586Wllg9/6DIHnEYPyDSFUR9b+v8IDAHdZv/WqNCRomHhe DKib4Po1lCKzd5x2IfF/EDBjobUIiNE75LMA0hNjWaZaufuvoj6tkN11yeQmlGuqWl9CWGI0HC PuY=
- Ironport-sdr: d8VqYjLhICME9sPFGpkzfCj/j1elqSZRNAlrN7zIO9qJ3isriDfLwTbuzU3Yt4PsvxPmxeh+DQ Wc2iylVIcAkpLbFcmunWJePT18q/ZFHIeLFe5aWUX0ybcoeu4YgVeDlHUxGafZJ0QDy5Ug0B0S uctnreMcagDM6phtD9fBXwg2vapZy2JCXX1PA+Ku2XXlsAuXH3VefVgchgkdof6A67h+j4XT1A mDOp2k3dnWdz+eL3j3Gbd/ogYBxqWPvFTmiHhjTyjlt59OB+f19W6w66H2rWvAjTbJcvN+fYsc eRXgrzT/UESKjpJ48LuDhoJa
- Ironport-sdr: JFS6H/kM/PeOxL1l8Zmf8OcCIc4a5X3Dkl4M9uVuPa8lX4eaEtEWQFgkkF9+CCEYoa9r6lL49v l/vlRLNL9z0SyGOtzVCWQdFeIAcKW2HnQQNVsqKom2BrAsUKP9ecuxrV6Op1RWI/3Rh49k721L jUKNxkKDeIxFC679NvhJ1NtPzakoVc+CJHGYGWMva+AYe4WbttmgrOdEynzcspVSztyU2bRHPf DYt8guADxf8hx4E9k4ErfeWZczVmgUT4A3F4wTP6hPTIIS2GVMWmsVv047151WdxMqOJoJIHNG HxU=
- References: <alpine.LFD.2.21.1909251848350.28360@redsun52.ssa.fujisawa.hgst.com> <alpine.LFD.2.21.1909252004290.28360@redsun52.ssa.fujisawa.hgst.com> <20190926074651.GB12138@adacore.com>
- Wdcironportexception: Internal
On Thu, 26 Sep 2019, Arnaud Charlet wrote:
> > Respect the `--enable-version-specific-runtime-libs' configuration
> > option in libada/, so that shared gnatlib libraries will be installed
> > in non-version-specific $(toolexeclibdir) if requested. In a
> > cross-compilation environment this helps setting up a consistent
> > sysroot, which can then be shared between the host and the target
> > system.
> >
> > Update the settings of $(toolexecdir) and $(toolexeclibdir), unused till
> > now, to keep the current arrangement in the version-specific case and
> > make the new option to be enabled by default, unlike with the other
> > target libraries, so as to keep existing people's build infrastructure
> > unaffected.
>
> Can you clarify what will be the value of ADA_RTL_OBJ_DIR and ADA_RTL_DSO_DIR
> in the following cases:
>
> - no version-specific-runtime-libs configure switch at all (default)
ADA_RTL_OBJ_DIR=$(libsubdir)/adalib
ADA_RTL_DSO_DIR=$(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)/adalib
e.g. (no multilibs):
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/x86_64-linux-gnu/10.0.0/adalib
ADA_RTL_DSO_DIR=$(prefix)/lib/gcc/x86_64-linux-gnu/10.0.0/adalib
or (with multilibs):
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib32/ilp32/adalib
ADA_RTL_DSO_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib32/ilp32/adalib
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib32/ilp32d/adalib
ADA_RTL_DSO_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib32/ilp32d/adalib
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib64/lp64/adalib
ADA_RTL_DSO_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib64/lp64/adalib
[...]
> - use of --enable-version-specific-runtime-libs
Same as above.
> - use of --disable-version-specific-runtime-libs
ADA_RTL_OBJ_DIR=$(libsubdir)/adalib
ADA_RTL_DSO_DIR varies in Makefile as the multilib part is now set by
`configure' as with other target libraries, so with `x86_64-linux-gnu'
(native) I have:
ADA_RTL_DSO_DIR=$(libdir)/../lib64
and with `riscv64-linux-gnu' (cross) I have e.g.:
ADA_RTL_DSO_DIR=$(exec_prefix)/$(target_alias)/lib/../lib64/lp64d
and then specifically (no multilibs):
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/x86_64-linux-gnu/10.0.0/adalib
ADA_RTL_DSO_DIR=$(prefix)/lib64
or (with multilibs):
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib32/ilp32/adalib
ADA_RTL_DSO_DIR=$(prefix)/riscv64-linux-gnu/lib32/ilp32
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib32/ilp32d/adalib
ADA_RTL_DSO_DIR=$(prefix)/riscv64-linux-gnu/lib32/ilp32d
ADA_RTL_OBJ_DIR=$(prefix)/lib/gcc/riscv64-linux-gnu/10.0.0/lib64/lp64/adalib
ADA_RTL_DSO_DIR=$(prefix)/riscv64-linux-gnu/lib64/lp64
[...]
Notice that ADA_RTL_OBJ_DIR never changes with/without the use of this
configuration option (as expected).
Does it answer your question?
Maciej