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