Add support for s390x-ibm-tpf target
[external/binutils.git] / gas / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 dnl And be careful when changing it!  If you must add tests with square
4 dnl brackets, be sure changequote invocations surround it.
5 dnl
6 dnl
7 dnl v2.5 needed for --bindir et al
8 AC_PREREQ(2.57)
9 AC_INIT(as.h)
10
11 dnl Autoconf 2.57 will find the aux dir without this.  However, unless
12 dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
13 dnl gas/ instead of gas/../.
14 AC_CONFIG_AUX_DIR(..)
15 AC_CANONICAL_SYSTEM
16 AC_ISC_POSIX
17
18 changequote(,)dnl
19 BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[         ]*\([^  ]*\)[   ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
20 changequote([,])dnl
21 AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
22
23 AM_PROG_LIBTOOL
24
25 user_bfd_gas=
26 AC_ARG_ENABLE(bfd-assembler,
27 [  --enable-bfd-assembler  use BFD back end for writing object files],
28 [case "${enableval}" in
29   yes) need_bfd=yes user_bfd_gas=yes ;;
30   no)  user_bfd_gas=no ;;
31   *)   AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
32 esac])dnl
33 AC_ARG_ENABLE(targets,
34 [    targets            alternative target configurations besides the primary],
35 [case "${enableval}" in
36   yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
37             ;;
38   no)       enable_targets= ;;
39   *)        enable_targets=$enableval ;;
40 esac])dnl
41 AC_ARG_ENABLE(commonbfdlib,
42 [  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library],
43 [case "${enableval}" in
44   yes) commonbfdlib=true ;;
45   no)  commonbfdlib=false ;;
46   *)   AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
47 esac])dnl
48
49 using_cgen=no
50
51 build_warnings="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
52 AC_ARG_ENABLE(build-warnings,
53 [  --enable-build-warnings Enable build-time compiler warnings if gcc is used],
54 [case "${enableval}" in
55   yes)  ;;
56   no)   build_warnings="-w";;
57   ,*)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
58         build_warnings="${build_warnings} ${t}";;
59   *,)   t=`echo "${enableval}" | sed -e "s/,/ /g"`
60         build_warnings="${t} ${build_warnings}";;
61   *)    build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
62 esac
63 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
64   echo "Setting warning flags = $build_warnings" 6>&1
65 fi])dnl
66 WARN_CFLAGS=""
67 if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
68     WARN_CFLAGS="${build_warnings}"
69 fi
70 AC_SUBST(WARN_CFLAGS)
71
72 # Generate a header file
73 AM_CONFIG_HEADER(config.h:config.in)
74
75 # If we are on a DOS filesystem, we must use gdb.ini rather than
76 # .gdbinit.
77 case "${host}" in
78   *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*)
79     GDBINIT="gdb.ini"
80     AC_CONFIG_FILES(gdb.ini:gdbinit.in)
81     ;;
82   *)
83     GDBINIT=".gdbinit"
84     AC_CONFIG_FILES(.gdbinit:gdbinit.in)
85     ;;
86 esac
87 AC_SUBST(GDBINIT)
88
89 te_file=generic
90
91 # Makefile target for installing gas in $(tooldir)/bin.
92 install_tooldir=install-exec-tooldir
93
94 canon_targets=""
95 all_targets=no
96 if test -n "$enable_targets" ; then
97   for t in `echo $enable_targets | sed 's/,/ /g'`; do
98     if test $t = "all"; then
99       all_targets=yes
100       continue
101     fi
102     result=`$ac_config_sub $t 2>/dev/null`
103     if test -n "$result" ; then
104       canon_targets="$canon_targets $result"
105 #    else
106 #      # Permit "all", etc.  We don't support it yet though.
107 #      canon_targets="$canon_targets $t"
108     fi
109   done
110   GAS_UNIQ(canon_targets)
111 fi
112
113 emulations=""
114
115 for this_target in $target $canon_targets ; do
116
117 changequote(,)dnl
118     eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
119 changequote([,])dnl
120
121     # Check for architecture variants.
122     # Note: This table is alpha-sorted, please try to keep it that way.
123     arch=
124     endian=
125     case ${cpu} in
126       am33_2.0)         cpu_type=mn10300 endian=little ;;
127       alpha*)           cpu_type=alpha ;;
128       arm*be|xscale*be|strongarm*be | \
129       arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;;
130       arm*|xscale*|strongarm*)    cpu_type=arm endian=little ;;
131       c4x*)             cpu_type=tic4x ;;
132       crisv32)          cpu_type=cris arch=crisv32
133                         AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
134                                            [Default CRIS architecture.])
135                         ;;
136       crx*)             cpu_type=crx endian=little ;;
137       hppa*)            cpu_type=hppa ;;
138 changequote(,)dnl
139       i[3-7]86)         cpu_type=i386 arch=i386;;
140       ia64)             cpu_type=ia64 ;;
141       ip2k)             cpu_type=ip2k endian=big ;; 
142       iq2000)           cpu_type=iq2000 endian=big ;; 
143       m32r)             cpu_type=m32r target_cpu=m32r endian=big ;;
144       m32rle)           cpu_type=m32r target_cpu=m32r endian=little ;;
145       m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
146       m680[012346]0)    cpu_type=m68k ;;
147 changequote([,])dnl
148       m68008)           cpu_type=m68k ;;
149       m683??)           cpu_type=m68k ;;
150       m5200)            cpu_type=m68k ;;
151       m8*)              cpu_type=m88k ;;
152       maxq)             cpu_type=maxq ;;
153       mips*el)          cpu_type=mips endian=little ;;
154       mips*)            cpu_type=mips endian=big ;;
155       or32*)            cpu_type=or32 endian=big ;;
156       pjl*)             cpu_type=pj endian=little ;;
157       pj*)              cpu_type=pj endian=big ;;
158       powerpc*le*)      cpu_type=ppc endian=little ;;
159       powerpc*)         cpu_type=ppc endian=big ;;
160       rs6000*)          cpu_type=ppc ;;
161       s390x*)           cpu_type=s390 arch=s390x ;;
162       s390*)            cpu_type=s390 arch=s390 ;;
163       sh5*)             cpu_type=sh64 endian=big ;;
164       sh5le*)           cpu_type=sh64 endian=little ;;
165       sh64*)            cpu_type=sh64 endian=big ;;
166       sh64le*)          cpu_type=sh64 endian=little ;;
167       sh*le)            cpu_type=sh endian=little ;;
168       sh*)              cpu_type=sh endian=big ;;
169       sparclite*)       cpu_type=sparc arch=sparclite ;;
170       sparclet*)        cpu_type=sparc arch=sparclet ;;
171       sparc64*)         cpu_type=sparc arch=v9-64 ;;
172       sparc86x*)        cpu_type=sparc arch=sparc86x  ;;
173       sparc*)           cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
174       v850*)            cpu_type=v850 ;;
175       x86_64)           cpu_type=i386 arch=x86_64;;
176       xtensa*)          cpu_type=xtensa arch=xtensa ;;
177       *)                cpu_type=${cpu} ;;
178     esac
179
180     if test ${this_target} = $target ; then
181       target_cpu_type=${cpu_type}
182     elif test ${target_cpu_type} != ${cpu_type} ; then
183       continue
184     fi
185
186     generic_target=${cpu_type}-$vendor-$os
187     dev=no
188     bfd_gas=no
189     em=generic
190
191     # Assign object format.
192     # Note: This table is alpha-sorted, please try to keep it that way.
193     case ${generic_target} in
194       a29k-*-coff)                      fmt=coff ;;
195       a29k-amd-udi)                     fmt=coff ;;
196       a29k-amd-ebmon)                   fmt=coff ;;
197       a29k-nyu-sym1)                    fmt=coff ;;
198       a29k-*-rtems*)                    fmt=coff ;;
199       a29k-*-vxworks*)                  fmt=coff ;;
200
201       alpha*-*-*vms*)                   fmt=evax ;;
202       alpha*-*-osf*)                    fmt=ecoff ;;
203       alpha*-*-linuxecoff*)             fmt=ecoff ;;
204       alpha*-*-linux-gnu*)              fmt=elf em=linux ;;
205       alpha*-*-netbsd*)                 fmt=elf em=nbsd ;;
206       alpha*-*-openbsd*)                fmt=elf em=obsd ;;
207
208       arc-*-elf*)                       fmt=elf ;;
209
210       arm-*-aout)                       fmt=aout ;;
211       arm-*-coff | thumb-*-coff)        fmt=coff ;;
212       arm-*-rtems* | thumb-*-rtems*)    fmt=elf ;;
213       arm-*-elf | thumb-*-elf)          fmt=elf ;;
214       arm*-*-eabi*)                     fmt=elf ;;
215       arm*-*-symbianelf*)               fmt=elf em=symbian ;;
216       arm-*-kaos*)                      fmt=elf ;;
217       arm*-*-conix*)                    fmt=elf ;;
218       arm-*-linux*aout*)                fmt=aout em=linux ;;
219       arm*-*-linux-gnueabi*)            fmt=elf  em=armlinuxeabi ;;      
220       arm*-*-linux-gnu*)                fmt=elf  em=linux ;;
221       arm*-*-uclinux*)                  fmt=elf  em=linux ;;
222       arm-*-netbsdelf*)                 fmt=elf  em=nbsd ;;
223       arm-*-*n*bsd*)                    fmt=aout em=nbsd ;;
224       arm-**-nto*)                      fmt=elf ;;
225       arm-epoc-pe | thumb-epoc-pe)      fmt=coff em=epoc-pe ;;
226       arm-wince-pe | arm-*-wince)       fmt=coff em=wince-pe ;;
227       arm-*-pe | thumb-*-pe)            fmt=coff em=pe ;;
228       arm-*-riscix*)                    fmt=aout em=riscix ;;
229
230       avr-*-*)                          fmt=elf ;;
231
232       cris-*-linux-gnu* | crisv32-*-linux-gnu*)
233                                         fmt=multi bfd_gas=yes em=linux ;;
234       cris-*-* | crisv32-*-*)           fmt=multi bfd_gas=yes ;;
235
236       crx-*-elf*)                       fmt=elf ;;
237
238       d10v-*-*)                         fmt=elf ;;
239       d30v-*-*)                         fmt=elf ;;
240       dlx-*-*)                          fmt=elf ;;
241
242       fr30-*-*)                         fmt=elf ;;
243       frv-*-*linux*)                    fmt=elf em=linux;;
244       frv-*-*)                          fmt=elf ;;
245
246       hppa-*-linux*)    case ${cpu} in
247                             hppa*64*)   fmt=elf em=hppalinux64;;
248                             hppa*)      fmt=elf em=linux;;
249                         esac ;;
250       hppa-*-*elf*)                     fmt=elf em=hppa ;;
251       hppa-*-lites*)                    fmt=elf em=hppa ;;
252       hppa-*-netbsd*)                   fmt=elf em=nbsd ;;
253       hppa-*-openbsd*)                  fmt=elf em=hppa ;;
254       hppa-*-osf*)                      fmt=som em=hppa ;;
255       hppa-*-rtems*)                    fmt=elf em=hppa ;;
256       hppa-*-hpux11*)   case ${cpu} in
257                             hppa*64*)   fmt=elf em=hppa64 ;;
258                             hppa*)      fmt=som em=hppa ;;
259                         esac ;;
260       hppa-*-hpux*)                     fmt=som em=hppa ;;
261       hppa-*-mpeix*)                    fmt=som em=hppa ;;
262       hppa-*-bsd*)                      fmt=som em=hppa ;;
263       hppa-*-hiux*)                     fmt=som em=hppa ;;
264
265       h8300-*-rtems*)                   fmt=coff ;;
266       h8300-*-coff)                     fmt=coff ;;
267       h8300-*-elf)                      fmt=elf ;;
268       h8500-*-rtems*)                   fmt=coff ;;
269       h8500-*-coff)                     fmt=coff ;;
270
271       i370-*-elf* | i370-*-linux*)      fmt=elf ;;
272       i386-ibm-aix*)                    fmt=coff em=i386aix ;;
273       i386-sequent-bsd*)                fmt=aout em=dynix ;;
274       i386-*-beospe*)                   fmt=coff em=pe ;;
275       i386-*-beos*)                     fmt=elf ;;
276       i386-*-coff)                      fmt=coff ;;
277       i386-*-elf)                       fmt=elf ;;
278       i386-*-kaos*)                     fmt=elf ;;
279       i386-*-bsd*)                      fmt=aout em=386bsd ;;
280       i386-*-netbsd0.8)                 fmt=aout em=386bsd ;;
281       i386-*-netbsdpe*)                 fmt=coff em=pe ;;
282       i386-*-netbsd*-gnu* | \
283       i386-*-knetbsd*-gnu | \
284       i386-*-netbsdelf*)                fmt=elf em=nbsd ;;
285       i386-*-*n*bsd*)   case ${cpu} in
286                             x86_64)     fmt=elf em=nbsd ;;
287                             *)          fmt=aout em=nbsd ;;
288                         esac ;;
289       i386-*-linux*aout*)               fmt=aout em=linux ;;
290       i386-*-linux*oldld)               fmt=aout em=linux ;;
291       i386-*-linux*coff*)               fmt=coff em=linux ;;
292       i386-*-linux-gnu*)                fmt=elf em=linux ;;
293       x86_64-*-linux-gnu*)              fmt=elf em=linux ;;
294       i386-*-lynxos*)                   fmt=elf em=lynx bfd_gas=yes ;;
295 changequote(,)dnl
296       i386-*-sysv[45]*)                 fmt=elf ;;
297       i386-*-solaris*)                  fmt=elf ;;
298       i386-*-freebsdaout*)              fmt=aout em=386bsd ;;
299       i386-*-freebsd[12].*)             fmt=aout em=386bsd ;;
300       i386-*-freebsd[12])               fmt=aout em=386bsd ;;
301 changequote([,])dnl
302       i386-*-freebsd* | i386-*-kfreebsd*-gnu)
303                                         fmt=elf em=freebsd ;;
304       i386-*-sysv*)                     fmt=coff ;;
305       i386-*-sco3.2v5*coff)             fmt=coff ;;
306       i386-*-isc*)                      fmt=coff ;;
307       i386-*-sco3.2v5*)                 fmt=elf
308           if test ${this_target} = $target; then
309             AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.])
310           fi ;;
311       i386-*-sco3.2*)                   fmt=coff ;;
312       i386-*-vsta)                      fmt=aout ;;
313       i386-*-msdosdjgpp* \
314       | i386-*-go32* \
315       | i386-go32-rtems*)               fmt=coff em=go32
316             AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) ;;
317       i386-*-rtemself*)                 fmt=elf ;;
318       i386-*-rtemscoff*)                fmt=coff ;;
319       i386-*-rtems*)                    fmt=elf ;;
320       i386-*-gnu*)                      fmt=elf ;;
321       i386-*-mach*)                     fmt=aout em=mach ;;
322       i386-*-msdos*)                    fmt=aout ;;
323       i386-*-moss*)                     fmt=elf ;;
324       i386-*-pe)                        fmt=coff em=pe ;;
325       i386-*-cygwin*)                   fmt=coff em=pe ;;
326       i386-*-interix*)                  fmt=coff em=interix ;;
327       i386-*-mingw32*)                  fmt=coff em=pe ;;
328       i386-*-nto-qnx*)                  fmt=elf ;;
329       i386-*-*nt*)                      fmt=coff em=pe ;;
330       i386-*-chaos)                     fmt=elf ;;
331
332       i860-*-*)                         fmt=elf endian=little
333                 AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;;
334       i960-*-bout)                      fmt=bout ;;
335       i960-*-coff)                      fmt=coff em=ic960 ;;
336       i960-*-rtems*)                    fmt=coff em=ic960 ;;
337       i960-*-nindy*)                    fmt=bout ;;
338       i960-*-vxworks5.0)                fmt=bout ;;
339       i960-*-vxworks5.*)                fmt=coff em=ic960 ;;
340       i960-*-vxworks*)                  fmt=bout ;;
341       i960-*-elf*)                      fmt=elf ;;
342
343       ia64-*-elf*)                      fmt=elf ;;
344       ia64-*-aix*)                      fmt=elf em=ia64aix ;;
345       ia64-*-linux-gnu*)                fmt=elf em=linux ;;
346       ia64-*-hpux*)                     fmt=elf em=hpux ;;
347       ia64-*-netbsd*)                   fmt=elf em=nbsd ;;
348
349       ip2k-*-*)                         fmt=elf ;;
350
351       iq2000-*-elf)                     fmt=elf bfd_gas=yes ;;
352
353       m32r-*-elf*)                      fmt=elf ;;
354       m32r-*-linux*)                    fmt=elf em=linux;;
355
356       m68hc11-*-* | m6811-*-*)          fmt=elf ;;
357       m68hc12-*-* | m6812-*-*)          fmt=elf ;;
358
359       m68k-*-vxworks*)                  fmt=aout em=sun3 ;;
360       m68k-ericsson-ose)                fmt=aout em=sun3 ;;
361       m68k-*-sunos*)                    fmt=aout em=sun3 ;;
362       m68k-motorola-sysv*)              fmt=coff em=delta ;;
363       m68k-bull-sysv3*)                 fmt=coff em=dpx2 ;;
364       m68k-apollo-*)                    fmt=coff em=apollo ;;
365       m68k-*-elf*)                      fmt=elf ;;
366       m68k-*-sysv4*)                    fmt=elf em=svr4 ;;
367       m68k-*-sysv*)                     fmt=coff ;;
368       m68k-*-coff | m68k-*-rtemscoff*)  fmt=coff ;;
369       m68k-*-rtems*)                    fmt=elf ;;
370       m68k-*-hpux*)                     fmt=hp300 em=hp300 ;;
371       m68k-*-linux*aout*)               fmt=aout em=linux ;;
372       m68k-*-linux-gnu*)                fmt=elf em=linux ;;
373       m68k-*-uclinux*)                  fmt=elf ;;
374       m68k-*-gnu*)                      fmt=elf ;;
375       m68k-*-lynxos*)                   fmt=coff em=lynx ;;
376       m68k-*-netbsdelf*)                fmt=elf em=nbsd ;;
377       m68k-*-netbsd*)                   fmt=aout em=nbsd bfd_gas=yes ;;
378       m68k-*-openbsd*)                  fmt=aout em=nbsd bfd_gas=yes ;;
379       m68k-apple-aux*)                  fmt=coff em=aux ;;
380       m68k-*-psos*)                     fmt=elf em=psos;;
381
382       m88k-motorola-sysv3*)             fmt=coff em=delt88 ;;
383       m88k-*-coff*)                     fmt=coff ;;
384
385       maxq-*-coff)                      fmt=coff bfd_gas=yes ;;
386
387       mcore-*-elf)                      fmt=elf ;;
388       mcore-*-pe)                       fmt=coff em=pe bfd_gas=yes ;;
389
390       # don't change em like *-*-bsd does
391       mips-dec-openbsd*)                fmt=elf endian=little ;;
392       mips-sony-bsd*)                   fmt=ecoff ;;
393       mips-*-bsd*)
394             AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
395       mips-*-ultrix*)                   fmt=ecoff endian=little ;;
396       mips-*-osf*)                      fmt=ecoff endian=little ;;
397       mips-*-ecoff*)                    fmt=ecoff ;;
398       mips-*-pe*)                       fmt=coff endian=little em=pe ;;
399       mips-*-irix6*)                    fmt=elf em=irix ;;
400       mips-*-irix5*)                    fmt=elf em=irix ;;
401       mips-*-irix*)                     fmt=ecoff em=irix ;;
402       mips-*-lnews*)                    fmt=ecoff em=lnews ;;
403       mips-*-riscos*)                   fmt=ecoff ;;
404       mips*-*-linux*)                   fmt=elf em=tmips ;;
405       mips-*-sysv4*MP* | mips-*-gnu*)   fmt=elf em=tmips ;;
406       mips-*-sysv*)                     fmt=ecoff ;;
407       mips-*-elf* | mips-*-rtems*)      fmt=elf ;;
408       mips-*-netbsd*)                   fmt=elf ;;
409       mips-*-openbsd*)                  fmt=elf ;;
410
411       mmix-*-*)                         fmt=elf ;;
412       mn10200-*-*)                      fmt=elf ;;
413       # cpu_type for am33_2.0 is set to mn10300
414       mn10300-*-linux*)                 fmt=elf bfd_gas=yes em=linux ;;
415       mn10300-*-*)                      fmt=elf ;;
416
417       msp430-*-*)                       fmt=elf ;;
418
419       ns32k-pc532-mach*)                fmt=aout em=pc532mach ;;
420       ns32k-pc532-ux*)                  fmt=aout em=pc532mach ;;
421       ns32k-pc532-lites*)               fmt=aout em=nbsd532 ;;
422       ns32k-*-*n*bsd*)                  fmt=aout em=nbsd532 ;;
423
424       openrisc-*-*)                     fmt=elf ;;
425       or32-*-rtems*)                    fmt=elf ;;
426       or32-*-coff)                      fmt=coff ;;
427       or32-*-elf)                       fmt=elf ;;
428
429       pj*)                              fmt=elf ;;
430
431       ppc-*-pe | ppc-*-cygwin*)         fmt=coff em=pe ;;
432       ppc-*-winnt*)                     fmt=coff em=pe ;;
433 changequote(,)dnl
434       ppc-*-aix5.[01])                  fmt=coff em=aix5 ;;
435 changequote([,])dnl
436       ppc-*-aix5.*)                     fmt=coff em=aix5
437         AC_DEFINE(AIX_WEAK_SUPPORT, 1,
438                   [Define if using AIX 5.2 value for C_WEAKEXT.])
439       ;;
440       ppc-*-aix*)                       fmt=coff ;;
441       ppc-*-beos*)                      fmt=coff ;;
442       ppc-*-*n*bsd* | ppc-*-elf*)       fmt=elf ;;
443       ppc-*-eabi* | ppc-*-sysv4*)       fmt=elf ;;
444       ppc-*-linux-gnu*)                 fmt=elf em=linux
445             case "$endian" in
446                 big)  ;;
447                 *)    AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
448             esac ;;
449       ppc-*-solaris*)                   fmt=elf
450             if test ${this_target} = $target; then
451                 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
452                           [Define if default target is PowerPC Solaris.])
453             fi
454             if test x${endian} = xbig; then
455                 AC_MSG_ERROR(Solaris must be configured little endian)
456             fi ;;
457       ppc-*-rtems*)                     fmt=elf ;;
458       ppc-*-macos*)                     fmt=coff em=macos ;;
459       ppc-*-nto*)                       fmt=elf ;;
460       ppc-*-kaos*)                      fmt=elf ;;
461       ppc-*-lynxos*)                    fmt=elf em=lynx bfd_gas=yes ;;
462
463       s390x-*-linux-gnu*)               fmt=elf em=linux ;;
464       s390-*-linux-gnu*)                fmt=elf em=linux ;;
465       s390-*-tpf*)                      fmt=elf ;;
466
467       sh*-*-linux*)                     fmt=elf em=linux
468             case ${cpu} in
469                 sh*eb)  endian=big ;;
470                 *)      endian=little ;;
471             esac ;;
472       sh5*-*-netbsd*)                   fmt=elf em=nbsd ;;
473       sh64*-*-netbsd*)                  fmt=elf em=nbsd ;;
474       sh*-*-netbsdelf*)                 fmt=elf em=nbsd ;;
475       sh*-*-symbianelf*)                fmt=elf endian=little
476                 AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
477                 ;;
478       sh-*-elf*)                        fmt=elf ;;
479       sh-*-coff*)                       fmt=coff ;;
480       sh-*-nto*)                        fmt=elf ;;
481       sh-*-pe*)                         fmt=coff em=pe bfd_gas=yes endian=little ;;
482       sh-*-rtemscoff*)                  fmt=coff ;;
483       sh-*-rtems*)                      fmt=elf ;;
484       sh-*-kaos*)                       fmt=elf ;;
485       shle*-*-kaos*)                    fmt=elf ;;
486       sh64-*-elf*)                      fmt=elf ;;
487
488       sparc-*-rtemsaout*)               fmt=aout ;;
489       sparc-*-rtemself*)                fmt=elf ;;
490       sparc-*-rtems*)                   fmt=elf ;;
491       sparc-*-sunos4*)                  fmt=aout em=sun3 ;;
492       sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;;
493       sparc-*-coff)                     fmt=coff ;;
494       sparc-*-linux*aout*)              fmt=aout em=linux ;;
495       sparc-*-linux-gnu*)               fmt=elf em=linux ;;
496       sparc-*-lynxos*)                  fmt=coff em=lynx ;;
497       sparc-fujitsu-none)               fmt=aout ;;
498       sparc-*-elf)                      fmt=elf ;;
499       sparc-*-sysv4*)                   fmt=elf ;;
500       sparc-*-solaris*)                 fmt=elf ;;
501       sparc-*-netbsdelf*)               fmt=elf em=nbsd ;;
502       sparc-*-*n*bsd*)  case ${cpu} in
503                             sparc64)    fmt=elf em=nbsd ;;
504                             *)          fmt=aout em=nbsd ;;
505                         esac ;;
506       strongarm-*-coff)                 fmt=coff ;;
507       strongarm-*-elf)                  fmt=elf ;;
508       strongarm-*-kaos*)                fmt=elf ;;
509
510       tic30-*-*aout*)                   fmt=aout bfd_gas=yes ;;
511       tic30-*-*coff*)                   fmt=coff bfd_gas=yes ;;
512       tic4x-*-* | c4x-*-*)              fmt=coff bfd_gas=yes ;;
513       tic54x-*-* | c54x*-*-*)           fmt=coff bfd_gas=yes need_libm=yes;;
514       tic80-*-*)                        fmt=coff ;;
515
516       v850-*-*)                         fmt=elf ;;
517       v850e-*-*)                        fmt=elf ;;
518       v850ea-*-*)                       fmt=elf ;;
519
520       vax-*-netbsdelf*)                 fmt=elf em=nbsd ;;
521       vax-*-netbsd*)                    fmt=aout em=nbsd ;;
522       vax-*-bsd* | vax-*-ultrix*)       fmt=aout ;;
523       vax-*-linux-gnu*)                 fmt=elf em=linux bfd_gas=yes ;;
524       vax-*-vms)                        fmt=vms ;;
525
526       w65-*-*)                          fmt=coff ;;
527
528       xscale-*-coff)                    fmt=coff ;;
529       xscale-*-elf)                     fmt=elf ;;
530
531       xstormy16-*-*)                    fmt=elf ;;
532
533       xtensa-*-*)                       fmt=elf ;;
534
535       z8k-*-coff | z8k-*-sim)           fmt=coff ;;
536
537       *-*-aout | *-*-scout)             fmt=aout ;;
538       *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
539       *-*-nindy*)                       fmt=bout ;;
540       *-*-bsd*)                         fmt=aout em=sun3 ;;
541       *-*-generic)                      fmt=generic ;;
542       *-*-xray | *-*-hms)               fmt=coff ;;
543       *-*-sim)                          fmt=coff ;;
544       *-*-elf | *-*-sysv4* | *-*-solaris*) fmt=elf dev=yes ;;
545       *-*-aros*)                        fmt=elf em=linux bfd_gas=yes ;;
546       *-*-vxworks | *-*-windiss)        fmt=elf ;;
547       *-*-netware)                      fmt=elf em=netware ;;
548     esac
549
550     if test ${this_target} = $target ; then
551       endian_def=
552       if test x${endian} = xbig; then
553         endian_def=1
554       elif test x${endian} = xlittle; then
555         endian_def=0
556       fi
557       if test x${endian_def} != x; then
558         AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
559                            [Define as 1 if big endian.])
560       fi
561     fi
562
563     case ${cpu_type}-${fmt} in
564         alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \
565                 | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \
566                 | *-elf | *-ecoff | *-som)
567             bfd_gas=yes ;;
568     esac
569
570 # Other random stuff.
571
572     case ${cpu_type} in
573       mips)
574         # Set mips_cpu to the name of the default CPU.
575         case ${target_cpu} in
576           mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
577             mips_cpu=from-abi
578             ;;
579           mipsisa32 | mipsisa32el)
580             mips_cpu=mips32
581             ;;
582           mipsisa32r2 | mipsisa32r2el)
583             mips_cpu=mips32r2
584             ;;
585           mipsisa64 | mipsisa64el)
586             mips_cpu=mips64
587             ;;
588           mipsisa64r2 | mipsisa64r2el)
589             mips_cpu=mips64r2
590             ;;
591           mipstx39 | mipstx39el)
592             mips_cpu=r3900
593             ;;
594           mips64vr | mips64vrel)
595             mips_cpu=vr4100
596             ;;
597           mipsisa32r2* | mipsisa64r2*)
598 changequote(,)dnl
599             mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
600 changequote([,])dnl
601             ;;
602           mips64* | mipsisa64* | mipsisa32*)
603 changequote(,)dnl
604             mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
605 changequote([,])dnl
606             ;;
607           *)
608             AC_ERROR($target_cpu isn't a supported MIPS CPU name)
609             ;;
610         esac
611         # See whether it's appropriate to set E_MIPS_ABI_O32 for o32
612         # binaries.  It's a GNU extension that some OSes don't understand.
613         # The value only matters on ELF targets.
614         case ${target} in
615           *-*-irix*)
616             use_e_mips_abi_o32=0
617             ;;
618           *)
619             use_e_mips_abi_o32=1
620             ;;
621         esac
622         # Decide whether to generate 32-bit or 64-bit code by default.
623         # Used to resolve -march=from-abi when an embedded ABI is selected.
624         case ${target} in
625           mips64*-*-* | mipsisa64*-*-*)
626             mips_default_64bit=1
627             ;;
628           *)
629             mips_default_64bit=0
630             ;;
631         esac
632         # Decide which ABI to target by default.
633         case ${target} in
634           mips64*-linux* | mips-sgi-irix6*)
635             mips_default_abi=N32_ABI
636             ;;
637           mips*-linux*)
638             mips_default_abi=O32_ABI
639             ;;
640           *)
641             mips_default_abi=NO_ABI
642             ;;
643         esac
644         AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
645                            [Default CPU for MIPS targets. ])
646         AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
647                            [Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
648         AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
649                            [Generate 64-bit code by default on MIPS targets. ])
650         AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
651                            [Choose a default ABI for MIPS targets. ])
652         ;;
653     esac
654
655     # Do we need the opcodes library?
656     case ${cpu_type} in
657       vax | i386 | tic30)
658         ;;
659
660       *)
661         need_opcodes=yes
662
663         case "${enable_shared}" in
664         yes) shared_opcodes=true ;;
665         *opcodes*) shared_opcodes=true ;;
666         *) shared_opcodes=false ;;
667         esac
668         if test "${shared_opcodes}" = "true"; then
669           # A shared libopcodes must be linked against libbfd.
670           need_bfd=yes
671         fi
672         ;;
673     esac
674
675     # Any other special object files needed ?
676     case ${cpu_type} in
677       fr30 | ip2k | iq2000 | m32r | openrisc)
678         using_cgen=yes
679         ;;
680
681       frv)
682         using_cgen=yes
683         ;;
684       m68k)
685         case ${extra_objects} in
686         *m68k-parse.o*) ;;
687         *) extra_objects="$extra_objects m68k-parse.o" ;;
688         esac
689         ;;
690
691       mips)
692         echo ${extra_objects} | grep -s "itbl-parse.o" 
693         if test $? -ne 0 ; then
694           extra_objects="$extra_objects itbl-parse.o"
695         fi
696
697         echo ${extra_objects} | grep -s "itbl-lex.o" 
698         if test $? -ne 0 ; then
699           extra_objects="$extra_objects itbl-lex.o"
700         fi
701
702         echo ${extra_objects} | grep -s "itbl-ops.o" 
703         if test $? -ne 0 ; then
704           extra_objects="$extra_objects itbl-ops.o"
705         fi
706         ;;
707
708       i386 | s390 | sparc)
709         if test $this_target = $target ; then
710           AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
711         fi
712         ;;
713
714       xstormy16)
715         using_cgen=yes
716         ;;
717
718       xtensa)
719         echo ${extra_objects} | grep -s "xtensa-relax.o"
720         if test $? -ne 0 ; then
721           extra_objects="$extra_objects xtensa-relax.o"
722         fi
723         ;;
724
725       *)
726         ;;
727     esac
728
729     if test $using_cgen = yes ; then
730         case "x${extra_objects}" in
731         *cgen.o*) ;;
732         *) extra_objects="$extra_objects cgen.o" ;;
733         esac
734     fi
735
736 # See if we really can support this configuration with the emulation code.
737
738     if test $this_target = $target ; then
739       primary_bfd_gas=$bfd_gas
740       obj_format=$fmt
741       te_file=$em
742
743       if test $bfd_gas = no ; then
744         # Can't support other configurations this way.
745         break
746       fi
747     elif test $bfd_gas = no ; then
748       # Can't support this configuration.
749       break
750     fi
751
752 # From target name and format, produce a list of supported emulations.
753
754     case ${generic_target}-${fmt} in
755       mips-*-irix5*-*)  emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
756       mips*-*-linux*-*) case "$endian" in
757                         big)    emulation="mipsbelf mipslelf mipself" ;;
758                         *)      emulation="mipslelf mipsbelf mipself" ;;
759                         esac ;;
760       mips-*-lnews*-ecoff) ;;
761       mips-*-*-ecoff)   case "$endian" in
762                         big)    emulation="mipsbecoff mipslecoff mipsecoff" ;;
763                         *)      emulation="mipslecoff mipsbecoff mipsecoff" ;;
764                         esac ;;
765       mips-*-*-elf)     case "$endian" in
766                         big)    emulation="mipsbelf mipslelf mipself" ;;
767                         *)      emulation="mipslelf mipsbelf mipself" ;;
768                         esac ;;
769       mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
770       # i386-pc-pe-coff != i386-pc-coff.
771       i386-*-pe-coff)   ;;
772       # Uncommenting the next line will turn on support for i386 AOUT
773       # for the default linux configuration
774       # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
775       #
776       i386-*-aout)      emulation="i386aout" ;;
777       i386-*-coff)      emulation="i386coff" ;;
778       i386-*-elf)       emulation="i386elf" ;;
779
780       # Always all formats.  The first stated emulation becomes the default.
781       cris-*-*aout*)    emulation="crisaout criself" ;;
782       cris-*-*)         emulation="criself crisaout" ;;
783     esac
784
785     emulations="$emulations $emulation"
786
787 done
788
789 # Turn on all targets if possible
790 if test ${all_targets} = "yes"; then
791   case ${target_cpu_type} in
792   i386)
793     case ${obj_format} in
794     aout)
795       emulations="$emulations i386coff i386elf"
796       ;;
797     coff)
798       emulations="$emulations i386aout i386elf"
799     ;;
800     elf)
801       emulations="$emulations i386aout i386coff"
802       ;;
803     esac
804   ;;
805   esac
806 fi
807
808 # Assign floating point type.  Most processors with FP support
809 # IEEE FP.  On those that don't support FP at all, usually IEEE
810 # is emulated.
811 case ${target_cpu} in
812   vax | tahoe ) atof=${target_cpu} ;;
813   pdp11)        atof=vax ;;
814   *)            atof=ieee ;;
815 esac
816
817 case "${obj_format}" in
818   "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
819 esac
820
821 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
822 cgen_cpu_prefix=""
823 if test $using_cgen = yes ; then
824   case ${target_cpu} in
825     *) cgen_cpu_prefix=${target_cpu} ;;
826   esac
827   AC_SUBST(cgen_cpu_prefix)
828   AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
829 fi
830
831 dnl
832 dnl Make sure the desired support files exist.
833 dnl
834
835 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
836   AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
837 fi
838
839 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
840   AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
841 fi
842
843 case ${user_bfd_gas}-${primary_bfd_gas} in
844   yes-yes | no-no)
845     # We didn't override user's choice.
846     ;;
847   no-yes)
848     AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
849     ;;
850   no-preferred)
851     primary_bfd_gas=no
852     ;;
853   *-preferred)
854     primary_bfd_gas=yes
855     ;;
856   yes-*)
857     primary_bfd_gas=yes
858     ;;
859   -*)
860     # User specified nothing.
861     ;;
862 esac
863
864 # Some COFF configurations want these random other flags set.
865 case ${obj_format} in
866   coff)
867     case ${target_cpu_type} in
868       i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
869       m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
870       m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
871     esac
872     ;;
873 esac
874
875 # Getting this done right is going to be a bitch.  Each configuration specified
876 # with --enable-targets=... should be checked for environment, format, cpu, and
877 # bfd_gas setting.
878 #
879 # For each configuration, the necessary object file support code must be linked
880 # in.  This might be only one, it might be up to four.  The necessary emulation
881 # code needs to be provided, too.
882 #
883 # And then there's "--enable-targets=all"....
884 #
885 # For now, just always do it for MIPS ELF or ECOFF configurations.  Sigh.
886
887 formats="${obj_format}"
888 emfiles=""
889 EMULATIONS=""
890 GAS_UNIQ(emulations)
891 for em in . $emulations ; do
892   case $em in
893     .)  continue ;;
894     mipsbelf | mipslelf | mipself)
895         fmt=elf   file=mipself ;;
896     mipsbecoff | mipslecoff | mipsecoff)
897         fmt=ecoff file=mipsecoff ;;
898     *coff)
899         fmt=coff  file=$em ;;
900     *aout)
901         fmt=aout file=$em ;;
902     *elf)
903         fmt=elf file=$em ;;
904   esac
905   formats="$formats $fmt"
906   emfiles="$emfiles e-$file.o"
907   EMULATIONS="$EMULATIONS &$em,"
908 done
909 GAS_UNIQ(formats)
910 GAS_UNIQ(emfiles)
911 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
912   for fmt in $formats ; do
913     case $fmt in
914       aout)     AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
915       bout)     AC_DEFINE(OBJ_MAYBE_BOUT, 1,    [b.out support?])   ;;
916       coff)     AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
917       ecoff)    AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
918       elf)      AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
919       generic)  AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
920       hp300)    AC_DEFINE(OBJ_MAYBE_HP300, 1,   [HP300 support?])   ;;
921       ieee)     AC_DEFINE(OBJ_MAYBE_IEEE, 1,    [IEEE support?])    ;;
922       som)      AC_DEFINE(OBJ_MAYBE_SOM, 1,     [SOM support?])     ;;
923       vms)      AC_DEFINE(OBJ_MAYBE_VMS, 1,     [VMS support?])     ;;
924     esac
925     extra_objects="$extra_objects obj-$fmt.o"
926   done
927   obj_format=multi
928 fi
929 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
930   DEFAULT_EMULATION=`set . $emulations ; echo $2`
931   # e-mips* has more than one emulation per file, e-i386* has just one at the
932   # moment.  If only one emulation is specified, then don't define
933   # USE_EMULATIONS or include any of the e-files as they will only be bloat.
934   case "${obj_format}${emfiles}" in
935     multi* | *mips*)
936       extra_objects="$extra_objects $emfiles"
937       AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
938   esac
939 fi
940 AC_SUBST(extra_objects)
941 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
942 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
943                    [Default emulation.])
944
945 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
946   yes-*-coff)   need_bfd=yes ;;
947   no-*-coff)    need_bfd=yes
948                 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
949 esac
950
951 reject_dev_configs=yes
952
953 case ${reject_dev_configs}-${dev} in
954   yes-yes) # Oops.
955     AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
956     ;;
957 esac
958
959 AC_SUBST(target_cpu_type)
960 AC_SUBST(obj_format)
961 AC_SUBST(te_file)
962 AC_SUBST(install_tooldir)
963 AC_SUBST(atof)
964 dnl AC_SUBST(emulation)
965
966 case "${primary_bfd_gas}" in
967   yes)  AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
968         need_bfd=yes ;;
969 esac
970
971 # do we need the opcodes library?
972 case "${need_opcodes}" in
973 yes)
974   OPCODES_LIB=../opcodes/libopcodes.la
975   ;;
976 esac
977
978 case "${need_bfd}" in
979 yes)
980   BFDLIB=../bfd/libbfd.la
981   BFDVER_H=../bfd/bfdver.h
982   ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
983   ;;
984 esac
985
986 AC_SUBST(BFDLIB)
987 AC_SUBST(OPCODES_LIB)
988
989 AC_SUBST(BFDVER_H)
990 AC_SUBST(ALL_OBJ_DEPS)
991
992 AC_DEFINE_UNQUOTED(TARGET_ALIAS,        "${target_alias}", [Target alias.])
993 AC_DEFINE_UNQUOTED(TARGET_CANONICAL,    "${target}",       [Canonical target.])
994 AC_DEFINE_UNQUOTED(TARGET_CPU,          "${target_cpu}",   [Target CPU.])
995 AC_DEFINE_UNQUOTED(TARGET_VENDOR,       "${target_vendor}", [Target vendor.])
996 AC_DEFINE_UNQUOTED(TARGET_OS,           "${target_os}",    [Target OS.])
997
998 AC_PROG_CC
999
1000 AC_PROG_YACC
1001 AM_PROG_LEX
1002
1003 ALL_LINGUAS="fr tr es"
1004 CY_GNU_GETTEXT
1005
1006 AM_MAINTAINER_MODE
1007 AC_EXEEXT
1008
1009 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
1010
1011 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
1012 # people who are not cross-compiling but are compiling cross-assemblers.
1013 AC_MSG_CHECKING(whether compiling a cross-assembler)
1014 if test "${host}" = "${target}"; then
1015   cross_gas=no
1016 else
1017   cross_gas=yes
1018   AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
1019 fi
1020 AC_MSG_RESULT($cross_gas)
1021
1022 dnl ansidecl.h will deal with const
1023 dnl AC_CONST
1024 AC_FUNC_ALLOCA
1025 AC_C_INLINE
1026
1027 # VMS doesn't have unlink.
1028 AC_CHECK_FUNCS(unlink remove, break)
1029
1030 # Some systems don't have sbrk().
1031 AC_CHECK_FUNCS(sbrk)
1032
1033 # do we need the math library?
1034 case "${need_libm}" in
1035 yes) 
1036   AC_CHECK_LIBM
1037   AC_SUBST(LIBM)
1038   ;;
1039 esac
1040
1041 # Some non-ANSI preprocessors botch requoting inside strings.  That's bad
1042 # enough, but on some of those systems, the assert macro relies on requoting
1043 # working properly!
1044 GAS_WORKING_ASSERT
1045
1046 # On some systems, the system header files may not declare malloc, realloc,
1047 # and free.  There are places where gas needs these functions to have been
1048 # declared -- such as when taking their addresses.
1049 gas_test_headers="
1050 #ifdef HAVE_MEMORY_H
1051 #include <memory.h>
1052 #endif
1053 #ifdef HAVE_STRING_H
1054 #include <string.h>
1055 #else
1056 #ifdef HAVE_STRINGS_H
1057 #include <strings.h>
1058 #endif
1059 #endif
1060 #ifdef HAVE_STDLIB_H
1061 #include <stdlib.h>
1062 #endif
1063 #ifdef HAVE_UNISTD_H
1064 #include <unistd.h>
1065 #endif
1066 "
1067 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
1068 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
1069 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
1070 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
1071 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
1072
1073 # Does errno.h declare errno, or do we have to add a separate declaration
1074 # for it?
1075 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
1076 #ifdef HAVE_ERRNO_H
1077 #include <errno.h>
1078 #endif
1079 ])
1080
1081 dnl This must come last.
1082
1083 dnl We used to make symlinks to files in the source directory, but now
1084 dnl we just use the right name for .c files, and create .h files in
1085 dnl the build directory which include the right .h file.  Make sure
1086 dnl the old symlinks don't exist, so that a reconfigure in an existing
1087 dnl directory behaves reasonably.
1088
1089 AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
1090 AC_CONFIG_COMMANDS([default],
1091 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
1092  echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
1093  echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
1094  echo '#include "te-'"${te_file}"'.h"' > targ-env.h
1095  echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
1096  if test "x$cgen_cpu_prefix" != x ; then
1097    echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
1098  fi
1099
1100  sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
1101 [target_cpu_type=${target_cpu_type}
1102  cgen_cpu_prefix=${cgen_cpu_prefix}
1103  obj_format=${obj_format}
1104  te_file=${te_file}])
1105
1106 AC_OUTPUT