configure.tgt revision 38891
1# This is the linker target specific file.  This is invoked by the
2# autoconf generated configure script.  Putting it in a separate shell
3# file lets us skip running autoconf when modifying target specific
4# information.
5
6# This file switches on the shell variable ${targ}, and sets the
7# following shell variables:
8#  targ_emul		name of linker emulation to use
9#  targ_extra_emuls	additional linker emulations to provide
10
11targ_extra_emuls=
12
13case "${targ}" in
14arm-*-pe)		targ_emul=armpe ;;
15arc-*-elf*)		targ_emul=arcelf ;;
16d10v-*-*)		targ_emul=d10velf ;;
17sparc64-*-aout*)	targ_emul=sparcaout ;;
18sparc64-*-elf*)		targ_emul=elf64_sparc ;;
19sparc-sun-sunos4*) 	targ_emul=sun4 ;;
20sparclite*-*-elf)	targ_emul=elf32_sparc ;;
21sparclite*-*-coff)	targ_emul=coff_sparc ;;
22sparclite*-fujitsu-*)	targ_emul=sparcaout ;;
23sparc*-*-aout)		targ_emul=sparcaout ;;
24sparc*-*-coff)		targ_emul=coff_sparc ;;
25sparc*-*-elf)		targ_emul=elf32_sparc ;;
26sparc*-*-sysv4*)	targ_emul=elf32_sparc ;;
27sparc*-*-linux*aout*)	targ_emul=sparclinux
28			targ_extra_emuls="elf32_sparc sun4"
29			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
30			tdir_sun4=sparc-sun-sunos4
31			;;
32sparc64-*-linux-gnu*)	targ_emul=elf64_sparc
33			targ_extra_emuls="elf32_sparc sparclinux sun4"
34			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
35			tdir_sparclinux=${tdir_elf32_sparc}aout
36			tdir_sun4=sparc-sun-sunos4
37			;;
38sparc*-*-linux-gnu*)	targ_emul=elf32_sparc
39			targ_extra_emuls="sparclinux sun4"
40			tdir_sparclinux=${targ_alias}aout
41			tdir_sun4=sparc-sun-sunos4
42			;;
43sparc*-*-lynxos*)	targ_emul=sparclynx ;;
44sparc*-*-netbsd*)	targ_emul=sparcnbsd ;;
45sparc*-*-solaris2*)	targ_emul=elf32_sparc ;;
46sparc*-wrs-vxworks*)	targ_emul=sparcaout ;;
47sparc*-*-rtems*)	targ_emul=sparcaout ;;
48i960-wrs-vxworks5.0*)	targ_emul=gld960 ;;
49i960-wrs-vxworks5*)	targ_emul=gld960coff ;;
50i960-wrs-vxworks*)	targ_emul=gld960 ;;
51i960-*-coff)		targ_emul=gld960coff ;;
52i960-intel-nindy)	targ_emul=gld960 ;;
53i960-*-rtems*)		targ_emul=gld960coff ;;
54m32r-*-*)		targ_emul=m32relf ;;
55m68*-sun-sunos[34]*)	targ_emul=sun3 ;;
56m68*-wrs-vxworks*)	targ_emul=sun3 ;;
57m68*-ericsson-ose)	targ_emul=sun3 ;;
58m68*-apple-aux*)	targ_emul=m68kaux ;;
59*-tandem-none)		targ_emul=st2000 ;;
60i[3456]86-*-vsta)	targ_emul=vsta ;;
61i[3456]86-go32-rtems*)	targ_emul=i386go32 ;;
62i[3456]86-*-go32)	targ_emul=i386go32 ;;
63i[3456]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
64i[3456]86-*-aix*)	targ_emul=i386coff ;;
65i[3456]86-*-sco*)	targ_emul=i386coff ;;
66i[3456]86-*-isc*)	targ_emul=i386coff ;;
67i[3456]86-*-lynxos*)	targ_emul=i386lynx ;;
68i[3456]86-*-coff)	targ_emul=i386coff ;;
69i[3456]86-*-rtems*)	targ_emul=i386coff ;;
70i[3456]86-*-bsd)	targ_emul=i386bsd ;;
71i[3456]86-*-bsd386)	targ_emul=i386bsd ;;
72i[3456]86-*-bsdi*)	targ_emul=i386bsd ;;
73i[3456]86-*-aout)	targ_emul=i386aout ;;
74i[3456]86-*-linux*aout*)	targ_emul=i386linux
75			targ_extra_emuls=elf_i386
76			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
77			;;
78i[3456]86-*-linuxoldld)	targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
79i[3456]86-*-linux-gnu*)	targ_emul=elf_i386
80			targ_extra_emuls=i386linux
81			tdir_i386linux=${targ_alias}aout
82			;;
83i[3456]86-*-sysv4*)	targ_emul=elf_i386 ;;
84i[3456]86-*-unixware)	targ_emul=elf_i386 ;;
85i[3456]86-*-netbsd*)	targ_emul=i386nbsd ;;
86i[3456]86-*-netware)	targ_emul=i386nw ;;
87i[3456]86-*-elf*)	targ_emul=elf_i386 ;;
88i[3456]86-*-freebsdelf*) targ_emul=elf_i386 ;;
89i[3456]86-*-freebsd*)   targ_emul=i386freebsd ;;
90i[3456]86-*-sysv*)	targ_emul=i386coff ;;
91i[3456]86-*-ptx*)	targ_emul=i386coff ;;
92i[3456]86-*-mach*)	targ_emul=i386mach ;;
93i[3456]86-*-gnu*)	targ_emul=elf_i386 ;;
94i[3456]86-*-msdos*)	targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
95i[3456]86-*-moss*)	targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
96i[3456]86-*-winnt*)	targ_emul=i386pe ;;
97i[3456]86-*-pe)		targ_emul=i386pe ;;
98i[3456]86-*-cygwin32*)	targ_emul=i386pe ;;
99i[3456]86-*-mingw32*)	targ_emul=i386pe ;;
100m8*-*-*)		targ_emul=m88kbcs ;;
101a29k-*-udi)		targ_emul=sa29200 ;;
102a29k-*-ebmon)		targ_emul=ebmon29k ;;
103a29k-*-*)		targ_emul=a29k ;;
104#  arm-*-riscix*)		targ_emul=riscix ;;
105arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
106armeb-*-aout)		targ_emul=armaoutb ;;
107arm-*-coff)		targ_emul=armcoff ;;
108thumb-*-coff)		targ_emul=armcoff ;;
109thumb-*-pe)		targ_emul=armpe ;;
110h8300-*-hms)		targ_emul=h8300; targ_extra_emuls="h8300h h8300s"
111			;;
112h8500-*-hms)		targ_emul=h8500
113			targ_extra_emuls="h8500s h8500b h8500m h8500c"
114			;;
115sh-*-elf*)		targ_emul=shelf
116			targ_extra_emuls="shlelf sh shl"
117			;;
118sh-*-*|sh-*-rtems*)	targ_emul=sh; targ_extra_emuls=shl ;;
119m68k-sony-*)		targ_emul=news ;;
120m68k-hp-bsd*)		targ_emul=hp300bsd ;;
121m68*-motorola-sysv*)	targ_emul=delta68 ;;
122m68*-*-aout)		targ_emul=m68kaout ;;
123m68*-*-coff)		targ_emul=m68kcoff ;;
124m68*-*-elf)		targ_emul=m68kelf ;;
125m68*-*-hpux*)		targ_emul=hp3hpux ;;
126m68k-*-linux*aout*)	targ_emul=m68klinux
127			targ_extra_emuls=m68kelf
128			tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
129			;;
130m68k-*-linux-gnu*)	targ_emul=m68kelf
131			targ_extra_emuls=m68klinux
132			tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
133			;;
134m68*-*-lynxos*)		targ_emul=m68klynx ;;
135m68*-hp*-netbsd*)	targ_emul=m68k4knbsd ;;
136m68*-*-netbsd*)		targ_emul=m68knbsd ;;
137m68*-*-psos*)		targ_emul=m68kpsos ;;
138m68*-*-rtems*)		targ_emul=m68kcoff ;;
139hppa*-*-*elf*)		targ_emul=hppaelf ;;
140hppa*-*-lites*)		targ_emul=hppaelf ;;
141hppa*-*-rtems*)		targ_emul=hppaelf ;;
142vax-dec-ultrix* | vax-dec-bsd*) targ_emul=vax ;;
143mips*-dec-ultrix*)	targ_emul=mipslit ;;
144mips*-dec-osf*)		targ_emul=mipslit ;;
145mips*-sgi-irix[56]*)	targ_emul=elf32bsmip ;;
146mips*-sgi-irix*)	targ_emul=mipsbig ;;
147mips*el-*-ecoff*)	targ_emul=mipsidtl ;;
148mips*-*-ecoff*)		targ_emul=mipsidt ;;
149mips*-dec-bsd*)		targ_emul=mipsbsd ;;
150mips*-dec-netbsd*)	targ_emul=elf32lmip ;;
151mips*-*-bsd*)		targ_emul=mipsbig ;;
152mips*vr4300el-*-elf*)	targ_emul=elf32l4300 ;;
153mips*vr4300-*-elf*)	targ_emul=elf32b4300 ;;
154mips*vr4100el-*-elf*)	targ_emul=elf32l4300 ;;
155mips*vr4100-*-elf*)	targ_emul=elf32b4300 ;;
156mips*vr5000el-*-elf*)	targ_emul=elf32l4300 ;;
157mips*vr5000-*-elf*)	targ_emul=elf32b4300 ;;
158mips*el-*-elf*)		targ_emul=elf32elmip ;;
159mips*-*-elf*)		targ_emul=elf32ebmip ;;
160mips*-*-rtems*)		targ_emul=elf32ebmip ;;
161mips*el-*-linux-gnu*)	targ_emul=elf32lsmip
162			targ_extra_emuls="elf32bsmip mipslit mipsbig"
163			;;
164mips*-*-linux-gnu*)	targ_emul=elf32bsmip
165			targ_extra_emuls="elf32lsmip mipsbig mipslit"
166			;;
167mips*-*-lnews*)		targ_emul=mipslnews ;;
168mn10200-*-*)		targ_emul=mn10200 ;;
169mn10300-*-*)		targ_emul=mn10300 ;;
170alpha*-*-freebsd*)	targ_emul=elf64alpha ;;
171alpha*-*-linuxecoff*)	targ_emul=alpha targ_extra_emuls=elf64alpha
172			tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'`
173			;;
174alpha*-*-linux-gnu*)	targ_emul=elf64alpha targ_extra_emuls=alpha
175			tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
176			;;
177alpha*-*-osf*)		targ_emul=alpha ;;
178alpha*-*-gnu*)		targ_emul=elf64alpha ;;
179alpha*-*-netware*)	targ_emul=alpha ;;
180alpha*-*-netbsd*)	targ_emul=elf64alpha ;;
181z8k-*-coff) 		targ_emul=z8002; targ_extra_emuls=z8001 ;;
182ns32k-pc532-mach* | ns32k-pc532-ux*)	targ_emul=pc532macha ;;
183ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
184powerpc-*-elf* | powerpc-*-eabi* | powerpc-*-linux-gnu* | powerpc-*-sysv* \
185  | powerpc-*-netbsd*)
186	targ_emul=elf32ppc ;;
187powerpcle-*-elf* | powerpcle-*-eabi* | powerpcle-*-solaris* | powerpcle-*-sysv*)	targ_emul=elf32lppc ;;
188powerpc-*-rtems*)	targ_emul=elf32ppc ;;
189powerpc-*-macos*)	targ_emul=ppcmacos ;;
190powerpc-*-netware*)	targ_emul=ppcnw ;;
191powerpcle-*-pe)         targ_emul=ppcpe ;;
192powerpcle-*-winnt*)     targ_emul=ppcpe ;;
193powerpcle-*-cygwin32)   targ_emul=ppcpe ;;
194powerpc-*-aix*)		targ_emul=aixppc ;;
195powerpc-*-beos*)	targ_emul=aixppc ;;
196rs6000-*-aix*)		targ_emul=aixrs6 ;;
197tic30-*-*aout*)		targ_emul=tic30aout ;;
198tic30-*-*coff*)		targ_emul=tic30coff ;;
199v850-*-*)		targ_emul=v850 ;;
200w65-*-*)		targ_emul=w65 ;;
201*-*-aout)		targ_emul=${target_cpu}-${target_vendor} ;;
202*-*-coff)		targ_emul=${target_cpu}-${target_vendor} ;;
203*-*-netware)		targ_emul=${target_cpu}-nw ;;
204*-*-ieee*)		targ_emul=vanilla ;;
205
206*)
207  echo 2>&1 "*** ld does not support target ${targ}"
208  echo 2>&1 "*** see ld/configure.tgt for supported targets"
209  exit 1
210
211esac
212