bfd/
[binutils.git] / gas / configure.in
blob00f651291ec908304d3f4fcbfaca12414f1caf9e
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 [    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=""
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       mips)
321         echo ${extra_objects} | grep -s "itbl-parse.o" 
322         if test $? -ne 0 ; then
323           extra_objects="$extra_objects itbl-parse.o"
324         fi
326         echo ${extra_objects} | grep -s "itbl-lex.o" 
327         if test $? -ne 0 ; then
328           extra_objects="$extra_objects itbl-lex.o"
329         fi
331         echo ${extra_objects} | grep -s "itbl-ops.o" 
332         if test $? -ne 0 ; then
333           extra_objects="$extra_objects itbl-ops.o"
334         fi
335         ;;
337       mt)
338         using_cgen=yes
339         ;;
341       i386 | s390 | sparc)
342         if test $this_target = $target ; then
343           AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
344         fi
345         ;;
347       xstormy16)
348         using_cgen=yes
349         ;;
351       xc16x)
352         using_cgen=yes
353         ;;
355       xtensa)
356         echo ${extra_objects} | grep -s "xtensa-relax.o"
357         if test $? -ne 0 ; then
358           extra_objects="$extra_objects xtensa-relax.o"
359         fi
360         ;;
362       *)
363         ;;
364     esac
366     if test $using_cgen = yes ; then
367         case "x${extra_objects}" in
368         *cgen.o*) ;;
369         *) extra_objects="$extra_objects cgen.o" ;;
370         esac
371     fi
373 # See if we really can support this configuration with the emulation code.
375     if test $this_target = $target ; then
376       obj_format=$fmt
377       te_file=$em
378     fi
380 # From target name and format, produce a list of supported emulations.
382     case ${generic_target}-${fmt} in
383       mips-*-irix5*-*)  emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
384       mips*-*-linux*-*) case "$endian" in
385                         big)    emulation="mipsbelf mipslelf mipself" ;;
386                         *)      emulation="mipslelf mipsbelf mipself" ;;
387                         esac ;;
388       mips-*-lnews*-ecoff) ;;
389       mips-*-*-ecoff)   case "$endian" in
390                         big)    emulation="mipsbecoff mipslecoff mipsecoff" ;;
391                         *)      emulation="mipslecoff mipsbecoff mipsecoff" ;;
392                         esac ;;
393       mips-*-*-elf)     case "$endian" in
394                         big)    emulation="mipsbelf mipslelf mipself" ;;
395                         *)      emulation="mipslelf mipsbelf mipself" ;;
396                         esac ;;
397       mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
398       # i386-pc-pe-coff != i386-pc-coff.
399       i386-*-pe-coff)   ;;
400       # Uncommenting the next line will turn on support for i386 AOUT
401       # for the default linux configuration
402       # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
403       #
404       i386-*-aout)      emulation="i386aout" ;;
405       i386-*-coff)      emulation="i386coff" ;;
406       i386-*-elf)       emulation="i386elf" ;;
408       # Always all formats.  The first stated emulation becomes the default.
409       cris-*-*aout*)    emulation="crisaout criself" ;;
410       cris-*-*)         emulation="criself crisaout" ;;
411     esac
413     emulations="$emulations $emulation"
415 done
417 # Turn on all targets if possible
418 if test ${all_targets} = "yes"; then
419   case ${target_cpu_type} in
420   i386)
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
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 | tahoe ) atof=${target_cpu} ;;
441   pdp11)        atof=vax ;;
442   *)            atof=ieee ;;
443 esac
445 case "${obj_format}" in
446   "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
447 esac
449 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
450 cgen_cpu_prefix=""
451 if test $using_cgen = yes ; then
452   case ${target_cpu} in
453     *) cgen_cpu_prefix=${target_cpu} ;;
454   esac
455   AC_SUBST(cgen_cpu_prefix)
456   AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
460 dnl Make sure the desired support files exist.
463 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
464   AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
467 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
468   AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
471 # Some COFF configurations want these random other flags set.
472 case ${obj_format} in
473   coff)
474     case ${target_cpu_type} in
475       i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
476       m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
477       m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
478     esac
479     ;;
480 esac
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.
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.
490 # And then there's "--enable-targets=all"....
492 # For now, just always do it for MIPS ELF or ECOFF configurations.  Sigh.
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       ieee)     AC_DEFINE(OBJ_MAYBE_IEEE, 1,    [IEEE support?])    ;;
528       som)      AC_DEFINE(OBJ_MAYBE_SOM, 1,     [SOM support?])     ;;
529     esac
530     extra_objects="$extra_objects obj-$fmt.o"
531   done
532   obj_format=multi
534 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
535   DEFAULT_EMULATION=`set . $emulations ; echo $2`
536   # e-mips* has more than one emulation per file, e-i386* has just one at the
537   # moment.  If only one emulation is specified, then don't define
538   # USE_EMULATIONS or include any of the e-files as they will only be bloat.
539   case "${obj_format}${emfiles}" in
540     multi* | *mips*)
541       extra_objects="$extra_objects $emfiles"
542       AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
543   esac
545 AC_SUBST(extra_objects)
546 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
547 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
548                    [Default emulation.])
550 reject_dev_configs=yes
552 case ${reject_dev_configs}-${dev} in
553   yes-yes) # Oops.
554     AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
555     ;;
556 esac
558 AC_SUBST(target_cpu_type)
559 AC_SUBST(obj_format)
560 AC_SUBST(te_file)
561 AC_SUBST(install_tooldir)
562 AC_SUBST(atof)
563 dnl AC_SUBST(emulation)
565 # do we need the opcodes library?
566 case "${need_opcodes}" in
567 yes)
568   OPCODES_LIB=../opcodes/libopcodes.la
569   ;;
570 esac
572 BFDLIB=../bfd/libbfd.la
573 BFDVER_H=../bfd/bfdver.h
574 ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
576 AC_SUBST(BFDLIB)
577 AC_SUBST(OPCODES_LIB)
579 AC_SUBST(BFDVER_H)
580 AC_SUBST(ALL_OBJ_DEPS)
582 AC_DEFINE_UNQUOTED(TARGET_ALIAS,        "${target_alias}", [Target alias.])
583 AC_DEFINE_UNQUOTED(TARGET_CANONICAL,    "${target}",       [Canonical target.])
584 AC_DEFINE_UNQUOTED(TARGET_CPU,          "${target_cpu}",   [Target CPU.])
585 AC_DEFINE_UNQUOTED(TARGET_VENDOR,       "${target_vendor}", [Target vendor.])
586 AC_DEFINE_UNQUOTED(TARGET_OS,           "${target_os}",    [Target OS.])
588 AC_PROG_CC
590 AC_PROG_YACC
591 AM_PROG_LEX
593 ALL_LINGUAS="fr tr es rw"
594 CY_GNU_GETTEXT
596 AM_MAINTAINER_MODE
597 AC_EXEEXT
599 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
601 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
602 # people who are not cross-compiling but are compiling cross-assemblers.
603 AC_MSG_CHECKING(whether compiling a cross-assembler)
604 if test "${host}" = "${target}"; then
605   cross_gas=no
606 else
607   cross_gas=yes
608   AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
610 AC_MSG_RESULT($cross_gas)
612 dnl ansidecl.h will deal with const
613 dnl AC_CONST
614 AC_FUNC_ALLOCA
615 AC_C_INLINE
617 # VMS doesn't have unlink.
618 AC_CHECK_FUNCS(unlink remove, break)
620 # Some systems don't have sbrk().
621 AC_CHECK_FUNCS(sbrk)
623 # do we need the math library?
624 case "${need_libm}" in
625 yes) 
626   AC_CHECK_LIBM
627   AC_SUBST(LIBM)
628   ;;
629 esac
631 # Some non-ANSI preprocessors botch requoting inside strings.  That's bad
632 # enough, but on some of those systems, the assert macro relies on requoting
633 # working properly!
634 GAS_WORKING_ASSERT
636 # On some systems, the system header files may not declare malloc, realloc,
637 # and free.  There are places where gas needs these functions to have been
638 # declared -- such as when taking their addresses.
639 gas_test_headers="
640 #ifdef HAVE_MEMORY_H
641 #include <memory.h>
642 #endif
643 #ifdef HAVE_STRING_H
644 #include <string.h>
645 #else
646 #ifdef HAVE_STRINGS_H
647 #include <strings.h>
648 #endif
649 #endif
650 #ifdef HAVE_STDLIB_H
651 #include <stdlib.h>
652 #endif
653 #ifdef HAVE_UNISTD_H
654 #include <unistd.h>
655 #endif
658 # Does errno.h declare errno, or do we have to add a separate declaration
659 # for it?
660 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
661 #ifdef HAVE_ERRNO_H
662 #include <errno.h>
663 #endif
666 AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
667 AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
668 [AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
669 gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
670 AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
671 if test $gas_cv_decl_getopt_unistd_h = yes; then
672   AC_DEFINE([HAVE_DECL_GETOPT], 1,
673             [Is the prototype for getopt in <unistd.h> in the expected format?])
676 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
677 GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
678 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
679 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
680 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
681 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
683 AC_CHECK_DECLS([vsnprintf])
685 dnl Required for html and install-html targets.
686 AC_SUBST(datarootdir)
687 AC_SUBST(docdir)
688 AC_SUBST(htmldir)
690 dnl This must come last.
692 dnl We used to make symlinks to files in the source directory, but now
693 dnl we just use the right name for .c files, and create .h files in
694 dnl the build directory which include the right .h file.  Make sure
695 dnl the old symlinks don't exist, so that a reconfigure in an existing
696 dnl directory behaves reasonably.
698 AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
699 AC_CONFIG_COMMANDS([default],
700 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
701  echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
702  echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
703  echo '#include "te-'"${te_file}"'.h"' > targ-env.h
704  echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
705  if test "x$cgen_cpu_prefix" != x ; then
706    echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
707  fi
709  sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
710 [target_cpu_type=${target_cpu_type}
711  cgen_cpu_prefix=${cgen_cpu_prefix}
712  obj_format=${obj_format}
713  te_file=${te_file}])
715 AC_OUTPUT