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 ;; | |
44 | m68k-sun-sunos[34]*) ld_target=sun3 ;; | |
45 | sparclite*-fujitsu-*) ld_target=sun4 ;; | |
e637dcf0 | 46 | # start-sanitize-v9 |
1c4b3cda ILT |
47 | sparc64-*-elf*) ld_target=sparc64-elf ;; |
48 | sparc64*) ld_target=sun4 ;; | |
e637dcf0 | 49 | # end-sanitize-v9 |
1c4b3cda ILT |
50 | sparc*-*-aout) ld_target=sun4 ;; |
51 | sparc*-*-elf) ld_target=sun4sol2 ;; | |
7b95fe96 | 52 | sparc*-*-lynxos*) ld_target=sparc-lynx ;; |
1c4b3cda ILT |
53 | sparc*-*-solaris2*) ld_target=sun4sol2 ;; |
54 | i960-wrs-vxworks*) ld_target=i960 ;; | |
55 | i960-intel-nindy) ld_target=i960 ;; | |
56 | m68k-wrs-vxworks*) ld_target=vxworks68 ;; | |
57 | m680[01234]0-wrs-vxworks*) ld_target=vxworks68 ;; | |
58 | m683?2-wrs-vxworks*) ld_target=vxworks68 ;; | |
59 | sparc*-wrs-vxworks*) ld_target=sun4 ;; | |
60 | m68k-ericsson-ose) ld_target=ose68 ;; | |
61 | m680[01234]0-ericsson-ose) ld_target=ose68 ;; | |
62 | m683?2-ericsson-ose) ld_target=ose68 ;; | |
63 | *-tandem-none) ld_target=st2000 ;; # FIXME needs better name | |
64 | i[34]86-*-go32) ld_target=go32 ;; | |
65 | i[34]86-*-aix*) ld_target=i386-coff ;; | |
66 | i[34]86-*-sco*) ld_target=i386-coff ;; | |
67 | i[34]86-*-lynxos*) ld_target=i386-lynx ;; | |
68 | i[34]86-*-coff) ld_target=i386-coff ;; | |
69 | i[34]86-*-bsd) ld_target=i386-bsd ;; | |
70 | i[34]86-*-aout) ld_target=i386-aout ;; | |
71 | i[34]86-*-linux) ld_target=i386-linux ;; | |
72 | i[34]86-*-sysv4*) ld_target=i386-elf ;; | |
73 | i[34]86-*-elf*) ld_target=i386-elf ;; | |
74 | i[34]86-*-sysv*) ld_target=i386-coff ;; | |
75 | m8*-*-*) ld_target=m88k-bcs ;; | |
76 | a29k-*-udi) ld_target=sa29200 ;; | |
77 | a29k-*-ebmon) ld_target=ebmon29k ;; | |
78 | a29k-*-*) ld_target=coff-a29k ;; | |
79 | h8300-*-hms) ld_target=coff-h8300 ;; | |
80 | h8300h-*-hms) ld_target=coff-h8300h ;; | |
81 | h8500-*-hms) ld_target=coff-h8500 ;; | |
82 | sh-*-*) ld_target=coff-sh ;; | |
83 | m68k-sony-*) ld_target=news ;; | |
84 | m68k-hp-bsd*) ld_target=hp300bsd ;; | |
85 | m68*-*-aout) ld_target=m68k ;; | |
86 | m68*-*-coff) ld_target=m68k-coff ;; | |
87 | m68*-*-hpux) ld_target=hp300hpux ;; | |
88 | m68*-*-lynxos*) ld_target=m68k-lynx ;; | |
89 | m68*-*-*) | |
90 | echo '***' "Unknown m68k target vendor for ld:" ${target_vendor} 1>&2 | |
91 | exit 1 ;; | |
92 | hppa*-hp-osf) ld_target=hppaosf ;; | |
93 | vax-dec-ultrix* | vax-dec-bsd*) ld_target=vax ;; | |
7b95fe96 SS |
94 | mips*-dec-ultrix*) ld_target=mips-lit ;; |
95 | mips*-sgi-irix*) ld_target=mips-big ;; | |
96 | mips*el-idt-ecoff*) ld_target=mips-idtl ;; | |
97 | mips*-idt-ecoff*) ld_target=mips-idt ;; | |
98 | mips*-dec-bsd*) ld_target=mipsbsd ;; | |
99 | mips*-*-elf*) ld_target=mipsb-elf32 ;; | |
1c4b3cda ILT |
100 | alpha-*-osf*) ld_target=alpha ;; |
101 | z8k-*-sim | z8k-*-coff) ld_target=z8ksim ;; | |
102 | *-*-aout) ld_target=${target_cpu}-${target_vendor} ;; | |
103 | *-*-coff) ld_target=${target_cpu}-${target_vendor} ;; | |
104 | ||
105 | all) ld_target=all ;; | |
02757e59 SC |
106 | esac |
107 | ||
1c4b3cda ILT |
108 | if [ "x$ld_target" = "xall" ]; then |
109 | all_targets=true | |
110 | else | |
111 | if [ ! -f ${srcdir}/config/${ld_target}.mt ] ; then | |
112 | echo '***' No file ${srcdir}/config/${ld_target}.mt 1>&2 | |
113 | echo '***' GNU LD does not support target ${ld_target} 1>&2 | |
114 | echo '***' Look in ld/configure.in for supported targets 1>&2 | |
115 | exit 1 | |
116 | fi | |
7f2649bb | 117 | |
1c4b3cda ILT |
118 | if [ "x$targ" = "x$target" ]; then |
119 | target_makefile_frag=${srcdir}/config/${ld_target}.mt | |
120 | else | |
121 | target_extra_frags="$target_extra_frags ${srcdir}/config/${ld_target}.mt" | |
122 | fi | |
123 | fi | |
124 | done | |
125 | ||
126 | # We don't do any links based on the target system, just makefile config. | |
127 | ||
128 | # post-target: | |
129 | ||
130 | rm -f Makefile.tmp Makefile.2 | |
131 | mv Makefile Makefile.tmp | |
132 | ||
133 | if [ x${all_targets} = xfalse ]; then | |
134 | ||
135 | allfrags="$target_makefile_frag $target_extra_frags" | |
136 | ||
137 | # The emulations in all the configured targets. | |
138 | tb=`sed -n ' | |
139 | s/EMUL[ ]*=[ ]*\([^ ]*\)/em_\1.o/p | |
140 | ' $allfrags` | |
141 | # uniq the list. | |
142 | f="" | |
143 | for i in $tb ; do | |
144 | case " $f " in | |
145 | *" $i "*) ;; | |
146 | *) f="$f $i" ;; | |
147 | esac | |
148 | done | |
149 | tb="$f" | |
150 | ||
151 | echo "EMULATION_OFILES = $tb" >> Makefile.2 | |
152 | ||
153 | else # all_targets is true | |
154 | echo 'EMULATION_OFILES = $(ALL_EMULATIONS)' >> Makefile.2 | |
155 | fi # all_targets is true | |
156 | ||
157 | cat Makefile.tmp >> Makefile.2 | |
158 | rm -f Makefile.tmp | |
159 | mv Makefile.2 Makefile | |
8ddef552 | 160 | |
173a0c3d | 161 | mkdir ldscripts 2>/dev/null |