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