# configure.tgt # # Copyright 2013 Free Software Foundation # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING3. If not see # . # This is the linker target specific file. This is invoked by the # autoconf generated configure script. Putting it in a separate shell # file lets us skip running autoconf when modifying target specific # information. # This file switches on the shell variable ${targ}, and sets the # following shell variables: # targ_emul name of linker emulation to use # targ_extra_emuls additional linker emulations to provide # targ_extra_libpath additional linker emulations using LIB_PATH # targ_extra_ofiles additional objects needed by the emulation # targ64_extra_emuls additional linker emulations to provide if # --enable-64-bit-bfd is given or if host is 64 bit. # targ64_extra_libpath additional linker emulations using LIB_PATH if # --enable-64-bit-bfd is given or if host is 64 bit. # NATIVE_LIB_DIRS library directories to search on this host # (if we are a native or sysrooted linker) targ_extra_emuls= targ_extra_libpath= targ_extra_ofiles= targ64_extra_emuls= targ64_extra_libpath= # Please try to keep this table in alphabetic order - it makes it # much easier to lookup a specific archictecture. Naturally any # architecture variants should be kept together even if their names # break the alpha sorting. case "${targ}" in aarch64_be-*-cgc) targ_emul=aarch64cgcb targ_extra_emuls="aarch64cgc aarch64cgc32 aarch64cgc32b armcgcb armcgc" ;; aarch64-*-cgc) targ_emul=aarch64cgc targ_extra_emuls="aarch64cgc32 aarch64cgc32b aarch64cgcb armcgc armcgcb" ;; aarch64_be-*-linux*) targ_emul=aarch64linuxb targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armcgcb_linux_eabi armcgc_linux_eabi" targ_extra_emuls="aarch64cgcb aarch64cgc aarch64cgc32 aarch64cgc32b armcgcb armcgc $targ_extra_libpath" ;; aarch64-*-linux*) targ_emul=aarch64linux targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armcgcb_linux_eabi armcgc_linux_eabi" targ_extra_emuls="aarch64cgc aarch64cgc32 aarch64cgc32b aarch64cgcb armcgc armcgcb $targ_extra_libpath" ;; alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) targ_emul=cgc64alpha_fbsd targ_extra_emuls="cgc64alpha alpha" tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` ;; alpha*-*-linux*ecoff*) targ_emul=alpha targ_extra_emuls=cgc64alpha tdir_cgc64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` ;; alpha*-*-linux-*) targ_emul=cgc64alpha targ_extra_emuls=alpha tdir_alpha=`echo ${targ_alias} | sed -e 's/linux\(-gnu\)*/linux\1ecoff/'` ;; alpha*-*-osf*) targ_emul=alpha ;; alpha*-*-gnu*) targ_emul=cgc64alpha ;; alpha*-*-netware*) targ_emul=alpha ;; alpha*-*-netbsd*) targ_emul=cgc64alpha_nbsd ;; alpha*-*-openbsd*) targ_emul=cgc64alpha ;; alpha*-*-*vms*) targ_emul=alphavms ;; arc-*-cgc*) targ_emul=arccgc ;; arm-epoc-pe) targ_emul=arm_epoc_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; arm*-*-cegcc*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" LIB_PATH='${tooldir}/lib/w32api' ;; arm-wince-pe | arm-*-wince | arm*-*-mingw32ce*) targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; armeb-*-aout) targ_emul=armaoutb ;; arm-*-coff) targ_emul=armcoff ;; arm-*-freebsd* | arm-*-kfreebsd*-gnu) targ_emul=armcgc_fbsd targ_extra_emuls="armcgc" ;; armeb-*-netbsdcgc*) targ_emul=armcgcb_nbsd; targ_extra_emuls="armcgc_nbsd armcgc armnbsd" ;; arm-*-netbsdcgc*) targ_emul=armcgc_nbsd; targ_extra_emuls="armcgcb_nbsd armcgc armnbsd" ;; arm-*-netbsd*) targ_emul=armnbsd; targ_extra_emuls="armcgc armcgc_nbsd armcgcb_nbsd" ;; arm-*-nto*) targ_emul=armnto ;; arm-*-openbsd*) targ_emul=armnbsd ;; arm-*-rtems*) targ_emul=armcgc ;; armeb-*-cgc) targ_emul=armcgcb ;; arm-*-cgc | arm*-*-eabi*) targ_emul=armcgc ;; arm*-*-symbiancgc*) targ_emul=armsymbian;; arm-*-kaos*) targ_emul=armcgc ;; arm9e-*-cgc) targ_emul=armcgc ;; arm*b-*-linux-*eabi*) targ_emul=armcgcb_linux_eabi targ_extra_emuls=armcgc_linux_eabi targ_extra_libpath=$targ_extra_emuls ;; arm*b-*-linux-*) targ_emul=armcgcb_linux targ_extra_emuls="armcgcb armcgc armcgc_linux" targ_extra_libpath="armcgc_linux" ;; arm*-*-linux-*eabi*) targ_emul=armcgc_linux_eabi targ_extra_emuls=armcgcb_linux_eabi targ_extra_libpath=$targ_extra_emuls ;; arm*-*-linux-*) targ_emul=armcgc_linux targ_extra_emuls="armcgc armcgcb armcgcb_linux" targ_extra_libpath="armcgcb_linux" ;; arm*b-*-nacl*) targ_emul=armcgcb_nacl targ_extra_emuls="armcgc_nacl cgc_i386_nacl" targ_extra_libpath=$targ_extra_emuls targ64_extra_emuls="cgc32_x86_64_nacl cgc_x86_64_nacl" targ64_extra_libpath=$targ64_extra_emuls ;; arm*-*-nacl*) targ_emul=armcgc_nacl targ_extra_emuls="armcgcb_nacl cgc_i386_nacl" targ_extra_libpath=$targ_extra_emuls targ64_extra_emuls="cgc32_x86_64_nacl cgc_x86_64_nacl" targ64_extra_libpath=$targ64_extra_emuls ;; arm*-*-uclinux*eabi*) targ_emul=armcgc_linux_eabi targ_extra_emuls=armcgcb_linux_eabi targ_extra_libpath=$targ_extra_emuls ;; arm*-*-uclinux*) targ_emul=armcgc_linux targ_extra_emuls="armcgc armcgcb armcgcb_linux" targ_extra_libpath="armcgcb_linux" ;; arm-*-vxworks) targ_emul=armcgc_vxworks ;; arm*-*-conix*) targ_emul=armcgc ;; avr-*-*) targ_emul=avr2 targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7" ;; bfin-*-cgc) targ_emul=cgc32bfin; targ_extra_emuls="cgc32bfinfd" targ_extra_libpath=$targ_extra_emuls ;; bfin-*-rtems*) targ_emul=cgc32bfin; targ_extra_emuls="cgc32bfinfd" targ_extra_libpath=$targ_extra_emuls ;; bfin-*-uclinux*) targ_emul=cgc32bfin; targ_extra_emuls="cgc32bfinfd" targ_extra_libpath=$targ_extra_emuls ;; bfin-*-linux-uclibc*) targ_emul=cgc32bfinfd; targ_extra_emuls="cgc32bfin" targ_extra_libpath=$targ_extra_emuls ;; cr16-*-cgc*) targ_emul=cgc32cr16 ;; cr16c-*-cgc*) targ_emul=cgc32cr16c ;; cris-*-*aout*) targ_emul=crisaout targ_extra_emuls="criself crislinux" targ_extra_libpath=$targ_extra_emuls ;; cris-*-linux-* | crisv32-*-linux-*) targ_emul=crislinux ;; cris-*-* | crisv32-*-*) targ_emul=criself targ_extra_emuls="crisaout crislinux" targ_extra_libpath=$targ_extra_emuls ;; crx-*-cgc*) targ_emul=cgc32crx ;; d10v-*-*) targ_emul=d10vcgc ;; d30v-*-*ext*) targ_emul=d30v_e; targ_extra_emuls="d30vcgc d30v_o" ;; d30v-*-*onchip*) targ_emul=d30v_o; targ_extra_emuls="d30vcgc d30v_e" ;; d30v-*-*) targ_emul=d30vcgc; targ_extra_emuls="d30v_e d30v_o" ;; dlx-*-cgc*) targ_emul=cgc32_dlx ;; epiphany-*-cgc) targ_emul=cgc32epiphany targ_extra_emuls="cgc32epiphany_4x4" ;; fido*-*-cgc*) targ_emul=m68kcgc ;; fr30-*-*) targ_emul=cgc32fr30 ;; frv-*-*linux*) targ_emul=cgc32frvfd ;; frv-*-*) targ_emul=cgc32frv ; targ_extra_emuls="cgc32frvfd" ;; moxie-*-*) targ_emul=cgc32moxie ;; h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" ;; h8300-*-cgc* | h8300-*-rtems*) targ_emul=h8300cgc; targ_extra_emuls="h8300hcgc h8300self h8300hncgc h8300sncgc h8300sxcgc h8300sxncgc" ;; h8500-*-hms* | h8500-*-coff* | h8500-*-rtems*) targ_emul=h8500 targ_extra_emuls="h8500s h8500b h8500m h8500c" ;; hppa*64*-*-linux-*) targ_emul=hppa64linux ;; hppa*64*-hpux*) targ_emul=cgc64hppa ;; hppa*-*-linux-*) targ_emul=hppalinux ;; hppa*-*-*cgc*) targ_emul=hppacgc ;; hppa*-*-lites*) targ_emul=hppacgc ;; hppa*-*-netbsd*) targ_emul=hppanbsd ;; hppa*-*-openbsd*) targ_emul=hppaobsd ;; i370-*-cgc* | i370-*-linux-*) targ_emul=cgc32i370 ;; i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; i[3-7]86-*-vsta) targ_emul=vsta ;; i[3-7]86-*-go32) targ_emul=i386go32 ;; i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;; i[3-7]86-*-aix*) targ_emul=i386coff ;; i[3-7]86-*-sco*) targ_emul=i386coff ;; i[3-7]86-*-isc*) targ_emul=i386coff ;; i[3-7]86-*-lynxos*) targ_emul=i386lynx ;; i[3-7]86-*-coff) targ_emul=i386coff ;; i[3-7]86-*-rtems*) targ_emul=cgc_i386 ;; i[3-7]86-*-aros*) targ_emul=cgc_i386 ;; i[3-7]86-*-rdos*) targ_emul=cgc_i386 ;; x86_64-*-rdos*) targ_emul=cgc64rdos ;; i[3-7]86-*-bsd) targ_emul=i386bsd ;; i[3-7]86-*-bsd386) targ_emul=i386bsd ;; i[3-7]86-*-bsdi*) targ_emul=i386bsd ;; i[3-7]86-*-aout) targ_emul=i386aout ;; i[3-7]86-*-linux*aout*) targ_emul=i386linux targ_extra_emuls=cgc_i386 tdir_cgc_i386=`echo ${targ_alias} | sed -e 's/aout//'` ;; i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=cgc_i386 ;; i[3-7]86-*-linux-*) targ_emul=cgc_i386 targ_extra_emuls=i386linux targ64_extra_emuls="cgc_x86_64 cgc32_x86_64 cgc_l1om cgc_k1om" targ64_extra_libpath=cgc_x86_64 targ_extra_libpath=cgc32_x86_64 tdir_i386linux=${targ_alias}aout ;; x86_64-*-linux-gnux32) targ_emul=cgc32_x86_64 targ_extra_emuls="cgc_x86_64 cgc_i386 i386linux cgc_l1om cgc_k1om" targ_extra_libpath="cgc_i386 cgc_x86_64 cgc_l1om cgc_k1om" tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` tdir_cgc_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;; x86_64-*-linux-*) targ_emul=cgc_x86_64 targ_extra_emuls="cgc32_x86_64 cgc_i386 i386linux cgc_l1om cgc_k1om" targ_extra_libpath="cgc_i386 cgc32_x86_64 cgc_l1om cgc_k1om" tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` tdir_cgc_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-sysv[45]*) targ_emul=cgc_i386 ;; i[3-7]86-*-solaris2*) targ_emul=cgc_i386_sol2 targ_extra_emuls="cgc_i386_ldso cgc_i386 cgc_x86_64_sol2 cgc_x86_64 cgc_l1om cgc_k1om" targ_extra_libpath=$targ_extra_emuls ;; x86_64-*-solaris2*) targ_emul=cgc_x86_64_sol2 targ_extra_emuls="cgc_x86_64 cgc_i386_sol2 cgc_i386_ldso cgc_i386 cgc_l1om cgc_k1om" targ_extra_libpath=$targ_extra_emuls tdir_cgc_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-unixware) targ_emul=cgc_i386 ;; i[3-7]86-*-solaris*) targ_emul=cgc_i386_ldso targ_extra_emuls="cgc_i386" targ_extra_libpath=$targ_extra_emuls ;; i[3-7]86-*-netbsdcgc* | \ i[3-7]86-*-netbsd*-gnu* | \ i[3-7]86-*-knetbsd*-gnu) targ_emul=cgc_i386 targ_extra_emuls=i386nbsd ;; i[3-7]86-*-netbsdpe*) targ_emul=i386pe targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-netbsd*) targ_emul=i386nbsd targ_extra_emuls=cgc_i386 ;; x86_64-*-netbsd*) targ_emul=cgc_x86_64 targ_extra_emuls="cgc_i386 i386nbsd cgc_l1om cgc_k1om" tdir_cgc_i386=`echo ${targ_alias} | \ sed -e 's/x86_64/i386/'` case "${tdir_cgc_i386}" in *-netbsdcgc*) ;; *) tdir_cgc_i386=`echo ${tdir_cgc_i386} | \ sed -e 's/netbsd/netbsdcgc/'`;; esac ;; i[3-7]86-*-netware) targ_emul=i386nw ;; i[3-7]86-*-cgc*) targ_emul=cgc_i386 ;; x86_64-*-cgc*) targ_emul=cgc_x86_64 targ_extra_emuls="cgc_i386 cgc32_x86_64 cgc_l1om cgc_k1om" targ_extra_libpath="cgc_i386 cgc32_x86_64 cgc_l1om cgc_k1om" tdir_cgc_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-kaos*) targ_emul=cgc_i386 ;; i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12]) targ_emul=i386bsd ;; i[3-7]86-*-dragonfly*) targ_emul=cgc_i386 targ_extra_emuls="i386bsd" ;; x86_64-*-dragonfly*) targ_emul=cgc_x86_64 targ_extra_emuls="cgc_i386 cgc_l1om cgc_k1om" ;; i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) targ_emul=cgc_i386_fbsd targ_extra_emuls="cgc_i386 i386bsd" ;; x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) targ_emul=cgc_x86_64_fbsd targ_extra_emuls="cgc_i386_fbsd cgc_x86_64 cgc_i386 cgc_l1om cgc_l1om_fbsd cgc_k1om cgc_k1om_fbsd" targ_extra_libpath="cgc_i386_fbsd" tdir_cgc_i386_fbsd=`echo ${targ_alias} \ | sed -e 's/x86_64/i386/'` tdir_cgc_i386=`echo ${targ_alias} \ | sed -e 's/x86_64/i386/'` ;; i[3-7]86-*-sysv*) targ_emul=i386coff ;; i[3-7]86-*-ptx*) targ_emul=i386coff ;; i[3-7]86-*-mach*) targ_emul=i386mach ;; i[3-7]86-*-gnu*) targ_emul=cgc_i386 ;; i[3-7]86-*-msdos*) targ_emul=i386msdos; targ_extra_emuls=i386aout ;; i[3-7]86-*-moss*) targ_emul=i386moss; targ_extra_emuls=i386msdos ;; i[3-7]86-*-winnt*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-pe) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-cygwin*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; i[3-7]86-*-mingw32*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ; targ_extra_emuls=i386pe ; targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; x86_64-*-cygwin) targ_emul=i386pep ; targ_extra_emuls=i386pe targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;; x86_64-*-mingw*) targ_emul=i386pep ; targ_extra_emuls=i386pe targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;; i[3-7]86-*-interix*) targ_emul=i386pe_posix; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3-7]86-*-beospe*) targ_emul=i386beos ;; i[3-7]86-*-beos*) targ_emul=cgc_i386_be ;; i[3-7]86-*-vxworks*) targ_emul=cgc_i386_vxworks ;; i[3-7]86-*-chaos) targ_emul=cgc_i386_chaos ;; i[3-7]86-*-nacl*) targ_emul=cgc_i386_nacl targ_extra_emuls="armcgc_nacl armcgcb_nacl" targ_extra_libpath=$targ_extra_emuls targ64_extra_emuls="cgc32_x86_64_nacl cgc_x86_64_nacl" targ64_extra_libpath=$targ64_extra_emuls ;; x86_64-*-nacl*) targ_emul=cgc32_x86_64_nacl targ_extra_emuls="cgc_i386_nacl cgc_x86_64_nacl armcgc_nacl armcgcb_nacl" targ_extra_libpath=$targ_extra_emuls tdir_cgc_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;; i860-*-coff) targ_emul=coff_i860 ;; i860-stardent-sysv4* | i860-stardent-cgc*) targ_emul=cgc32_i860 ;; i960-wrs-vxworks5.0*) targ_emul=gld960 ;; i960-wrs-vxworks5*) targ_emul=gld960coff ;; i960-wrs-vxworks*) targ_emul=gld960 ;; i960-*-coff) targ_emul=gld960coff ;; i960-intel-nindy) targ_emul=gld960 ;; i960-*-rtems*) targ_emul=gld960coff ;; i960-*-cgc*) targ_emul=cgc32_i960 ;; ia64-*-cgc*) targ_emul=cgc64_ia64 ;; ia64-*-freebsd* | ia64-*-kfreebsd*-gnu) targ_emul=cgc64_ia64_fbsd targ_extra_emuls="cgc64_ia64" ;; ia64-*-netbsd*) targ_emul=cgc64_ia64 ;; ia64-*-linux*) targ_emul=cgc64_ia64 ;; ia64-*-*vms*) targ_emul=cgc64_ia64_vms ;; ia64-*-aix*) targ_emul=cgc64_aix ;; ip2k-*-cgc) targ_emul=cgc32ip2k ;; iq2000-*-cgc) targ_emul=cgc32iq2000 ; targ_extra_emuls="cgc32iq10" ;; lm32-*-*linux*) targ_emul=cgc32lm32fd ;; lm32-*-*) targ_emul=cgc32lm32 ; targ_extra_emuls="cgc32lm32fd" ;; m32c-*-cgc | m32c-*-rtems*) targ_emul=cgc32m32c ;; m32r*le-*-cgc*) targ_emul=m32rlcgc ;; m32r*-*-cgc* | m32r*-*-rtems*) targ_emul=m32rcgc ;; m32r*le-*-linux-*) targ_emul=m32rlcgc_linux ;; m32r*-*-linux-*) targ_emul=m32rcgc_linux ;; m68hc11-*-*|m6811-*-*) targ_emul=m68hc11cgc targ_extra_emuls="m68hc11cgcb m68hc12cgc m68hc12cgcb" ;; m68hc12-*-*|m6812-*-*) targ_emul=m68hc12cgc targ_extra_emuls="m68hc12cgcb m68hc11cgc m68hc11cgcb" ;; m68*-sun-sunos[34]*) targ_emul=sun3 ;; m68*-wrs-vxworks*) targ_emul=sun3 ;; m68*-ericsson-ose) targ_emul=sun3 ;; m68*-apple-aux*) targ_emul=m68kaux ;; m68k-sony-*) targ_emul=news ;; m68k-hp-bsd*) targ_emul=hp300bsd ;; m68*-motorola-sysv*) targ_emul=delta68 ;; m68*-*-aout) targ_emul=m68kaout ;; m68*-*-coff) targ_emul=m68kcoff ;; m68*-*-cgc) targ_emul=m68kcgc ;; m68*-*-hpux*) targ_emul=hp3hpux ;; m68k-*-linux*aout*) targ_emul=m68klinux targ_extra_emuls=m68kcgc tdir_m68kcgc=`echo ${targ_alias} | sed -e 's/aout//'` ;; m68k-*-linux-*) targ_emul=m68kcgc targ_extra_emuls=m68klinux tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` ;; m68k-*-uclinux*) targ_emul=m68kcgc ;; m68*-*-gnu*) targ_emul=m68kcgc ;; m68*-*-netbsd*4k*) targ_emul=m68k4knbsd targ_extra_emuls="m68knbsd m68kcgcnbsd" ;; m68*-*-netbsdcgc*) targ_emul=m68kcgcnbsd targ_extra_emuls="m68knbsd m68k4knbsd" ;; m68*-*-netbsdaout* | m68*-*-netbsd*) targ_emul=m68knbsd targ_extra_emuls="m68kcgcnbsd m68k4knbsd" ;; m68*-*-psos*) targ_emul=m68kpsos ;; m68*-*-rtemscoff*) targ_emul=m68kcoff ;; m68*-*-rtems*) targ_emul=m68kcgc ;; m8*-*-*) targ_emul=m88kbcs ;; mcore-*-pe) targ_emul=mcorepe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; mcore-*-cgc) targ_emul=cgc32mcore ;; mep-*-cgc) targ_emul=cgc32mep ;; metag-*-*) targ_emul=cgc32metag ;; microblazeel*-linux*) targ_emul="cgc32mbel_linux" targ_extra_emuls="cgc32mb_linux" ;; microblaze*-linux*) targ_emul="cgc32mb_linux" targ_extra_emuls="cgc32mbel_linux" ;; microblazeel*) targ_emul=cgc32microblazeel targ_extra_emuls=cgc32microblaze ;; microblaze*) targ_emul=cgc32microblaze targ_extra_emuls=cgc32microblazeel ;; mips*-sgi-irix5*) targ_emul=cgc32bsmip ;; mips*-sgi-irix6*) targ_emul=cgc32bmipn32 targ_extra_emuls="cgc32bsmip cgc64bmip" targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-netbsd*) targ_emul=cgc32ltsmip targ_extra_emuls="cgc32btsmip cgc64ltsmip cgc64btsmip" ;; mips*-*-netbsd*) targ_emul=cgc32btsmip targ_extra_emuls="cgc32ltsmip cgc64btsmip cgc64ltsmip" ;; mips*vr4300el-*-cgc*) targ_emul=cgc32l4300 ;; mips*vr4300-*-cgc*) targ_emul=cgc32b4300 ;; mips*vr4100el-*-cgc*) targ_emul=cgc32l4300 ;; mips*vr4100-*-cgc*) targ_emul=cgc32b4300 ;; mips*vr5000el-*-cgc*) targ_emul=cgc32l4300 ;; mips*vr5000-*-cgc*) targ_emul=cgc32b4300 ;; mips*el-sde-cgc*) targ_emul=cgc32ltsmip targ_extra_emuls="cgc32btsmip cgc32ltsmipn32 cgc64ltsmip cgc32btsmipn32 cgc64btsmip" ;; mips*-sde-cgc* | mips*-mti-cgc*) targ_emul=cgc32btsmip targ_extra_emuls="cgc32ltsmip cgc32btsmipn32 cgc64btsmip cgc32ltsmipn32 cgc64ltsmip" ;; mips64*el-ps2-cgc*) targ_emul=cgc32lr5900n32 targ_extra_emuls="cgc32lr5900" targ_extra_libpath=$targ_extra_emuls ;; mips*el-ps2-cgc*) targ_emul=cgc32lr5900 targ_extra_emuls="cgc32lr5900n32" targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-cgc*) targ_emul=cgc32elmip ;; mips*-*-cgc*) targ_emul=cgc32ebmip ;; mips*-*-rtems*) targ_emul=cgc32ebmip ;; mips*el-*-vxworks*) targ_emul=cgc32elmipvxworks targ_extra_emuls="cgc32ebmipvxworks" ;; mips*-*-vxworks*) targ_emul=cgc32ebmipvxworks targ_extra_emuls="cgc32elmipvxworks" ;; mips*-*-windiss) targ_emul=cgc32mipswindiss ;; mips64*el-*-linux-*) targ_emul=cgc32ltsmipn32 targ_extra_emuls="cgc32btsmipn32 cgc32ltsmip cgc32btsmip cgc64ltsmip cgc64btsmip" targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-linux-*) targ_emul=cgc32btsmipn32 targ_extra_emuls="cgc32ltsmipn32 cgc32btsmip cgc32ltsmip cgc64btsmip cgc64ltsmip" targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-linux-*) targ_emul=cgc32ltsmip targ_extra_emuls="cgc32btsmip cgc32ltsmipn32 cgc64ltsmip cgc32btsmipn32 cgc64btsmip" targ_extra_libpath=$targ_extra_emuls ;; mips*-*-linux-*) targ_emul=cgc32btsmip targ_extra_emuls="cgc32ltsmip cgc32btsmipn32 cgc64btsmip cgc32ltsmipn32 cgc64ltsmip" targ_extra_libpath=$targ_extra_emuls ;; mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) targ_emul=cgc32ltsmipn32_fbsd targ_extra_emuls="cgc32ltsmip cgc32btsmip cgc32ltsmipn32 cgc32btsmipn32 cgc64ltsmip cgc64btsmip cgc32ltsmip_fbsd cgc32btsmip_fbsd cgc32btsmipn32_fbsd cgc64ltsmip_fbsd cgc64btsmip_fbsd" targ_extra_libpath=$targ_extra_emuls ;; mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) targ_emul=cgc32btsmipn32_fbsd targ_extra_emuls="cgc32ltsmip cgc32btsmip cgc32ltsmipn32 cgc32btsmipn32 cgc64ltsmip cgc64btsmip cgc32ltsmip_fbsd cgc32btsmip_fbsd cgc32ltsmipn32_fbsd cgc64ltsmip_fbsd cgc64btsmip_fbsd" targ_extra_libpath=$targ_extra_emuls ;; mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) targ_emul=cgc32ltsmip_fbsd targ_extra_emuls="cgc32ltsmip cgc32btsmip cgc32ltsmipn32 cgc32btsmipn32 cgc64ltsmip cgc64btsmip cgc32ltsmipn32_fbsd cgc32btsmip_fbsd cgc32btsmipn32_fbsd cgc64ltsmip_fbsd cgc64btsmip_fbsd" targ_extra_libpath=$targ_extra_emuls ;; mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) targ_emul=cgc32btsmip_fbsd targ_extra_emuls="cgc32ltsmip cgc32btsmip cgc32ltsmipn32 cgc32btsmipn32 cgc64ltsmip cgc64btsmip cgc32ltsmip_fbsd cgc32btsmipn32_fbsd cgc32ltsmipn32_fbsd cgc64ltsmip_fbsd cgc64btsmip_fbsd" targ_extra_libpath=$targ_extra_emuls ;; mips*-*-sysv4*) targ_emul=cgc32btsmip ;; mmix-*-*) targ_emul=mmo targ_extra_emuls=cgc64mmix ;; am34-*-linux*) targ_emul=cgc32am33lin ;; am33_2.0-*-linux*) targ_emul=cgc32am33lin ;; mn10200-*-*) targ_emul=mn10200 ;; mn10300-*-*) targ_emul=mn10300 ;; mt-*cgc) targ_emul=cgc32mt ;; msp430-*-*) targ_emul=msp430x110 targ_extra_emuls="msp430x112 msp430x1101 msp430x1111 msp430x1121 msp430x1122 msp430x1132 msp430x122 msp430x123 msp430x1222 msp430x1232 msp430x133 msp430x135 msp430x1331 msp430x1351 msp430x147 msp430x148 msp430x149 msp430x155 msp430x156 msp430x157 msp430x167 msp430x168 msp430x169 msp430x1610 msp430x1611 msp430x1612 msp430x2101 msp430x2111 msp430x2121 msp430x2131 msp430x311 msp430x312 msp430x313 msp430x314 msp430x315 msp430x323 msp430x325 msp430x336 msp430x337 msp430x412 msp430x413 msp430x415 msp430x417 msp430xE423 msp430xE425 msp430xE427 msp430xW423 msp430xW425 msp430xW427 msp430xG437 msp430xG438 msp430xG439 msp430x435 msp430x436 msp430x437 msp430x447 msp430x448 msp430x449 msp430X" ;; nios2*-*-linux*) targ_emul=nios2linux ;; nios2*-*-*) targ_emul=nios2cgc ;; ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;; ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;; openrisc-*-*) targ_emul=cgc32openrisc ;; or32-*-coff) targ_emul=or32 ;; or32-*-cgc) targ_emul=or32cgc ;; or32-*-rtems*) targ_emul=or32cgc ;; pdp11-*-*) targ_emul=pdp11 ;; pjl*-*-*) targ_emul=pjlcgc ; targ_extra_emuls="cgc_i386" ;; pj*-*-*) targ_emul=pjcgc ;; powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu) targ_emul=cgc32ppc_fbsd targ_extra_emuls="cgc32ppc cgc32ppcsim" targ_extra_libpath=cgc32ppc; tdir_cgc32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;; powerpc64-*-freebsd*) targ_emul=cgc64ppc_fbsd targ_extra_emuls="cgc64ppc cgc32ppc_fbsd cgc32ppc" targ_extra_libpath="cgc32ppc_fbsd cgc32ppc" tdir_cgc32ppc=`echo "${targ_alias}" | sed -e 's/64//'` tdir_cgc32ppc_fbsd=$tdir_cgc32ppc ;; powerpc-*-vxworks*) targ_emul=cgc32ppcvxworks targ_extra_emuls="cgc32ppc cgc32ppclinux cgc32ppcsim" ;; powerpc*-*-cgc* | powerpc*-*-eabi* | powerpc*-*-sysv* \ | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \ | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*) case "${targ}" in *64*) targ_emul=cgc64ppc targ_extra_emuls="cgc32ppc cgc32ppclinux cgc32ppcsim" targ_extra_libpath="cgc32ppc cgc32ppclinux" td=tdir_cgc32ppc case "${targ}" in powerpc*le-*) td=tdir_cgc32lppc;; esac eval ${td}=`echo "${targ_alias}" | sed -e 's/64//'` eval ${td}linux=\$${td} eval ${td}sim=\$${td} ;; *linux*) targ_emul=cgc32ppclinux targ_extra_emuls="cgc32ppc cgc32ppcsim" targ_extra_libpath=cgc32ppc targ64_extra_emuls=cgc64ppc targ64_extra_libpath=cgc64ppc ;; *) targ_emul=cgc32ppc targ_extra_emuls="cgc32ppclinux cgc32ppcsim" targ_extra_libpath=cgc32ppclinux targ64_extra_emuls=cgc64ppc targ64_extra_libpath=cgc64ppc ;; esac case "${targ}" in powerpc*le-*) for z in targ_emul targ_extra_emuls targ_extra_libpath targ64_extra_emuls targ64_extra_libpath do eval ${z}=\"`eval echo \\$${z} | sed -e 's/ppc/lppc/g'`\" done esac ;; powerpc-*-nto*) targ_emul=cgc32ppcnto ;; powerpcle-*-nto*) targ_emul=cgc32lppcnto ;; powerpc-*-rtems*) targ_emul=cgc32ppc ;; powerpc-*-macos*) targ_emul=ppcmacos ;; powerpc-*-netware*) targ_emul=ppcnw ;; powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) targ_emul=ppcpe targ_extra_ofiles="deffilep.o pe-dll.o" ;; powerpc-*-aix[5-9]*) targ_emul=aix5ppc ;; powerpc-*-aix*) targ_emul=aixppc ;; powerpc-*-beos*) targ_emul=aixppc ;; powerpc-*-windiss*) targ_emul=cgc32ppcwindiss ;; powerpc-*-lynxos*) targ_emul=ppclynx ;; rs6000-*-aix[5-9]*) targ_emul=aix5rs6 ;; rs6000-*-aix*) targ_emul=aixrs6 ;; rl78-*-*) targ_emul=cgc32rl78 ;; rx-*-*) targ_emul=cgc32rx ;; s390x-*-linux*) targ_emul=cgc64_s390 targ_extra_emuls=cgc_s390 targ_extra_libpath=$targ_extra_emuls tdir_cgc_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; s390x-*-tpf*) targ_emul=cgc64_s390 tdir_cgc_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;; s390-*-linux*) targ_emul=cgc_s390 targ64_extra_emuls=cgc64_s390 targ64_extra_libpath=cgc64_s390 tdir_cgc64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'` ;; score-*-cgc) targ_emul=score7_cgc targ_extra_emuls=score3_cgc ;; sh-*-linux*) targ_emul=shlcgc_linux targ_extra_emuls=shcgc_linux targ_extra_libpath=shcgc_linux ;; sh64eb-*-linux*) targ_emul=shcgc32_linux targ_extra_emuls="shlcgc32_linux" ;; sh64-*-linux*) targ_emul=shlcgc32_linux targ_extra_emuls="shcgc32_linux" targ_extra_libpath=shcgc32_linux ;; sh*eb-*-linux*) targ_emul=shcgc_linux ;; sh*-*-linux*) targ_emul=shlcgc_linux ;; sh5le-*-netbsd*) targ_emul=shlcgc32_nbsd targ_extra_emuls="shcgc32_nbsd shcgc64_nbsd shlcgc64_nbsd shcgc_nbsd shlcgc_nbsd" ;; sh5-*-netbsd*) targ_emul=shcgc32_nbsd targ_extra_emuls="shlcgc32_nbsd shcgc64_nbsd shlcgc64_nbsd shcgc_nbsd shlcgc_nbsd" ;; sh64le-*-netbsd*) targ_emul=shlcgc64_nbsd targ_extra_emuls="shcgc64_nbsd shcgc32_nbsd shlcgc32_nbsd shcgc_nbsd shlcgc_nbsd" ;; sh64-*-netbsd*) targ_emul=shcgc64_nbsd targ_extra_emuls="shlcgc64_nbsd shcgc32_nbsd shlcgc32_nbsd shcgc_nbsd shlcgc_nbsd" ;; sh*l*-*-netbsdcgc*) targ_emul=shlcgc_nbsd targ_extra_emuls=shcgc_nbsd ;; sh*-*-netbsdcgc*) targ_emul=shcgc_nbsd targ_extra_emuls=shlcgc_nbsd ;; sh*-*-symbiancgc*) targ_emul=shlsymbian ;; shle*-*-cgc* | sh[1234]*le*-*-cgc | shle*-*-kaos*) targ_emul=shlcgc targ_extra_emuls="shcgc shl sh" ;; sh-*-rtemscoff*) targ_emul=sh; targ_extra_emuls=shl ;; sh-*-cgc* | sh[1234]*-*-cgc | sh-*-rtems* | sh-*-kaos*) targ_emul=shcgc targ_extra_emuls="shlcgc sh shl" ;; sh-*-uclinux* | sh[12]-*-uclinux*) targ_emul=shcgc_uclinux targ_extra_emuls="shcgc shlcgc sh shl shcgc_fd shlcgc_fd" ;; sh-*-vxworks) targ_emul=shcgc_vxworks targ_extra_emuls=shlcgc_vxworks ;; sh-*-nto*) targ_emul=shcgc_nto targ_extra_emuls=shlcgc_nto ;; sh-*-pe) targ_emul=shpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; sh-*-*) targ_emul=sh; targ_extra_emuls=shl ;; sh64le-*-cgc*) targ_emul=shlcgc targ_extra_emuls="shcgc shlcgc32 shcgc32 shlcgc64 shcgc64" targ_extra_libpath=$targ_extra_emuls ;; sh64-*-cgc*) targ_emul=shcgc targ_extra_emuls="shlcgc shcgc32 shlcgc32 shcgc64 shlcgc64" targ_extra_libpath=$targ_extra_emuls ;; sparc64-*-aout*) targ_emul=sparcaout ;; sparc64-*-cgc*) targ_emul=cgc64_sparc ;; sparc64-*-rtems*) targ_emul=cgc64_sparc ;; sparc-sun-sunos4*) targ_emul=sun4 ;; sparclite*-*-cgc) targ_emul=cgc32_sparc ;; sparclite*-*-coff) targ_emul=coff_sparc ;; sparclite*-fujitsu-*) targ_emul=sparcaout ;; sparc*-*-aout) targ_emul=sparcaout ;; sparc*-*-coff) targ_emul=coff_sparc ;; sparc*-*-cgc) targ_emul=cgc32_sparc ;; sparc*-*-sysv4*) targ_emul=cgc32_sparc ;; sparc*-*-vxworks*) targ_emul=cgc32_sparc_vxworks ;; sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu) targ_emul=cgc64_sparc_fbsd targ_extra_emuls="cgc64_sparc cgc32_sparc" targ_extra_libpath=$targ_extra_emuls tdir_cgc32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; sparc*-*-linux*aout*) targ_emul=sparclinux targ_extra_emuls="cgc32_sparc sun4" tdir_cgc32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` tdir_sun4=sparc-sun-sunos4 ;; sparc64-*-linux-*) targ_emul=cgc64_sparc targ_extra_emuls="cgc32_sparc sparclinux sun4" targ_extra_libpath=cgc32_sparc tdir_cgc32_sparc=`echo ${targ_alias} | sed -e 's/64//'` tdir_sparclinux=${tdir_cgc32_sparc}aout tdir_sun4=sparc-sun-sunos4 ;; sparc*-*-linux-*) targ_emul=cgc32_sparc targ_extra_emuls="sparclinux cgc64_sparc sun4" targ_extra_libpath=cgc64_sparc tdir_sparclinux=${targ_alias}aout tdir_cgc64_sparc=`echo ${targ_alias} | sed -e 's/32//'` tdir_sun4=sparc-sun-sunos4 ;; sparc64-*-netbsd* | sparc64-*-openbsd*) targ_emul=cgc64_sparc targ_extra_emuls="cgc32_sparc" ;; sparc*-*-netbsd*cgc*) targ_emul=cgc32_sparc ;; sparc*-*-netbsd*) targ_emul=sparcnbsd ;; sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) targ_emul=cgc32_sparc_sol2 targ_extra_emuls=cgc32_sparc ;; sparc-*-solaris2*) targ_emul=cgc32_sparc_sol2 targ_extra_emuls="cgc32_sparc cgc64_sparc_sol2 cgc64_sparc" targ_extra_libpath=$targ_extra_emuls tdir_cgc64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;; sparcv9-*-solaris2* | sparc64-*-solaris2*) targ_emul=cgc64_sparc_sol2 targ_extra_emuls="cgc64_sparc cgc32_sparc_sol2 cgc32_sparc" targ_extra_libpath=$targ_extra_emuls tdir_cgc32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;; sparc*-*-solaris2*) targ_emul=cgc32_sparc ;; sparc*-wrs-vxworks*) targ_emul=sparcaout ;; sparc-*-rtems*) targ_emul=cgc32_sparc ;; spu-*-cgc*) targ_emul=cgc32_spu ;; tic30-*-*aout*) targ_emul=tic30aout ;; tic30-*-*coff*) targ_emul=tic30coff ;; tic4x-*-* | c4x-*-*) targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;; tic54x-*-* | c54x*-*-*) targ_emul=tic54xcoff ;; tic6x-*-cgc) targ_emul=cgc32_tic6x_cgc_le targ_extra_emuls="cgc32_tic6x_cgc_be cgc32_tic6x_le cgc32_tic6x_be" targ_extra_libpath=$targ_extra_emuls ;; tic6x-*-uclinux) targ_emul=cgc32_tic6x_linux_le targ_extra_emuls="cgc32_tic6x_linux_be cgc32_tic6x_le cgc32_tic6x_be" targ_extra_libpath=$targ_extra_emuls ;; tic80-*-*) targ_emul=tic80coff ;; tilegx-*-*) targ_emul=cgc64tilegx targ_extra_emuls="cgc64tilegx_be cgc32tilegx cgc32tilegx_be" targ_extra_libpath=$targ_extra_emuls ;; tilegxbe-*-*) targ_emul=cgc64tilegx_be targ_extra_emuls="cgc64tilegx cgc32tilegx cgc32tilegx_be" targ_extra_libpath=$targ_extra_emuls ;; tilepro-*-*) targ_emul=cgc32tilepro ;; v850*-*-*) targ_emul=v850_rh850 targ_extra_emuls=v850 ;; vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;; vax-*-netbsdcgc*) targ_emul=cgc32vax targ_extra_emuls=vaxnbsd ;; vax-*-netbsdaout* | vax-*-netbsd*) targ_emul=vaxnbsd targ_extra_emuls=cgc32vax ;; vax-*-linux-*) targ_emul=cgc32vax ;; w65-*-*) targ_emul=w65 ;; xc16x-*-cgc) targ_emul=cgc32xc16x targ_extra_emuls="cgc32xc16xl cgc32xc16xs" ;; xstormy16-*-*) targ_emul=cgc32xstormy16 ;; xtensa*-*-*) targ_emul=cgc32xtensa ;; xgate-*-*) targ_emul=xgatecgc ;; z80-*-coff) targ_emul=z80 ;; z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;; *-*-ieee*) targ_emul=vanilla ;; *-tandem-none) targ_emul=st2000 ;; *) echo 2>&1 "*** ld does not support target ${targ}" echo 2>&1 "*** see ld/configure.tgt for supported targets" exit 1 esac NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib' case "${target}" in *-*-dragonfly*) NATIVE_LIB_DIRS='/usr/lib /usr/pkg/lib /usr/local/lib' ;; *-*-freebsd*) NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib' ;; hppa*64*-*-hpux11*) NATIVE_LIB_DIRS=/usr/lib/pa20_64 ;; i[3-7]86-*-sysv4*) NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' ;; i[3-7]86-*-solaris*) NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' ;; i[3-7]86-pc-interix*) NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib' ;; ia64-*-aix*) NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib' ;; sparc*-*-solaris2*) NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' ;; spu-*-cgc*) # This allows to build a pair of PPU/SPU toolchains with common sysroot. NATIVE_LIB_DIRS='/lib' ;; i[03-9x]86-*-cygwin* | x86_64-*-cygwin*) NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api' ;; *-*-linux*) ;; *-*-netbsd*) ;; alpha*-*-*) NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib' ;; esac