Commit | Line | Data |
---|---|---|
02757e59 SC |
1 | # This file is a shell script fragment that supplies the information |
2 | # necessary to tailor a template configure script into the configure | |
3 | # script appropriate for this directory. For more information, check | |
4 | # any existing configure script. | |
5 | ||
6 | srctrigger=ldmain.c | |
7 | srcname="linker" | |
818a192a | 8 | target_dependent=true |
02757e59 SC |
9 | |
10 | # per-host: | |
11 | ||
8ddef552 DM |
12 | . ${srcdir}/../bfd/configure.host |
13 | ||
8a60817c | 14 | host_makefile_frag= |
ab57b174 | 15 | |
9d1fe8a4 SC |
16 | if [ -f ${srcdir}/config/${my_host}.mh ] ; then |
17 | host_makefile_frag=config/${my_host}.mh | |
8a60817c | 18 | fi |
02757e59 SC |
19 | |
20 | # per-target: | |
21 | ||
1c4b3cda ILT |
22 | # Canonicalize the secondary target names. |
23 | if [ -n "$with_targets" ]; then | |
24 | for targ in `echo $with_targets | sed 's/,/ /g'` | |
25 | do | |
26 | result=`$configsub $targ 2>/dev/null` | |
27 | if [ -n "$result" ]; then | |
28 | canon_targets="$canon_targets $result" | |
29 | else | |
30 | # Allow targets that config.sub doesn't recognize, like "all". | |
31 | canon_targets="$canon_targets $targ" | |
32 | fi | |
33 | done | |
34 | fi | |
35 | ||
36 | all_targets=false | |
37 | ||
38 | for targ in $target $canon_targets | |
39 | do | |
40 | ||
41 | case "${targ}" in | |
42 | ||
43 | sparc-sun-sunos4*) ld_target=sun4 ;; | |
1c4b3cda | 44 | sparclite*-fujitsu-*) ld_target=sun4 ;; |
e637dcf0 | 45 | # start-sanitize-v9 |
1c4b3cda ILT |
46 | sparc64-*-elf*) ld_target=sparc64-elf ;; |
47 | sparc64*) ld_target=sun4 ;; | |
e637dcf0 | 48 | # end-sanitize-v9 |
1c4b3cda | 49 | sparc*-*-aout) ld_target=sun4 ;; |
d05ac46b | 50 | sparc*-*-coff) ld_target=coff-sparc ;; |
1c4b3cda | 51 | sparc*-*-elf) ld_target=sun4sol2 ;; |
7b95fe96 | 52 | sparc*-*-lynxos*) ld_target=sparc-lynx ;; |
1c4b3cda | 53 | sparc*-*-solaris2*) ld_target=sun4sol2 ;; |
d05ac46b | 54 | sparc*-wrs-vxworks*) ld_target=sun4 ;; |
b4a79a16 | 55 | sparc*-*-netware) ld_target=sun4sol2 ;; |
1c4b3cda ILT |
56 | i960-wrs-vxworks*) ld_target=i960 ;; |
57 | i960-intel-nindy) ld_target=i960 ;; | |
d05ac46b KR |
58 | m68*-sun-sunos[34]*) ld_target=sun3 ;; |
59 | m68*-wrs-vxworks*) ld_target=vxworks68 ;; | |
60 | m68*-ericsson-ose) ld_target=ose68 ;; | |
1c4b3cda | 61 | *-tandem-none) ld_target=st2000 ;; # FIXME needs better name |
8a432746 | 62 | i[34]86-*-vsta) ld_target=vsta ;; |
1c4b3cda ILT |
63 | i[34]86-*-go32) ld_target=go32 ;; |
64 | i[34]86-*-aix*) ld_target=i386-coff ;; | |
65 | i[34]86-*-sco*) ld_target=i386-coff ;; | |
66 | i[34]86-*-lynxos*) ld_target=i386-lynx ;; | |
67 | i[34]86-*-coff) ld_target=i386-coff ;; | |
68 | i[34]86-*-bsd) ld_target=i386-bsd ;; | |
69 | i[34]86-*-aout) ld_target=i386-aout ;; | |
70 | i[34]86-*-linux) ld_target=i386-linux ;; | |
71 | i[34]86-*-sysv4*) ld_target=i386-elf ;; | |
b4a79a16 SEF |
72 | i[34]86-*-unixware) ld_target=i386-elf ;; |
73 | i[34]86-*-netware) ld_target=i386-elf ;; | |
1c4b3cda ILT |
74 | i[34]86-*-elf*) ld_target=i386-elf ;; |
75 | i[34]86-*-sysv*) ld_target=i386-coff ;; | |
b4a79a16 | 76 | i[34]86-*-mach*) ld_target=i386-mach ;; |
1c4b3cda ILT |
77 | m8*-*-*) ld_target=m88k-bcs ;; |
78 | a29k-*-udi) ld_target=sa29200 ;; | |
79 | a29k-*-ebmon) ld_target=ebmon29k ;; | |
80 | a29k-*-*) ld_target=coff-a29k ;; | |
81 | h8300-*-hms) ld_target=coff-h8300 ;; | |
82 | h8300h-*-hms) ld_target=coff-h8300h ;; | |
83 | h8500-*-hms) ld_target=coff-h8500 ;; | |
84 | sh-*-*) ld_target=coff-sh ;; | |
85 | m68k-sony-*) ld_target=news ;; | |
86 | m68k-hp-bsd*) ld_target=hp300bsd ;; | |
8a432746 | 87 | m68k-motorola-sysv*) ld_target=delta68 ;; |
1c4b3cda ILT |
88 | m68*-*-aout) ld_target=m68k ;; |
89 | m68*-*-coff) ld_target=m68k-coff ;; | |
90 | m68*-*-hpux) ld_target=hp300hpux ;; | |
91 | m68*-*-lynxos*) ld_target=m68k-lynx ;; | |
92 | m68*-*-*) | |
93 | echo '***' "Unknown m68k target vendor for ld:" ${target_vendor} 1>&2 | |
94 | exit 1 ;; | |
95 | hppa*-hp-osf) ld_target=hppaosf ;; | |
96 | vax-dec-ultrix* | vax-dec-bsd*) ld_target=vax ;; | |
7b95fe96 | 97 | mips*-dec-ultrix*) ld_target=mips-lit ;; |
d05ac46b | 98 | mips*-sgi-irix5*) ld_target=mipsb-elf32 ;; |
7b95fe96 SS |
99 | mips*-sgi-irix*) ld_target=mips-big ;; |
100 | mips*el-idt-ecoff*) ld_target=mips-idtl ;; | |
101 | mips*-idt-ecoff*) ld_target=mips-idt ;; | |
102 | mips*-dec-bsd*) ld_target=mipsbsd ;; | |
103 | mips*-*-elf*) ld_target=mipsb-elf32 ;; | |
1c4b3cda | 104 | alpha-*-osf*) ld_target=alpha ;; |
8a432746 | 105 | alpha-*-netware*) ld_target=alpha ;; |
1c4b3cda ILT |
106 | z8k-*-sim | z8k-*-coff) ld_target=z8ksim ;; |
107 | *-*-aout) ld_target=${target_cpu}-${target_vendor} ;; | |
108 | *-*-coff) ld_target=${target_cpu}-${target_vendor} ;; | |
b4a79a16 | 109 | *-*-netware) ld_target=${target_cpu}-elf ;; |
1c4b3cda ILT |
110 | |
111 | all) ld_target=all ;; | |
02757e59 SC |
112 | esac |
113 | ||
1c4b3cda ILT |
114 | if [ "x$ld_target" = "xall" ]; then |
115 | all_targets=true | |
116 | else | |
117 | if [ ! -f ${srcdir}/config/${ld_target}.mt ] ; then | |
118 | echo '***' No file ${srcdir}/config/${ld_target}.mt 1>&2 | |
119 | echo '***' GNU LD does not support target ${ld_target} 1>&2 | |
120 | echo '***' Look in ld/configure.in for supported targets 1>&2 | |
121 | exit 1 | |
122 | fi | |
7f2649bb | 123 | |
1c4b3cda ILT |
124 | if [ "x$targ" = "x$target" ]; then |
125 | target_makefile_frag=${srcdir}/config/${ld_target}.mt | |
126 | else | |
127 | target_extra_frags="$target_extra_frags ${srcdir}/config/${ld_target}.mt" | |
128 | fi | |
129 | fi | |
130 | done | |
131 | ||
132 | # We don't do any links based on the target system, just makefile config. | |
133 | ||
134 | # post-target: | |
135 | ||
136 | rm -f Makefile.tmp Makefile.2 | |
137 | mv Makefile Makefile.tmp | |
138 | ||
139 | if [ x${all_targets} = xfalse ]; then | |
140 | ||
141 | allfrags="$target_makefile_frag $target_extra_frags" | |
142 | ||
143 | # The emulations in all the configured targets. | |
144 | tb=`sed -n ' | |
145 | s/EMUL[ ]*=[ ]*\([^ ]*\)/em_\1.o/p | |
146 | ' $allfrags` | |
147 | # uniq the list. | |
148 | f="" | |
149 | for i in $tb ; do | |
150 | case " $f " in | |
151 | *" $i "*) ;; | |
152 | *) f="$f $i" ;; | |
153 | esac | |
154 | done | |
155 | tb="$f" | |
156 | ||
157 | echo "EMULATION_OFILES = $tb" >> Makefile.2 | |
158 | ||
159 | else # all_targets is true | |
160 | echo 'EMULATION_OFILES = $(ALL_EMULATIONS)' >> Makefile.2 | |
161 | fi # all_targets is true | |
162 | ||
163 | cat Makefile.tmp >> Makefile.2 | |
164 | rm -f Makefile.tmp | |
165 | mv Makefile.2 Makefile | |
8ddef552 | 166 | |
173a0c3d | 167 | mkdir ldscripts 2>/dev/null |