2007-03-07 H.J. Lu <hongjiu.lu@intel.com>
[binutils.git] / gas / configure.in
blobbcfb863842f582d5fab4916e17533f6021a164fb
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 AC_ARG_ENABLE(targets,
26 [  --enable-targets        alternative target configurations besides the primary],
27 [case "${enableval}" in
28   yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
29             ;;
30   no)       enable_targets= ;;
31   *)        enable_targets=$enableval ;;
32 esac])dnl
33 AC_ARG_ENABLE(commonbfdlib,
34 [  --enable-commonbfdlib   build shared BFD/opcodes/libiberty library],
35 [case "${enableval}" in
36   yes) commonbfdlib=true ;;
37   no)  commonbfdlib=false ;;
38   *)   AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
39 esac])dnl
41 using_cgen=no
43 # The location to which bugs should be reported.
44 AC_ARG_WITH(bugurl,
45   AS_HELP_STRING([--with-bugurl=URL],
46                  [Direct users to URL to report a bug]),
47   [case "$withval" in
48     yes) AC_MSG_ERROR([bug URL not specified]) ;;
49     no)  REPORT_BUGS_TO="" ;;
50     *)   REPORT_BUGS_TO="<URL:$withval>" ;;
51    esac],
52    REPORT_BUGS_TO="<URL:http://www.sourceware.org/bugzilla/>"
54 AC_SUBST(REPORT_BUGS_TO)
56 AM_BINUTILS_WARNINGS
58 # Generate a header file
59 AM_CONFIG_HEADER(config.h:config.in)
61 # If we are on a DOS filesystem, we must use gdb.ini rather than
62 # .gdbinit.
63 case "${host}" in
64   *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*)
65     GDBINIT="gdb.ini"
66     AC_CONFIG_FILES(gdb.ini:gdbinit.in)
67     ;;
68   *)
69     GDBINIT=".gdbinit"
70     AC_CONFIG_FILES(.gdbinit:gdbinit.in)
71     ;;
72 esac
73 AC_SUBST(GDBINIT)
75 #We need this for the host.  BOUT header is in host order.
76 AC_C_BIGENDIAN
78 te_file=generic
80 # Makefile target for installing gas in $(tooldir)/bin.
81 install_tooldir=install-exec-tooldir
83 canon_targets=""
84 all_targets=no
85 if test -n "$enable_targets" ; then
86   for t in `echo $enable_targets | sed 's/,/ /g'`; do
87     if test $t = "all"; then
88       all_targets=yes
89       continue
90     fi
91     result=`$ac_config_sub $t 2>/dev/null`
92     if test -n "$result" ; then
93       canon_targets="$canon_targets $result"
94 #    else
95 #      # Permit "all", etc.  We don't support it yet though.
96 #      canon_targets="$canon_targets $t"
97     fi
98   done
99   GAS_UNIQ(canon_targets)
102 emulations=""
104 for this_target in $target $canon_targets ; do
106     targ=${this_target}
107     . ${srcdir}/configure.tgt
109     case ${target_cpu} in
110       crisv32)
111         AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
112                            [Default CRIS architecture.])
113         ;;
114     esac
116     if test ${this_target} = $target ; then
117       target_cpu_type=${cpu_type}
118     elif test ${target_cpu_type} != ${cpu_type} ; then
119       continue
120     fi
122     generic_target=${cpu_type}-${target_vendor}-${target_os}
123     case ${generic_target} in
124       i386-*-sco3.2v5*)
125         if test ${this_target} = $target; then
126           AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.])
127         fi
128         ;;
130       i386-*-msdosdjgpp* \
131       | i386-*-go32* \
132       | i386-go32-rtems*)
133         AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
134         ;;
136       i860-*-*)
137         AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
138         ;;
140       mips-sony-bsd*)
141         ;;
142       mips-*-bsd*)
143         AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.)
144         ;;
146       ppc-*-aix5.*)
147         AC_DEFINE(AIX_WEAK_SUPPORT, 1,
148                   [Define if using AIX 5.2 value for C_WEAKEXT.])
149         ;;
150       ppc-*-linux-*)
151         case "$endian" in
152           big)  ;;
153           *)    AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
154         esac
155         ;;
156       ppc-*-solaris*)
157         if test ${this_target} = $target; then
158           AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
159                     [Define if default target is PowerPC Solaris.])
160         fi
161         if test x${endian} = xbig; then
162           AC_MSG_ERROR(Solaris must be configured little endian)
163         fi
164         ;;
166       sh*-*-symbianelf*)
167         AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
168         ;;
169     esac
171     if test ${this_target} = $target ; then
172       endian_def=
173       if test x${endian} = xbig; then
174         endian_def=1
175       elif test x${endian} = xlittle; then
176         endian_def=0
177       fi
178       if test x${endian_def} != x; then
179         AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
180                            [Define as 1 if big endian.])
181       fi
182     fi
184 # Other random stuff.
186     case ${cpu_type} in
187       mips)
188         # Set mips_cpu to the name of the default CPU.
189         case ${target_cpu} in
190           mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
191             mips_cpu=from-abi
192             ;;
193           mipsisa32 | mipsisa32el)
194             mips_cpu=mips32
195             ;;
196           mipsisa32r2 | mipsisa32r2el)
197             mips_cpu=mips32r2
198             ;;
199           mipsisa64 | mipsisa64el)
200             mips_cpu=mips64
201             ;;
202           mipsisa64r2 | mipsisa64r2el)
203             mips_cpu=mips64r2
204             ;;
205           mipstx39 | mipstx39el)
206             mips_cpu=r3900
207             ;;
208           mips64vr | mips64vrel)
209             mips_cpu=vr4100
210             ;;
211           mipsisa32r2* | mipsisa64r2*)
212 changequote(,)dnl
213             mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
214 changequote([,])dnl
215             ;;
216           mips64* | mipsisa64* | mipsisa32*)
217 changequote(,)dnl
218             mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
219 changequote([,])dnl
220             ;;
221           *)
222             AC_ERROR($target_cpu isn't a supported MIPS CPU name)
223             ;;
224         esac
225         # See whether it's appropriate to set E_MIPS_ABI_O32 for o32
226         # binaries.  It's a GNU extension that some OSes don't understand.
227         # The value only matters on ELF targets.
228         case ${target} in
229           *-*-irix*)
230             use_e_mips_abi_o32=0
231             ;;
232           *)
233             use_e_mips_abi_o32=1
234             ;;
235         esac
236         # Decide whether to generate 32-bit or 64-bit code by default.
237         # Used to resolve -march=from-abi when an embedded ABI is selected.
238         case ${target} in
239           mips64*-*-* | mipsisa64*-*-*)
240             mips_default_64bit=1
241             ;;
242           *)
243             mips_default_64bit=0
244             ;;
245         esac
246         # Decide which ABI to target by default.
247         case ${target} in
248           mips64*-linux* | mips-sgi-irix6*)
249             mips_default_abi=N32_ABI
250             ;;
251           mips*-linux*)
252             mips_default_abi=O32_ABI
253             ;;
254           mips64*-openbsd*)
255             mips_default_abi=N64_ABI
256             ;;
257           *)
258             mips_default_abi=NO_ABI
259             ;;
260         esac
261         AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
262                            [Default CPU for MIPS targets. ])
263         AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
264                            [Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
265         AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
266                            [Generate 64-bit code by default on MIPS targets. ])
267         AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
268                            [Choose a default ABI for MIPS targets. ])
269         ;;
270     esac
272     # Do we need the opcodes library?
273     case ${cpu_type} in
274       vax | i386 | tic30)
275         ;;
277       *)
278         need_opcodes=yes
280         case "${enable_shared}" in
281         yes) shared_opcodes=true ;;
282         *opcodes*) shared_opcodes=true ;;
283         *) shared_opcodes=false ;;
284         esac
285         ;;
286     esac
288     # Any other special object files needed ?
289     case ${cpu_type} in
291       bfin)
292         echo ${extra_objects} | grep -s "bfin-parse.o"
293         if test $? -ne 0 ; then
294           extra_objects="$extra_objects bfin-parse.o"
295         fi
297         echo ${extra_objects} | grep -s "bfin-lex.o"
298         if test $? -ne 0 ; then
299           extra_objects="$extra_objects bfin-lex.o"
300         fi
301         ;;
303       fr30 | ip2k | iq2000 | m32r | openrisc)
304         using_cgen=yes
305         ;;
307       m32c)
308         using_cgen=yes
309         ;;
310       frv)
311         using_cgen=yes
312         ;;
313       m68k)
314         case ${extra_objects} in
315         *m68k-parse.o*) ;;
316         *) extra_objects="$extra_objects m68k-parse.o" ;;
317         esac
318         ;;
320       mep)
321         using_cgen=yes
322         ;;
324       mips)
325         echo ${extra_objects} | grep -s "itbl-parse.o"
326         if test $? -ne 0 ; then
327           extra_objects="$extra_objects itbl-parse.o"
328         fi
330         echo ${extra_objects} | grep -s "itbl-lex.o"
331         if test $? -ne 0 ; then
332           extra_objects="$extra_objects itbl-lex.o"
333         fi
335         echo ${extra_objects} | grep -s "itbl-ops.o"
336         if test $? -ne 0 ; then
337           extra_objects="$extra_objects itbl-ops.o"
338         fi
339         ;;
341       mt)
342         using_cgen=yes
343         ;;
345       i386 | s390 | sparc)
346         if test $this_target = $target ; then
347           AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
348         fi
349         ;;
351       xstormy16)
352         using_cgen=yes
353         ;;
355       xc16x)
356         using_cgen=yes
357         ;;
359       xtensa)
360         echo ${extra_objects} | grep -s "xtensa-relax.o"
361         if test $? -ne 0 ; then
362           extra_objects="$extra_objects xtensa-relax.o"
363         fi
364         ;;
366       *)
367         ;;
368     esac
370     if test $using_cgen = yes ; then
371         case "x${extra_objects}" in
372         *cgen.o*) ;;
373         *) extra_objects="$extra_objects cgen.o" ;;
374         esac
375     fi
377 # See if we really can support this configuration with the emulation code.
379     if test $this_target = $target ; then
380       obj_format=$fmt
381       te_file=$em
382     fi
384 # From target name and format, produce a list of supported emulations.
386     case ${generic_target}-${fmt} in
387       mips-*-irix5*-*)  emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
388       mips*-*-linux*-*) case "$endian" in
389                         big)    emulation="mipsbelf mipslelf mipself" ;;
390                         *)      emulation="mipslelf mipsbelf mipself" ;;
391                         esac ;;
392       mips-*-lnews*-ecoff) ;;
393       mips-*-*-ecoff)   case "$endian" in
394                         big)    emulation="mipsbecoff mipslecoff mipsecoff" ;;
395                         *)      emulation="mipslecoff mipsbecoff mipsecoff" ;;
396                         esac ;;
397       mips-*-*-elf)     case "$endian" in
398                         big)    emulation="mipsbelf mipslelf mipself" ;;
399                         *)      emulation="mipslelf mipsbelf mipself" ;;
400                         esac ;;
401       mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
402       # i386-pc-pe-coff != i386-pc-coff.
403       i386-*-pe-coff)   ;;
404       # Uncommenting the next line will turn on support for i386 AOUT
405       # for the default linux configuration
406       # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
407       #
408       i386-*-aout)      emulation="i386aout" ;;
409       i386-*-coff)      emulation="i386coff" ;;
410       i386-*-elf)       emulation="i386elf" ;;
412       # Always all formats.  The first stated emulation becomes the default.
413       cris-*-*aout*)    emulation="crisaout criself" ;;
414       cris-*-*)         emulation="criself crisaout" ;;
415     esac
417     emulations="$emulations $emulation"
419 done
421 # Turn on all targets if possible
422 if test ${all_targets} = "yes"; then
423   case ${target_cpu_type} in
424   i386)
425     case ${obj_format} in
426     aout)
427       emulations="$emulations i386coff i386elf"
428       ;;
429     coff)
430       emulations="$emulations i386aout i386elf"
431     ;;
432     elf)
433       emulations="$emulations i386aout i386coff"
434       ;;
435     esac
436   ;;
437   x86_64)
438     case ${obj_format} in
439     aout)
440       emulations="$emulations i386coff i386elf"
441       ;;
442     coff)
443       emulations="$emulations i386aout i386elf"
444     ;;
445     elf)
446       emulations="$emulations i386aout i386coff"
447       ;;
448     esac
449   ;;
450   esac
453 # Assign floating point type.  Most processors with FP support
454 # IEEE FP.  On those that don't support FP at all, usually IEEE
455 # is emulated.
456 case ${target_cpu} in
457   vax | pdp11 ) atof=vax ;;
458   *)            atof=ieee ;;
459 esac
461 case "${obj_format}" in
462   "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
463 esac
465 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
466 cgen_cpu_prefix=""
467 if test $using_cgen = yes ; then
468   case ${target_cpu} in
469     *) cgen_cpu_prefix=${target_cpu} ;;
470   esac
471   AC_SUBST(cgen_cpu_prefix)
472   AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
476 dnl Make sure the desired support files exist.
479 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
480   AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
483 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
484   AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
487 # Some COFF configurations want these random other flags set.
488 case ${obj_format} in
489   coff)
490     case ${target_cpu_type} in
491       i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
492       m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
493       m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
494       x86_64) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
495     esac
496     ;;
497 esac
499 # Getting this done right is going to be a bitch.  Each configuration specified
500 # with --enable-targets=... should be checked for environment, format, cpu
501 # setting.
503 # For each configuration, the necessary object file support code must be linked
504 # in.  This might be only one, it might be up to four.  The necessary emulation
505 # code needs to be provided, too.
507 # And then there's "--enable-targets=all"....
509 # For now, just always do it for MIPS ELF or ECOFF configurations.  Sigh.
511 formats="${obj_format}"
512 emfiles=""
513 EMULATIONS=""
514 GAS_UNIQ(emulations)
515 for em in . $emulations ; do
516   case $em in
517     .)  continue ;;
518     mipsbelf | mipslelf | mipself)
519         fmt=elf   file=mipself ;;
520     mipsbecoff | mipslecoff | mipsecoff)
521         fmt=ecoff file=mipsecoff ;;
522     *coff)
523         fmt=coff  file=$em ;;
524     *aout)
525         fmt=aout file=$em ;;
526     *elf)
527         fmt=elf file=$em ;;
528   esac
529   formats="$formats $fmt"
530   emfiles="$emfiles e-$file.o"
531   EMULATIONS="$EMULATIONS &$em,"
532 done
533 GAS_UNIQ(formats)
534 GAS_UNIQ(emfiles)
535 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
536   for fmt in $formats ; do
537     case $fmt in
538       aout)     AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
539       bout)     AC_DEFINE(OBJ_MAYBE_BOUT, 1,    [b.out support?])   ;;
540       coff)     AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
541       ecoff)    AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
542       elf)      AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
543       generic)  AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
544       som)      AC_DEFINE(OBJ_MAYBE_SOM, 1,     [SOM support?])     ;;
545     esac
546     extra_objects="$extra_objects obj-$fmt.o"
547   done
548   obj_format=multi
550 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
551   DEFAULT_EMULATION=`set . $emulations ; echo $2`
552   # e-mips* has more than one emulation per file, e-i386* has just one at the
553   # moment.  If only one emulation is specified, then don't define
554   # USE_EMULATIONS or include any of the e-files as they will only be bloat.
555   case "${obj_format}${emfiles}" in
556     multi* | *mips*)
557       extra_objects="$extra_objects $emfiles"
558       AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
559   esac
561 AC_SUBST(extra_objects)
562 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
563 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
564                    [Default emulation.])
566 reject_dev_configs=yes
568 case ${reject_dev_configs}-${dev} in
569   yes-yes) # Oops.
570     AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
571     ;;
572 esac
574 AC_SUBST(target_cpu_type)
575 AC_SUBST(obj_format)
576 AC_SUBST(te_file)
577 AC_SUBST(install_tooldir)
578 AC_SUBST(atof)
579 dnl AC_SUBST(emulation)
581 # do we need the opcodes library?
582 case "${need_opcodes}" in
583 yes)
584   OPCODES_LIB=../opcodes/libopcodes.la
585   ;;
586 esac
588 AC_SUBST(OPCODES_LIB)
590 AC_DEFINE_UNQUOTED(TARGET_ALIAS,        "${target_alias}", [Target alias.])
591 AC_DEFINE_UNQUOTED(TARGET_CANONICAL,    "${target}",       [Canonical target.])
592 AC_DEFINE_UNQUOTED(TARGET_CPU,          "${target_cpu}",   [Target CPU.])
593 AC_DEFINE_UNQUOTED(TARGET_VENDOR,       "${target_vendor}", [Target vendor.])
594 AC_DEFINE_UNQUOTED(TARGET_OS,           "${target_os}",    [Target OS.])
596 AC_PROG_CC
598 AC_PROG_YACC
599 AM_PROG_LEX
601 ALL_LINGUAS="fr tr es rw"
602 ZW_GNU_GETTEXT_SISTER_DIR
603 AM_PO_SUBDIRS
605 AM_MAINTAINER_MODE
606 AM_CONDITIONAL(GENINSRC_NEVER, false)
607 AC_EXEEXT
609 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
611 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
612 # people who are not cross-compiling but are compiling cross-assemblers.
613 AC_MSG_CHECKING(whether compiling a cross-assembler)
614 if test "${host}" = "${target}"; then
615   cross_gas=no
616 else
617   cross_gas=yes
618   AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
620 AC_MSG_RESULT($cross_gas)
622 dnl ansidecl.h will deal with const
623 dnl AC_CONST
624 AC_FUNC_ALLOCA
625 AC_C_INLINE
627 # VMS doesn't have unlink.
628 AC_CHECK_FUNCS(unlink remove, break)
630 # Some systems don't have sbrk().
631 AC_CHECK_FUNCS(sbrk)
633 # do we need the math library?
634 case "${need_libm}" in
635 yes)
636   AC_CHECK_LIBM
637   AC_SUBST(LIBM)
638   ;;
639 esac
641 # Some non-ANSI preprocessors botch requoting inside strings.  That's bad
642 # enough, but on some of those systems, the assert macro relies on requoting
643 # working properly!
644 GAS_WORKING_ASSERT
646 # On some systems, the system header files may not declare malloc, realloc,
647 # and free.  There are places where gas needs these functions to have been
648 # declared -- such as when taking their addresses.
649 gas_test_headers="
650 #ifdef HAVE_MEMORY_H
651 #include <memory.h>
652 #endif
653 #ifdef HAVE_STRING_H
654 #include <string.h>
655 #else
656 #ifdef HAVE_STRINGS_H
657 #include <strings.h>
658 #endif
659 #endif
660 #ifdef HAVE_STDLIB_H
661 #include <stdlib.h>
662 #endif
663 #ifdef HAVE_UNISTD_H
664 #include <unistd.h>
665 #endif
668 # Does errno.h declare errno, or do we have to add a separate declaration
669 # for it?
670 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
671 #ifdef HAVE_ERRNO_H
672 #include <errno.h>
673 #endif
676 AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
677 AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
678 [AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
679 gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
680 AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
681 if test $gas_cv_decl_getopt_unistd_h = yes; then
682   AC_DEFINE([HAVE_DECL_GETOPT], 1,
683             [Is the prototype for getopt in <unistd.h> in the expected format?])
686 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
687 GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
688 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
689 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
690 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
691 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
693 AC_CHECK_DECLS([vsnprintf])
695 BFD_BINARY_FOPEN
697 dnl Required for html and install-html targets.
698 AC_SUBST(datarootdir)
699 AC_SUBST(docdir)
700 AC_SUBST(htmldir)
702 dnl This must come last.
704 dnl We used to make symlinks to files in the source directory, but now
705 dnl we just use the right name for .c files, and create .h files in
706 dnl the build directory which include the right .h file.  Make sure
707 dnl the old symlinks don't exist, so that a reconfigure in an existing
708 dnl directory behaves reasonably.
710 AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
711 AC_CONFIG_COMMANDS([default],
712 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
713  echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
714  echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
715  echo '#include "te-'"${te_file}"'.h"' > targ-env.h
716  echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
717  if test "x$cgen_cpu_prefix" != x ; then
718    echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
719  fi],
720 [target_cpu_type=${target_cpu_type}
721  cgen_cpu_prefix=${cgen_cpu_prefix}
722  obj_format=${obj_format}
723  te_file=${te_file}])
725 AC_OUTPUT