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