Hi!

On Tue, 28 May 2013 09:28:28 +0200, I wrote:
> On Wed, 08 May 2013 11:27:09 +0200, Rainer Orth 
> <r...@cebitec.uni-bielefeld.de> wrote:
> > As described in [PR ada/57188], amd64-pc-solaris2.1[01] Ada bootstrap was 
> > failing
> > for some time.  It has turned out that this patch is the culprit:
> > 
> > 2013-04-23  Eric Botcazou  <ebotca...@adacore.com>
> >             Pascal Obry    <o...@adacore.com>
> > 
> >         * gcc-interface/Makefile.in (targ): Fix target name check.
> > 
> > diff --git a/gcc/ada/gcc-interface/Makefile.in 
> > b/gcc/ada/gcc-interface/Makefile.in
> > --- a/gcc/ada/gcc-interface/Makefile.in
> > +++ b/gcc/ada/gcc-interface/Makefile.in
> > @@ -259,7 +259,7 @@ TOOLS_LIBS = targext.o link.o ../../ggc-
> >  # manufacturer, and operating system and assign each of those to its own
> >  # variable.
> >  host:=$(subst -, ,$(host_canonical))
> > -targ:=$(subst -, ,$(target))
> > +targ:=$(subst -, ,$(subst -gnu, ,$(target_alias)))
> >  arch:=$(word 1,$(targ))
> >  ifeq ($(words $(targ)),2)
> >    manu:=
> |    osys:=$(word 2,$(targ))
> |  else
> |    manu:=$(word 2,$(targ))
> |    osys:=$(word 3,$(targ))
> |  endif
> 
> > I couldn't find the gcc-patches posting for this patch, thus I'm missing
> > the rationale for it.  It seems rather counterintuitive and fragile to
> > me, replacing the canonical $target by the far more varied $target_alias.
> 
> I concur, and this has now caused confusion for the (pending upstream
> re-submission) x86 GNU/Hurd port, too, for which, upon removing -gnu from
> the target of i686-pc-gnu0.3, now a mere 0.3 remains for osys...
> 
> > If there's really a good reason to keep that patch nonetheless, [...]
> 
> How about we use something like the following [...] patch?  In
> essence, replace the manual parsing in gcc/ada/gcc-interface/Makefile.in
> by using the values the configure script already computed for us.  This
> is largely straightforward (I would hope); please especially review the
> more involved cases such as the one where I'm now using linux%eabi -- for
> example, does that do the right thing or interfere with the Android
> configurations?
> 
> The target_cpu_canonical substitution has been added in commit
> 369e542b3ad1c0acfa9bfaeb72b338d8db5ba2ef (2009-02-27, r144463, schwab)
> but unused ever since, thus removed.
> 
> I'll now be testing for x86 GNU/Linux and GNU/Hurd; further testing
> appreciated.

For these two configurations, I have now successfully tested the patch I
posted.  Further review/testing appreciated.  (Adding »build machinery
(*.in)« maintainers.)


> Other than rebuilding from scratch, how do I rebuild only the affected
> Ada/GNAT bits after regenerating gcc/ada/gcc-interface/Makefile?  It
> doesn't just work, and »make clean-target-libada clean-gnattools« doesn't
> help either?


gcc/ada/
        * gcc-interface/Makefile.in (target_alias, host_canonical)
        (target_cpu_default): Don't substitute.
        (target_cpu, target_vendor, target_os, host_cpu, host_vendor)
        (host_os): Substitute.
        (host, targ, arch, manu, osys): Don't set, and replace their
        usage with the newly substituted target_* and host_* variables.

> diff --git gcc/ada/gcc-interface/Makefile.in gcc/ada/gcc-interface/Makefile.in
> index eeb8c7f..c07722b 100644
> --- gcc/ada/gcc-interface/Makefile.in
> +++ gcc/ada/gcc-interface/Makefile.in
> @@ -151,12 +151,15 @@ GCC_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS)
>  program_transform_name =
>  objdir = .
>  
> -target_alias=@target_alias@
>  target=@target@
> +target_cpu=@target_cpu@
> +target_vendor=@target_vendor@
> +target_os=@target_os@
> +host_cpu=@host_cpu@
> +host_vendor=@host_vendor@
> +host_os=@host_os@
>  xmake_file = @xmake_file@
>  tmake_file = @tmake_file@
> -host_canonical=@host@
> -target_cpu_default=@target_cpu_default@
>  #version=`sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/' < $(srcdir)/version.c`
>  #mainversion=`sed -e 's/.*\"\([0-9]*\.[0-9]*\).*/\1/' < $(srcdir)/version.c`
>  
> @@ -255,20 +258,6 @@ TOOLS_LIBS = targext.o link.o ../../ggc-none.o 
> ../../libcommon-target.a \
>    ../../../libbacktrace/.libs/libbacktrace.a ../../../libiberty/libiberty.a \
>    $(SYSLIBS) $(TGT_LIB)
>  
> -# Convert the target variable into a space separated list of architecture,
> -# manufacturer, and operating system and assign each of those to its own
> -# variable.
> -host:=$(subst -, ,$(host_canonical))
> -targ:=$(subst -, ,$(subst -gnu, ,$(target_alias)))
> -arch:=$(word 1,$(targ))
> -ifeq ($(words $(targ)),2)
> -  manu:=
> -  osys:=$(word 2,$(targ))
> -else
> -  manu:=$(word 2,$(targ))
> -  osys:=$(word 3,$(targ))
> -endif
> -
>  # Specify the directories to be searched for header files.
>  # Both . and srcdir are used, in that order,
>  # so that tm.h and config.h will be found in the compilation
> @@ -280,7 +269,7 @@ ADA_INCLUDES = -I- -I. -I$(srcdir)/ada
>  # Likewise, but valid for subdirectories of the current dir.
>  # FIXME: for VxWorks, we cannot add $(fsrcdir) because the regs.h file in
>  # that directory conflicts with a system header file.
> -ifneq ($(findstring vxworks,$(osys)),)
> +ifneq ($(findstring vxworks,$(target_os)),)
>    INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \
>                       -iquote $(fsrcdir)/ada \
>                       -I$(fsrcdir)/../include $(GMPINC)
> @@ -348,16 +337,16 @@ GNATMAKE_OBJS = a-except.o ali.o ali-util.o aspects.o 
> s-casuti.o alloc.o \
>   uname.o urealp.o usage.o widechar.o \
>   $(EXTRA_GNATMAKE_OBJS)
>  
> -# Make arch match the current multilib so that the RTS selection code
> +# Make target_cpu match the current multilib so that the RTS selection code
>  # picks up the right files. For a given target this must be coherent
>  # with MULTILIB_DIRNAMES defined in gcc/config/target/t-*.
>  
> -ifeq ($(strip $(filter-out %x86_64, $(arch))),)
> +ifeq ($(strip $(filter-out %x86_64, $(target_cpu))),)
>    ifeq ($(strip $(MULTISUBDIR)),/32)
> -    arch:=i686
> +    target_cpu := i686
>    else
>      ifeq ($(strip $(MULTISUBDIR)),/x32)
> -      arch:=x32
> +      target_cpu := x32
>      endif
>    endif
>  endif
> @@ -460,7 +449,7 @@ EXTRA_LIBGNAT_SRCS=
>  # If what's left is null then it's a match.
>  
>  # m68k VxWorks
> -ifeq ($(strip $(filter-out m68k% wrs vx%,$(targ))),)
> +ifeq ($(strip $(filter-out m68k% wrs vx%,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-vxworks.ads \
>    a-numaux.ads<a-numaux-vxworks.ads \
> @@ -503,7 +492,7 @@ ifeq ($(strip $(filter-out m68k% wrs vx%,$(targ))),)
>  endif
>  
>  # PowerPC and e500v2 VxWorks
> -ifeq ($(strip $(filter-out e500% powerpc% wrs vxworks,$(targ))),)
> +ifeq ($(strip $(filter-out e500% powerpc% wrs vxworks,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-vxworks.ads \
>    a-numaux.ads<a-numaux-vxworks.ads \
> @@ -609,7 +598,7 @@ ifeq ($(strip $(filter-out e500% powerpc% wrs 
> vxworks,$(targ))),)
>  endif
>  
>  # PowerPC and e500v2 VxWorks 653
> -ifeq ($(strip $(filter-out powerpc% e500v2 wrs vxworksae,$(targ))),)
> +ifeq ($(strip $(filter-out powerpc% e500v2 wrs vxworksae,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>    # target pairs for vthreads runtime
>    LIBGNAT_TARGET_PAIRS = \
>    a-elchha.adb<a-elchha-vxworks-ppc-full.adb \
> @@ -671,7 +660,7 @@ ifeq ($(strip $(filter-out powerpc% e500v2 wrs 
> vxworksae,$(targ))),)
>  endif
>  
>  # PowerPC and e500v2 VxWorks MILS
> -ifeq ($(strip $(filter-out e500% powerpc% wrs vxworksmils,$(targ))),)
> +ifeq ($(strip $(filter-out e500% powerpc% wrs vxworksmils,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>    # target pairs for vthreads runtime
>    LIBGNAT_TARGET_PAIRS = \
>    a-elchha.adb<a-elchha-vx6-raven-cert.adb \
> @@ -721,7 +710,7 @@ ifeq ($(strip $(filter-out e500% powerpc% wrs 
> vxworksmils,$(targ))),)
>  endif
>  
>  # VxWorksae / VxWorks 653 for x86 (vxsim) - ?? VxWorks mils not implemented
> -ifeq ($(strip $(filter-out %86 wrs vxworksae vxworksmils,$(targ))),)
> +ifeq ($(strip $(filter-out %86 wrs vxworksae vxworksmils,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>    # target pairs for kernel + vthreads runtime
>    LIBGNAT_TARGET_PAIRS = \
>    a-elchha.adb<a-elchha-vxworks-ppc-full.adb \
> @@ -781,7 +770,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworksae 
> vxworksmils,$(targ))),)
>  endif
>  
>  # Sparc VxWorks
> -ifeq ($(strip $(filter-out sparc% leon% wrs vx%,$(targ))),)
> +ifeq ($(strip $(filter-out sparc% leon% wrs vx%,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-vxworks.ads \
>    a-numaux.ads<a-numaux-vxworks.ads \
> @@ -808,7 +797,7 @@ ifeq ($(strip $(filter-out sparc% leon% wrs 
> vx%,$(targ))),)
>    mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
>    indepsw.adb<indepsw-gnu.adb
>  
> -  ifeq ($(strip $(filter-out sparc erc32 leon leon3, $(arch))),)
> +  ifeq ($(strip $(filter-out sparc erc32 leon leon3, $(target_cpu))),)
>      # 32-bits
>      LIBGNAT_TARGET_PAIRS += \
>      s-vxwork.ads<s-vxwork-sparc.ads \
> @@ -833,7 +822,7 @@ ifeq ($(strip $(filter-out sparc% leon% wrs 
> vx%,$(targ))),)
>  endif
>  
>  # x86 VxWorks
> -ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),)
> +ifeq ($(strip $(filter-out %86 wrs vxworks,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-vxworks.ads \
>    i-vxwork.ads<i-vxwork-x86.ads \
> @@ -924,7 +913,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),)
>  endif
>  
>  # ARM VxWorks
> -ifeq ($(strip $(filter-out arm% coff wrs vx%,$(targ))),)
> +ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-vxworks.ads \
>    a-numaux.ads<a-numaux-vxworks.ads \
> @@ -960,7 +949,7 @@ ifeq ($(strip $(filter-out arm% coff wrs vx%,$(targ))),)
>  endif
>  
>  # MIPS VxWorks
> -ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),)
> +ifeq ($(strip $(filter-out mips% wrs vx%,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-vxworks.ads \
>    a-numaux.ads<a-numaux-vxworks.ads \
> @@ -995,7 +984,7 @@ ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),)
>    EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
>  endif
>  
> -ifeq ($(strip $(filter-out arm% linux-androideabi,$(arch) $(osys)-$(word 
> 4,$(targ)))),)
> +ifeq ($(strip $(filter-out arm% linux-androideabi,$(target_cpu) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1023,7 +1012,7 @@ ifeq ($(strip $(filter-out arm% 
> linux-androideabi,$(arch) $(osys)-$(word 4,$(tar
>  endif
>  
>  # Sparc Solaris
> -ifeq ($(strip $(filter-out sparc% sun solaris%,$(targ))),)
> +ifeq ($(strip $(filter-out sparc% sun solaris%,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-solaris.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1047,7 +1036,7 @@ ifeq ($(strip $(filter-out sparc% sun 
> solaris%,$(targ))),)
>    $(ATOMICS_TARGET_PAIRS) \
>    $(ATOMICS_BUILTINS_TARGET_PAIRS)
>  
> -  ifeq ($(strip $(filter-out sparc sun solaris%,$(targ))),)
> +  ifeq ($(strip $(filter-out sparc sun solaris%,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>      ifeq ($(strip $(MULTISUBDIR)),/sparcv9)
>        LIBGNAT_TARGET_PAIRS = \
>        $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
> @@ -1098,7 +1087,7 @@ ifeq ($(strip $(filter-out sparc% sun 
> solaris%,$(targ))),)
>  endif
>  
>  # x86 and x86-64 solaris
> -ifeq ($(strip $(filter-out %86 %x86_64 %amd64 solaris2%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %86 %x86_64 %amd64 solaris2%,$(target_cpu) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-solaris.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1123,7 +1112,7 @@ ifeq ($(strip $(filter-out %86 %x86_64 %amd64 
> solaris2%,$(arch) $(osys))),)
>    $(X86_64_TARGET_PAIRS) \
>    system.ads<system-solaris-x86_64.ads
>  
> -  ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),)
> +  ifeq ($(strip $(filter-out %86 solaris2%,$(target_cpu) $(target_os))),)
>      ifeq ($(strip $(MULTISUBDIR)),/amd64)
>        LIBGNAT_TARGET_PAIRS = \
>        $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64)
> @@ -1155,7 +1144,7 @@ ifeq ($(strip $(filter-out %86 %x86_64 %amd64 
> solaris2%,$(arch) $(osys))),)
>  endif
>  
>  # x86 Linux
> -ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    a-synbar.adb<a-synbar-posix.adb \
> @@ -1216,7 +1205,7 @@ ifeq ($(strip $(filter-out %86 linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # x86 kfreebsd
> -ifeq ($(strip $(filter-out %86 kfreebsd%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %86 kfreebsd%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-freebsd.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1247,7 +1236,7 @@ ifeq ($(strip $(filter-out %86 kfreebsd%,$(arch) 
> $(osys))),)
>    MISCLIB = -lutil
>  endif
>  
> -ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-freebsd.ads \
>    a-numaux.adb<a-numaux-x86.adb \
> @@ -1276,7 +1265,7 @@ ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(arch) 
> $(osys))),)
>  endif
>  
>  # x86 FreeBSD
> -ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %86 freebsd%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-freebsd.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1305,7 +1294,7 @@ ifeq ($(strip $(filter-out %86 freebsd%,$(arch) 
> $(osys))),)
>  endif
>  
>  # x86-64 FreeBSD
> -ifeq ($(strip $(filter-out %86_64 freebsd%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %86_64 freebsd%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-freebsd.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1334,7 +1323,7 @@ ifeq ($(strip $(filter-out %86_64 freebsd%,$(arch) 
> $(osys))),)
>  endif
>  
>  # x86 GNU/Hurd
> -ifeq ($(strip $(filter-out %86 gnu%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %86 gnu%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>      a-intnam.ads<a-intnam-freebsd.ads \
>      s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1363,7 +1352,7 @@ ifeq ($(strip $(filter-out %86 gnu%,$(arch) $(osys))),)
>  endif
>  
>  # S390 Linux
> -ifeq ($(strip $(filter-out s390% linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1384,7 +1373,7 @@ ifeq ($(strip $(filter-out s390% linux%,$(arch) 
> $(osys))),)
>    LIBGNAT_TARGET_PAIRS_64 = \
>    system.ads<system-linux-s390x.ads
>  
> -  ifeq ($(strip $(filter-out s390x,$(arch))),)
> +  ifeq ($(strip $(filter-out s390x,$(target_cpu))),)
>      ifeq ($(strip $(MULTISUBDIR)),/32)
>        LIBGNAT_TARGET_PAIRS = \
>        $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32)
> @@ -1409,7 +1398,7 @@ ifeq ($(strip $(filter-out s390% linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # HP/PA HP-UX 10
> -ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),)
> +ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-excpol.adb<a-excpol-abort.adb \
>    a-intnam.ads<a-intnam-hpux.ads \
> @@ -1429,7 +1418,7 @@ ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),)
>  endif
>  
>  # HP/PA HP-UX 11
> -ifeq ($(strip $(filter-out hppa% hp hpux11%,$(targ))),)
> +ifeq ($(strip $(filter-out hppa% hp hpux11%,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-hpux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1456,7 +1445,7 @@ ifeq ($(strip $(filter-out hppa% hp hpux11%,$(targ))),)
>  endif
>  
>  # IBM AIX
> -ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),)
> +ifeq ($(strip $(filter-out ibm aix%,$(target_vendor) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-aix.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1500,7 +1489,7 @@ ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),)
>  endif
>  
>  # RTEMS
> -ifeq ($(strip $(filter-out rtems%,$(osys))),)
> +ifeq ($(strip $(filter-out rtems%,$(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    system.ads<system-rtems.ads \
>    a-intnam.ads<a-intnam-rtems.ads \
> @@ -1518,7 +1507,7 @@ ifeq ($(strip $(filter-out rtems%,$(osys))),)
>  endif
>  
>  # OpenVMS (host)
> -ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% 
> alphavms%,$(host))),)
> +ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% 
> alphavms%,$(host_cpu) $(host_vendor) $(host_os))),)
>  
>  soext  = .exe
>  hyphen = _
> @@ -1528,7 +1517,7 @@ LN_S = cp -p
>  endif
>  
>  # OpenVMS (target)
> -ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% 
> alphavms%,$(targ))),)
> +ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% 
> alphavms%,$(target_cpu) $(target_vendor) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>      a-caldel.adb<a-caldel-vms.adb \
>      a-calend.adb<a-calend-vms.adb \
> @@ -1562,7 +1551,7 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% 
> openvms% alphavms%,$(targ)))
>      s-tpopde.adb<s-tpopde-vms.adb \
>      s-tpopde.ads<s-tpopde-vms.ads
>  
> -  ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
> +  ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(target_cpu) 
> $(target_vendor) $(target_os))),)
>      LIBGNAT_TARGET_PAIRS += \
>        g-enblsp.adb<g-enblsp-vms-ia64.adb \
>        g-trasym.adb<g-trasym-vms-ia64.adb \
> @@ -1582,7 +1571,7 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% 
> openvms% alphavms%,$(targ)))
>        symbols.adb<symbols-vms.adb \
>        symbols-processing.adb<symbols-processing-vms-ia64.adb
>    else
> -    ifeq ($(strip $(filter-out alpha64 dec vms% openvms% 
> alphavms%,$(targ))),)
> +    ifeq ($(strip $(filter-out alpha64 dec vms% openvms% 
> alphavms%,$(target_cpu) $(target_vendor) $(target_os))),)
>        LIBGNAT_TARGET_PAIRS += \
>          g-enblsp.adb<g-enblsp-vms-alpha.adb \
>          g-trasym.adb<g-trasym-vms-alpha.adb \
> @@ -1621,21 +1610,21 @@ ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% 
> openvms% alphavms%,$(targ)))
>  endif
>  
>  # *-elf
> -ifeq ($(strip $(filter-out lmp avr none powerpc% eabispe leon% erc32% 
> unknown elf,$(targ))),)
> +ifeq ($(strip $(filter-out lmp avr none powerpc% eabispe leon% erc32% 
> unknown elf,$(target_cpu) $(target_vendor) $(target_os))),)
>    TOOLS_TARGET_PAIRS=\
>    mlib-tgt-specific.adb<mlib-tgt-specific-xi.adb \
>    indepsw.adb<indepsw-gnu.adb
>  endif
>  
>  # Cygwin/Mingw32
> -ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(osys))),)
> +ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
>    # Cygwin provides a full Posix environment, and so we use the default
>    # versions of s-memory and g-socthi rather than the Windows-specific
>    # MinGW versions.  Ideally we would use all the default versions for
>    # Cygwin and none of the MinGW versions, but for historical reasons
>    # the Cygwin port has always been a CygMing frankenhybrid and it is
>    # a long-term project to disentangle them.
> -  ifeq ($(strip $(filter-out cygwin%,$(osys))),)
> +  ifeq ($(strip $(filter-out cygwin%,$(target_os))),)
>      LIBGNAT_TARGET_PAIRS = \
>      s-memory.adb<s-memory.adb \
>      g-socthi.ads<g-socthi.ads \
> @@ -1693,7 +1682,7 @@ ifeq ($(strip $(filter-out cygwin% mingw32% 
> pe,$(osys))),)
>      s-osprim.adb<s-osprim-mingw.adb \
>      s-taprop.adb<s-taprop-mingw.adb
>  
> -    ifeq ($(strip $(filter-out x86_64%,$(arch))),)
> +    ifeq ($(strip $(filter-out x86_64%,$(target_cpu))),)
>        ifeq ($(strip $(MULTISUBDIR)),/32)
>       LIBGNAT_TARGET_PAIRS += \
>         $(X86_TARGET_PAIRS) \
> @@ -1744,7 +1733,7 @@ ifeq ($(strip $(filter-out cygwin% mingw32% 
> pe,$(osys))),)
>  endif
>  
>  # Mips Linux
> -ifeq ($(strip $(filter-out mips linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out mips linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1768,7 +1757,7 @@ ifeq ($(strip $(filter-out mips linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # Mips/el Linux
> -ifeq ($(strip $(filter-out mipsel linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out mipsel linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1811,7 +1800,7 @@ ifeq ($(strip $(filter-out mipsel linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # Mips64/el Linux
> -ifeq ($(strip $(filter-out mips64el linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out mips64el linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1854,7 +1843,7 @@ ifeq ($(strip $(filter-out mips64el linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # PowerPC and e500v2 Linux
> -ifeq ($(strip $(filter-out powerpc% e500% linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out powerpc% e500% linux%,$(target_cpu) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-exetim.adb<a-exetim-posix.adb \
>    a-exetim.ads<a-exetim-default.ads \
> @@ -1917,7 +1906,7 @@ ifeq ($(strip $(filter-out powerpc% e500% 
> linux%,$(arch) $(osys))),)
>    LIBRARY_VERSION := $(LIB_VERSION)
>  endif
>  
> -ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) $(if $(findstring 
> eabi,$(word 4,$(targ))),,$(word 4,$(targ)))),)
> +ifeq ($(strip $(filter-out arm% linux%eabi,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1932,7 +1921,7 @@ ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) 
> $(if $(findstring eabi,$(
>    s-taspri.ads<s-taspri-posix-noaltstack.ads \
>    s-tpopsp.adb<s-tpopsp-posix-foreign.adb
>  
> -  ifeq ($(strip $(filter-out arm%b,$(arch))),)
> +  ifeq ($(strip $(filter-out arm%b,$(target_cpu))),)
>      LIBGNAT_TARGET_PAIRS += \
>      system.ads<system-linux-armeb.ads
>    else
> @@ -1953,7 +1942,7 @@ ifeq ($(strip $(filter-out arm%-linux,$(arch)-$(osys)) 
> $(if $(findstring eabi,$(
>  endif
>  
>  # Sparc Linux
> -ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS_COMMON = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -1995,7 +1984,7 @@ ifeq ($(strip $(filter-out sparc% linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # HP/PA Linux
> -ifeq ($(strip $(filter-out hppa% linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out hppa% linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -2024,7 +2013,7 @@ ifeq ($(strip $(filter-out hppa% linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # SH4 Linux
> -ifeq ($(strip $(filter-out sh4% linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out sh4% linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -2054,7 +2043,7 @@ ifeq ($(strip $(filter-out sh4% linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # IA64 Linux
> -ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-exetim.adb<a-exetim-posix.adb \
>    a-exetim.ads<a-exetim-default.ads \
> @@ -2093,7 +2082,7 @@ ifeq ($(strip $(filter-out %ia64 linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # IA64 HP-UX
> -ifeq ($(strip $(filter-out ia64% hp hpux%,$(targ))),)
> +ifeq ($(strip $(filter-out ia64% hp hpux%,$(target_cpu) $(target_vendor) 
> $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-hpux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -2122,7 +2111,7 @@ ifeq ($(strip $(filter-out ia64% hp hpux%,$(targ))),)
>  endif
>  
>  # Alpha Linux
> -ifeq ($(strip $(filter-out alpha% linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-intnam.ads<a-intnam-linux.ads \
>    s-inmaop.adb<s-inmaop-posix.adb \
> @@ -2153,7 +2142,7 @@ ifeq ($(strip $(filter-out alpha% linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # x86-64 Linux
> -ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-exetim.adb<a-exetim-posix.adb \
>    a-exetim.ads<a-exetim-default.ads \
> @@ -2190,7 +2179,7 @@ ifeq ($(strip $(filter-out %x86_64 linux%,$(arch) 
> $(osys))),)
>    LIBRARY_VERSION := $(LIB_VERSION)
>  endif
>  
> -ifeq ($(strip $(filter-out %x32 linux%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    a-exetim.adb<a-exetim-posix.adb \
>    a-exetim.ads<a-exetim-default.ads \
> @@ -2228,7 +2217,7 @@ ifeq ($(strip $(filter-out %x32 linux%,$(arch) 
> $(osys))),)
>  endif
>  
>  # Darwin (Mac OS X)
> -ifeq ($(strip $(filter-out darwin%,$(osys))),)
> +ifeq ($(strip $(filter-out darwin%,$(target_os))),)
>    SO_OPTS = -shared-libgcc
>    LIBGNAT_TARGET_PAIRS = \
>      a-intnam.ads<a-intnam-darwin.ads \
> @@ -2239,7 +2228,7 @@ ifeq ($(strip $(filter-out darwin%,$(osys))),)
>      s-taspri.ads<s-taspri-posix.ads \
>      s-tpopsp.adb<s-tpopsp-posix-foreign.adb
>  
> -  ifeq ($(strip $(filter-out %86,$(arch))),)
> +  ifeq ($(strip $(filter-out %86,$(target_cpu))),)
>      LIBGNAT_TARGET_PAIRS += \
>        s-intman.adb<s-intman-susv3.adb \
>        s-osprim.adb<s-osprim-darwin.adb \
> @@ -2259,7 +2248,7 @@ ifeq ($(strip $(filter-out darwin%,$(osys))),)
>      EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
>    endif
>  
> -  ifeq ($(strip $(filter-out %x86_64,$(arch))),)
> +  ifeq ($(strip $(filter-out %x86_64,$(target_cpu))),)
>      LIBGNAT_TARGET_PAIRS += \
>        s-intman.adb<s-intman-susv3.adb \
>        s-osprim.adb<s-osprim-darwin.adb \
> @@ -2279,7 +2268,7 @@ ifeq ($(strip $(filter-out darwin%,$(osys))),)
>      EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
>    endif
>  
> -  ifeq ($(strip $(filter-out powerpc%,$(arch))),)
> +  ifeq ($(strip $(filter-out powerpc%,$(target_cpu))),)
>      LIBGNAT_TARGET_PAIRS += \
>        s-intman.adb<s-intman-posix.adb \
>        s-osprim.adb<s-osprim-posix.adb \
> @@ -2309,7 +2298,7 @@ ifeq ($(strip $(filter-out darwin%,$(osys))),)
>  endif
>  
>  # ARM Nucleus
> -ifeq ($(strip $(filter-out arm nucleus%,$(arch) $(osys))),)
> +ifeq ($(strip $(filter-out arm nucleus%,$(target_cpu) $(target_os))),)
>    LIBGNAT_TARGET_PAIRS = \
>    system.ads<system-nucleus-arm.ads \
>    a-numaux.ads<a-numaux-vxworks.ads \
> @@ -2651,7 +2640,7 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
>       $(RM) ../stamp-gnatlib-$(RTSDIR)
>       touch ../stamp-gnatlib1-$(RTSDIR)
>  
> -ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% 
> alphavms%,$(subst -, ,$(host)))),)
> +ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% 
> alphavms%,$(host_cpu) $(host_vendor) $(host_os))),)
>  OSCONS_CPP=../../$(DECC) -E /comment=as_is -DNATIVE \
>               -DTARGET='""$(target)""' $(fsrcpfx)ada/s-oscons-tmplt.c
>  


Grüße,
 Thomas

Attachment: pgpOTZayRguWT.pgp
Description: PGP signature

Reply via email to