* Makefile.am (TARG_ENV_HFILES): Add te-armlinuxeabi.h.
[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
466       sh*-*-linux*)                     fmt=elf em=linux
467             case ${cpu} in
468                 sh*eb)  endian=big ;;
469                 *)      endian=little ;;
470             esac ;;
471       sh5*-*-netbsd*)                   fmt=elf em=nbsd ;;
472       sh64*-*-netbsd*)                  fmt=elf em=nbsd ;;
473       sh*-*-netbsdelf*)                 fmt=elf em=nbsd ;;
474       sh*-*-symbianelf*)                fmt=elf endian=little
475                 AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
476                 ;;
477       sh-*-elf*)                        fmt=elf ;;
478       sh-*-coff*)                       fmt=coff ;;
479       sh-*-nto*)                        fmt=elf ;;
480       sh-*-pe*)                         fmt=coff em=pe bfd_gas=yes endian=little ;;
481       sh-*-rtemscoff*)                  fmt=coff ;;
482       sh-*-rtems*)                      fmt=elf ;;
483       sh-*-kaos*)                       fmt=elf ;;
484       shle*-*-kaos*)                    fmt=elf ;;
485       sh64-*-elf*)                      fmt=elf ;;
486
487       sparc-*-rtemsaout*)               fmt=aout ;;
488       sparc-*-rtemself*)                fmt=elf ;;
489       sparc-*-rtems*)                   fmt=elf ;;
490       sparc-*-sunos4*)                  fmt=aout em=sun3 ;;
491       sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;;
492       sparc-*-coff)                     fmt=coff ;;
493       sparc-*-linux*aout*)              fmt=aout em=linux ;;
494       sparc-*-linux-gnu*)               fmt=elf em=linux ;;
495       sparc-*-lynxos*)                  fmt=coff em=lynx ;;
496       sparc-fujitsu-none)               fmt=aout ;;
497       sparc-*-elf)                      fmt=elf ;;
498       sparc-*-sysv4*)                   fmt=elf ;;
499       sparc-*-solaris*)                 fmt=elf ;;
500       sparc-*-netbsdelf*)               fmt=elf em=nbsd ;;
501       sparc-*-*n*bsd*)  case ${cpu} in
502                             sparc64)    fmt=elf em=nbsd ;;
503                             *)          fmt=aout em=nbsd ;;
504                         esac ;;
505       strongarm-*-coff)                 fmt=coff ;;
506       strongarm-*-elf)                  fmt=elf ;;
507       strongarm-*-kaos*)                fmt=elf ;;
508
509       tic30-*-*aout*)                   fmt=aout bfd_gas=yes ;;
510       tic30-*-*coff*)                   fmt=coff bfd_gas=yes ;;
511       tic4x-*-* | c4x-*-*)              fmt=coff bfd_gas=yes ;;
512       tic54x-*-* | c54x*-*-*)           fmt=coff bfd_gas=yes need_libm=yes;;
513       tic80-*-*)                        fmt=coff ;;
514
515       v850-*-*)                         fmt=elf ;;
516       v850e-*-*)                        fmt=elf ;;
517       v850ea-*-*)                       fmt=elf ;;
518
519       vax-*-netbsdelf*)                 fmt=elf em=nbsd ;;
520       vax-*-netbsd*)                    fmt=aout em=nbsd ;;
521       vax-*-bsd* | vax-*-ultrix*)       fmt=aout ;;
522       vax-*-linux-gnu*)                 fmt=elf em=linux bfd_gas=yes ;;
523       vax-*-vms)                        fmt=vms ;;
524
525       w65-*-*)                          fmt=coff ;;
526
527       xscale-*-coff)                    fmt=coff ;;
528       xscale-*-elf)                     fmt=elf ;;
529
530       xstormy16-*-*)                    fmt=elf ;;
531
532       xtensa-*-*)                       fmt=elf ;;
533
534       z8k-*-coff | z8k-*-sim)           fmt=coff ;;
535
536       *-*-aout | *-*-scout)             fmt=aout ;;
537       *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
538       *-*-nindy*)                       fmt=bout ;;
539       *-*-bsd*)                         fmt=aout em=sun3 ;;
540       *-*-generic)                      fmt=generic ;;
541       *-*-xray | *-*-hms)               fmt=coff ;;
542       *-*-sim)                          fmt=coff ;;
543       *-*-elf | *-*-sysv4* | *-*-solaris*) fmt=elf dev=yes ;;
544       *-*-aros*)                        fmt=elf em=linux bfd_gas=yes ;;
545       *-*-vxworks | *-*-windiss)        fmt=elf ;;
546       *-*-netware)                      fmt=elf em=netware ;;
547     esac
548
549     if test ${this_target} = $target ; then
550       endian_def=
551       if test x${endian} = xbig; then
552         endian_def=1
553       elif test x${endian} = xlittle; then
554         endian_def=0
555       fi
556       if test x${endian_def} != x; then
557         AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
558                            [Define as 1 if big endian.])
559       fi
560     fi
561
562     case ${cpu_type}-${fmt} in
563         alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \
564                 | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \
565                 | *-elf | *-ecoff | *-som)
566             bfd_gas=yes ;;
567     esac
568
569 # Other random stuff.
570
571     case ${cpu_type} in
572       mips)
573         # Set mips_cpu to the name of the default CPU.
574         case ${target_cpu} in
575           mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
576             mips_cpu=from-abi
577             ;;
578           mipsisa32 | mipsisa32el)
579             mips_cpu=mips32
580             ;;
581           mipsisa32r2 | mipsisa32r2el)
582             mips_cpu=mips32r2
583             ;;
584           mipsisa64 | mipsisa64el)
585             mips_cpu=mips64
586             ;;
587           mipsisa64r2 | mipsisa64r2el)
588             mips_cpu=mips64r2
589             ;;
590           mipstx39 | mipstx39el)
591             mips_cpu=r3900
592             ;;
593           mips64vr | mips64vrel)
594             mips_cpu=vr4100
595             ;;
596           mipsisa32r2* | mipsisa64r2*)
597 changequote(,)dnl
598             mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
599 changequote([,])dnl
600             ;;
601           mips64* | mipsisa64* | mipsisa32*)
602 changequote(,)dnl
603             mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
604 changequote([,])dnl
605             ;;
606           *)
607             AC_ERROR($target_cpu isn't a supported MIPS CPU name)
608             ;;
609         esac
610         # See whether it's appropriate to set E_MIPS_ABI_O32 for o32
611         # binaries.  It's a GNU extension that some OSes don't understand.
612         # The value only matters on ELF targets.
613         case ${target} in
614           *-*-irix*)
615             use_e_mips_abi_o32=0
616             ;;
617           *)
618             use_e_mips_abi_o32=1
619             ;;
620         esac
621         # Decide whether to generate 32-bit or 64-bit code by default.
622         # Used to resolve -march=from-abi when an embedded ABI is selected.
623         case ${target} in
624           mips64*-*-* | mipsisa64*-*-*)
625             mips_default_64bit=1
626             ;;
627           *)
628             mips_default_64bit=0
629             ;;
630         esac
631         # Decide which ABI to target by default.
632         case ${target} in
633           mips64*-linux* | mips-sgi-irix6*)
634             mips_default_abi=N32_ABI
635             ;;
636           mips*-linux*)
637             mips_default_abi=O32_ABI
638             ;;
639           *)
640             mips_default_abi=NO_ABI
641             ;;
642         esac
643         AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
644                            [Default CPU for MIPS targets. ])
645         AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
646                            [Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
647         AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
648                            [Generate 64-bit code by default on MIPS targets. ])
649         AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
650                            [Choose a default ABI for MIPS targets. ])
651         ;;
652     esac
653
654     # Do we need the opcodes library?
655     case ${cpu_type} in
656       vax | i386 | tic30)
657         ;;
658
659       *)
660         need_opcodes=yes
661
662         case "${enable_shared}" in
663         yes) shared_opcodes=true ;;
664         *opcodes*) shared_opcodes=true ;;
665         *) shared_opcodes=false ;;
666         esac
667         if test "${shared_opcodes}" = "true"; then
668           # A shared libopcodes must be linked against libbfd.
669           need_bfd=yes
670         fi
671         ;;
672     esac
673
674     # Any other special object files needed ?
675     case ${cpu_type} in
676       fr30 | ip2k | iq2000 | m32r | openrisc)
677         using_cgen=yes
678         ;;
679
680       frv)
681         using_cgen=yes
682         ;;
683       m68k)
684         case ${extra_objects} in
685         *m68k-parse.o*) ;;
686         *) extra_objects="$extra_objects m68k-parse.o" ;;
687         esac
688         ;;
689
690       mips)
691         echo ${extra_objects} | grep -s "itbl-parse.o" 
692         if test $? -ne 0 ; then
693           extra_objects="$extra_objects itbl-parse.o"
694         fi
695
696         echo ${extra_objects} | grep -s "itbl-lex.o" 
697         if test $? -ne 0 ; then
698           extra_objects="$extra_objects itbl-lex.o"
699         fi
700
701         echo ${extra_objects} | grep -s "itbl-ops.o" 
702         if test $? -ne 0 ; then
703           extra_objects="$extra_objects itbl-ops.o"
704         fi
705         ;;
706
707       i386 | s390 | sparc)
708         if test $this_target = $target ; then
709           AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
710         fi
711         ;;
712
713       xstormy16)
714         using_cgen=yes
715         ;;
716
717       xtensa)
718         echo ${extra_objects} | grep -s "xtensa-relax.o"
719         if test $? -ne 0 ; then
720           extra_objects="$extra_objects xtensa-relax.o"
721         fi
722         ;;
723
724       *)
725         ;;
726     esac
727
728     if test $using_cgen = yes ; then
729         case "x${extra_objects}" in
730         *cgen.o*) ;;
731         *) extra_objects="$extra_objects cgen.o" ;;
732         esac
733     fi
734
735 # See if we really can support this configuration with the emulation code.
736
737     if test $this_target = $target ; then
738       primary_bfd_gas=$bfd_gas
739       obj_format=$fmt
740       te_file=$em
741
742       if test $bfd_gas = no ; then
743         # Can't support other configurations this way.
744         break
745       fi
746     elif test $bfd_gas = no ; then
747       # Can't support this configuration.
748       break
749     fi
750
751 # From target name and format, produce a list of supported emulations.
752
753     case ${generic_target}-${fmt} in
754       mips-*-irix5*-*)  emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
755       mips*-*-linux*-*) case "$endian" in
756                         big)    emulation="mipsbelf mipslelf mipself" ;;
757                         *)      emulation="mipslelf mipsbelf mipself" ;;
758                         esac ;;
759       mips-*-lnews*-ecoff) ;;
760       mips-*-*-ecoff)   case "$endian" in
761                         big)    emulation="mipsbecoff mipslecoff mipsecoff" ;;
762                         *)      emulation="mipslecoff mipsbecoff mipsecoff" ;;
763                         esac ;;
764       mips-*-*-elf)     case "$endian" in
765                         big)    emulation="mipsbelf mipslelf mipself" ;;
766                         *)      emulation="mipslelf mipsbelf mipself" ;;
767                         esac ;;
768       mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
769       # i386-pc-pe-coff != i386-pc-coff.
770       i386-*-pe-coff)   ;;
771       # Uncommenting the next line will turn on support for i386 AOUT
772       # for the default linux configuration
773       # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
774       #
775       i386-*-aout)      emulation="i386aout" ;;
776       i386-*-coff)      emulation="i386coff" ;;
777       i386-*-elf)       emulation="i386elf" ;;
778
779       # Always all formats.  The first stated emulation becomes the default.
780       cris-*-*aout*)    emulation="crisaout criself" ;;
781       cris-*-*)         emulation="criself crisaout" ;;
782     esac
783
784     emulations="$emulations $emulation"
785
786 done
787
788 # Turn on all targets if possible
789 if test ${all_targets} = "yes"; then
790   case ${target_cpu_type} in
791   i386)
792     case ${obj_format} in
793     aout)
794       emulations="$emulations i386coff i386elf"
795       ;;
796     coff)
797       emulations="$emulations i386aout i386elf"
798     ;;
799     elf)
800       emulations="$emulations i386aout i386coff"
801       ;;
802     esac
803   ;;
804   esac
805 fi
806
807 # Assign floating point type.  Most processors with FP support
808 # IEEE FP.  On those that don't support FP at all, usually IEEE
809 # is emulated.
810 case ${target_cpu} in
811   vax | tahoe ) atof=${target_cpu} ;;
812   pdp11)        atof=vax ;;
813   *)            atof=ieee ;;
814 esac
815
816 case "${obj_format}" in
817   "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
818 esac
819
820 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
821 cgen_cpu_prefix=""
822 if test $using_cgen = yes ; then
823   case ${target_cpu} in
824     *) cgen_cpu_prefix=${target_cpu} ;;
825   esac
826   AC_SUBST(cgen_cpu_prefix)
827   AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
828 fi
829
830 dnl
831 dnl Make sure the desired support files exist.
832 dnl
833
834 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
835   AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
836 fi
837
838 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
839   AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
840 fi
841
842 case ${user_bfd_gas}-${primary_bfd_gas} in
843   yes-yes | no-no)
844     # We didn't override user's choice.
845     ;;
846   no-yes)
847     AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
848     ;;
849   no-preferred)
850     primary_bfd_gas=no
851     ;;
852   *-preferred)
853     primary_bfd_gas=yes
854     ;;
855   yes-*)
856     primary_bfd_gas=yes
857     ;;
858   -*)
859     # User specified nothing.
860     ;;
861 esac
862
863 # Some COFF configurations want these random other flags set.
864 case ${obj_format} in
865   coff)
866     case ${target_cpu_type} in
867       i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
868       m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
869       m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
870     esac
871     ;;
872 esac
873
874 # Getting this done right is going to be a bitch.  Each configuration specified
875 # with --enable-targets=... should be checked for environment, format, cpu, and
876 # bfd_gas setting.
877 #
878 # For each configuration, the necessary object file support code must be linked
879 # in.  This might be only one, it might be up to four.  The necessary emulation
880 # code needs to be provided, too.
881 #
882 # And then there's "--enable-targets=all"....
883 #
884 # For now, just always do it for MIPS ELF or ECOFF configurations.  Sigh.
885
886 formats="${obj_format}"
887 emfiles=""
888 EMULATIONS=""
889 GAS_UNIQ(emulations)
890 for em in . $emulations ; do
891   case $em in
892     .)  continue ;;
893     mipsbelf | mipslelf | mipself)
894         fmt=elf   file=mipself ;;
895     mipsbecoff | mipslecoff | mipsecoff)
896         fmt=ecoff file=mipsecoff ;;
897     *coff)
898         fmt=coff  file=$em ;;
899     *aout)
900         fmt=aout file=$em ;;
901     *elf)
902         fmt=elf file=$em ;;
903   esac
904   formats="$formats $fmt"
905   emfiles="$emfiles e-$file.o"
906   EMULATIONS="$EMULATIONS &$em,"
907 done
908 GAS_UNIQ(formats)
909 GAS_UNIQ(emfiles)
910 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
911   for fmt in $formats ; do
912     case $fmt in
913       aout)     AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
914       bout)     AC_DEFINE(OBJ_MAYBE_BOUT, 1,    [b.out support?])   ;;
915       coff)     AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
916       ecoff)    AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
917       elf)      AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
918       generic)  AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
919       hp300)    AC_DEFINE(OBJ_MAYBE_HP300, 1,   [HP300 support?])   ;;
920       ieee)     AC_DEFINE(OBJ_MAYBE_IEEE, 1,    [IEEE support?])    ;;
921       som)      AC_DEFINE(OBJ_MAYBE_SOM, 1,     [SOM support?])     ;;
922       vms)      AC_DEFINE(OBJ_MAYBE_VMS, 1,     [VMS support?])     ;;
923     esac
924     extra_objects="$extra_objects obj-$fmt.o"
925   done
926   obj_format=multi
927 fi
928 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
929   DEFAULT_EMULATION=`set . $emulations ; echo $2`
930   # e-mips* has more than one emulation per file, e-i386* has just one at the
931   # moment.  If only one emulation is specified, then don't define
932   # USE_EMULATIONS or include any of the e-files as they will only be bloat.
933   case "${obj_format}${emfiles}" in
934     multi* | *mips*)
935       extra_objects="$extra_objects $emfiles"
936       AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
937   esac
938 fi
939 AC_SUBST(extra_objects)
940 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
941 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
942                    [Default emulation.])
943
944 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
945   yes-*-coff)   need_bfd=yes ;;
946   no-*-coff)    need_bfd=yes
947                 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
948 esac
949
950 reject_dev_configs=yes
951
952 case ${reject_dev_configs}-${dev} in
953   yes-yes) # Oops.
954     AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
955     ;;
956 esac
957
958 AC_SUBST(target_cpu_type)
959 AC_SUBST(obj_format)
960 AC_SUBST(te_file)
961 AC_SUBST(install_tooldir)
962 AC_SUBST(atof)
963 dnl AC_SUBST(emulation)
964
965 case "${primary_bfd_gas}" in
966   yes)  AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
967         need_bfd=yes ;;
968 esac
969
970 # do we need the opcodes library?
971 case "${need_opcodes}" in
972 yes)
973   OPCODES_LIB=../opcodes/libopcodes.la
974   ;;
975 esac
976
977 case "${need_bfd}" in
978 yes)
979   BFDLIB=../bfd/libbfd.la
980   BFDVER_H=../bfd/bfdver.h
981   ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
982   ;;
983 esac
984
985 AC_SUBST(BFDLIB)
986 AC_SUBST(OPCODES_LIB)
987
988 AC_SUBST(BFDVER_H)
989 AC_SUBST(ALL_OBJ_DEPS)
990
991 AC_DEFINE_UNQUOTED(TARGET_ALIAS,        "${target_alias}", [Target alias.])
992 AC_DEFINE_UNQUOTED(TARGET_CANONICAL,    "${target}",       [Canonical target.])
993 AC_DEFINE_UNQUOTED(TARGET_CPU,          "${target_cpu}",   [Target CPU.])
994 AC_DEFINE_UNQUOTED(TARGET_VENDOR,       "${target_vendor}", [Target vendor.])
995 AC_DEFINE_UNQUOTED(TARGET_OS,           "${target_os}",    [Target OS.])
996
997 AC_PROG_CC
998
999 AC_PROG_YACC
1000 AM_PROG_LEX
1001
1002 ALL_LINGUAS="fr tr es"
1003 CY_GNU_GETTEXT
1004
1005 AM_MAINTAINER_MODE
1006 AC_EXEEXT
1007
1008 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
1009
1010 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
1011 # people who are not cross-compiling but are compiling cross-assemblers.
1012 AC_MSG_CHECKING(whether compiling a cross-assembler)
1013 if test "${host}" = "${target}"; then
1014   cross_gas=no
1015 else
1016   cross_gas=yes
1017   AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
1018 fi
1019 AC_MSG_RESULT($cross_gas)
1020
1021 dnl ansidecl.h will deal with const
1022 dnl AC_CONST
1023 AC_FUNC_ALLOCA
1024 AC_C_INLINE
1025
1026 # VMS doesn't have unlink.
1027 AC_CHECK_FUNCS(unlink remove, break)
1028
1029 # Some systems don't have sbrk().
1030 AC_CHECK_FUNCS(sbrk)
1031
1032 # do we need the math library?
1033 case "${need_libm}" in
1034 yes) 
1035   AC_CHECK_LIBM
1036   AC_SUBST(LIBM)
1037   ;;
1038 esac
1039
1040 # Some non-ANSI preprocessors botch requoting inside strings.  That's bad
1041 # enough, but on some of those systems, the assert macro relies on requoting
1042 # working properly!
1043 GAS_WORKING_ASSERT
1044
1045 # On some systems, the system header files may not declare malloc, realloc,
1046 # and free.  There are places where gas needs these functions to have been
1047 # declared -- such as when taking their addresses.
1048 gas_test_headers="
1049 #ifdef HAVE_MEMORY_H
1050 #include <memory.h>
1051 #endif
1052 #ifdef HAVE_STRING_H
1053 #include <string.h>
1054 #else
1055 #ifdef HAVE_STRINGS_H
1056 #include <strings.h>
1057 #endif
1058 #endif
1059 #ifdef HAVE_STDLIB_H
1060 #include <stdlib.h>
1061 #endif
1062 #ifdef HAVE_UNISTD_H
1063 #include <unistd.h>
1064 #endif
1065 "
1066 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
1067 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
1068 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
1069 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
1070 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
1071
1072 # Does errno.h declare errno, or do we have to add a separate declaration
1073 # for it?
1074 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
1075 #ifdef HAVE_ERRNO_H
1076 #include <errno.h>
1077 #endif
1078 ])
1079
1080 dnl This must come last.
1081
1082 dnl We used to make symlinks to files in the source directory, but now
1083 dnl we just use the right name for .c files, and create .h files in
1084 dnl the build directory which include the right .h file.  Make sure
1085 dnl the old symlinks don't exist, so that a reconfigure in an existing
1086 dnl directory behaves reasonably.
1087
1088 AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
1089 AC_CONFIG_COMMANDS([default],
1090 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
1091  echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
1092  echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
1093  echo '#include "te-'"${te_file}"'.h"' > targ-env.h
1094  echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
1095  if test "x$cgen_cpu_prefix" != x ; then
1096    echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
1097  fi
1098
1099  sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
1100 [target_cpu_type=${target_cpu_type}
1101  cgen_cpu_prefix=${cgen_cpu_prefix}
1102  obj_format=${obj_format}
1103  te_file=${te_file}])
1104
1105 AC_OUTPUT