bfd:
[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.59)
9 AC_INIT
10 AC_CONFIG_SRCDIR(as.h)
11
12 dnl Autoconf 2.57 will find the aux dir without this.  However, unless
13 dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
14 dnl gas/ instead of gas/../.
15 AC_CONFIG_AUX_DIR(..)
16 AC_CANONICAL_TARGET
17 AC_ISC_POSIX
18
19 changequote(,)dnl
20 BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[         ]*\([^  ]*\)[   ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
21 changequote([,])dnl
22 AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
23
24 AC_PROG_CC
25 AC_GNU_SOURCE
26 AC_USE_SYSTEM_EXTENSIONS
27 AC_SYS_LARGEFILE
28
29 LT_INIT
30
31 AC_ARG_ENABLE(targets,
32 [  --enable-targets        alternative target configurations besides the primary],
33 [case "${enableval}" in
34   yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
35             ;;
36   no)       enable_targets= ;;
37   *)        enable_targets=$enableval ;;
38 esac])dnl
39
40 ac_checking=yes
41 if grep '^RELEASE=y' ${srcdir}/../bfd/Makefile.am >/dev/null 2>/dev/null ; then
42   ac_checking=
43 fi
44 AC_ARG_ENABLE(checking,
45 [  --enable-checking       enable run-time checks],
46 [case "${enableval}" in
47   no|none)  ac_checking= ;;
48   *)        ac_checking=yes ;;
49 esac])dnl
50 if test x$ac_checking != x ; then
51   AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
52 fi
53
54 using_cgen=no
55
56 AM_BINUTILS_WARNINGS
57
58 # Generate a header file
59 AC_CONFIG_HEADERS(config.h:config.in)
60
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)
74
75 #We need this for the host.  BOUT header is in host order.
76 AC_C_BIGENDIAN
77
78 te_file=generic
79
80 # Makefile target for installing gas in $(tooldir)/bin.
81 install_tooldir=install-exec-tooldir
82
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)
100 fi
101
102 emulations=""
103
104 for this_target in $target $canon_targets ; do
105
106     targ=${this_target}
107     . ${srcdir}/configure.tgt
108
109     case ${target_cpu} in
110       crisv32)
111         AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
112                            [Default CRIS architecture.])
113         ;;
114     esac
115
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
121
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         ;;
129
130       i386-*-msdosdjgpp* \
131       | i386-*-go32* \
132       | i386-go32-rtems*)
133         AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
134         ;;
135
136       i860-*-*)
137         AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
138         ;;
139
140       mips-sony-bsd*)
141         ;;
142       mips-*-bsd*)
143         AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.)
144         ;;
145
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         ;;
165
166       sh*-*-symbianelf*)
167         AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
168         ;;
169     esac
170
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
183
184 # Other random stuff.
185
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_MSG_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
271
272     # Do we need the opcodes library?
273     case ${cpu_type} in
274       vax | tic30)
275         ;;
276
277       *)
278         need_opcodes=yes
279
280         case "${enable_shared}" in
281         yes) shared_opcodes=true ;;
282         *opcodes*) shared_opcodes=true ;;
283         *) shared_opcodes=false ;;
284         esac
285         ;;
286     esac
287
288     # Any other special object files needed ?
289     case ${cpu_type} in
290
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
296
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         ;;
302
303       fr30 | ip2k | iq2000 | lm32 | m32r | openrisc)
304         using_cgen=yes
305         ;;
306
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         ;;
319
320       mep)
321         using_cgen=yes
322         ;;
323
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
329
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
334
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         ;;
340
341       mt)
342         using_cgen=yes
343         ;;
344
345       i386 | s390 | sparc)
346         if test $this_target = $target ; then
347           AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
348         fi
349         ;;
350
351       xstormy16)
352         using_cgen=yes
353         ;;
354
355       xc16x)
356         using_cgen=yes
357         ;;
358
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         ;;
365
366       *)
367         ;;
368     esac
369
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
376
377 # See if we really can support this configuration with the emulation code.
378
379     if test $this_target = $target ; then
380       obj_format=$fmt
381       te_file=$em
382     fi
383
384 # From target name and format, produce a list of supported emulations.
385
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" ;;
411
412       # Always all formats.  The first stated emulation becomes the default.
413       cris-*-*aout*)    emulation="crisaout criself" ;;
414       cris-*-*)         emulation="criself crisaout" ;;
415     esac
416
417     emulations="$emulations $emulation"
418
419 done
420
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
451 fi
452
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
460
461 case "${obj_format}" in
462   "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
463 esac
464
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?])
473 fi
474
475 dnl
476 dnl Make sure the desired support files exist.
477 dnl
478
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})
481 fi
482
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})
485 fi
486
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
498
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.
502 #
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.
506 #
507 # And then there's "--enable-targets=all"....
508 #
509 # For now, just always do it for MIPS ELF or ECOFF configurations.  Sigh.
510
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
549 fi
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
560 fi
561 AC_SUBST(extra_objects)
562 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
563 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
564                    [Default emulation.])
565
566 reject_dev_configs=yes
567
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
573
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)
580
581 # do we need the opcodes library?
582 case "${need_opcodes}" in
583 yes)
584   OPCODES_LIB=../opcodes/libopcodes.la
585   ;;
586 esac
587
588 AC_SUBST(OPCODES_LIB)
589
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.])
595
596 AC_PROG_YACC
597 AM_PROG_LEX
598
599 ALL_LINGUAS="fr tr es rw id"
600 ZW_GNU_GETTEXT_SISTER_DIR
601 AM_PO_SUBDIRS
602
603 AM_MAINTAINER_MODE
604 AM_CONDITIONAL(GENINSRC_NEVER, false)
605 AC_EXEEXT
606
607 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h limits.h)
608
609 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
610 # people who are not cross-compiling but are compiling cross-assemblers.
611 AC_MSG_CHECKING(whether compiling a cross-assembler)
612 if test "${host}" = "${target}"; then
613   cross_gas=no
614 else
615   cross_gas=yes
616   AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
617 fi
618 AC_MSG_RESULT($cross_gas)
619
620 dnl ansidecl.h will deal with const
621 dnl AC_C_CONST
622 AC_FUNC_ALLOCA
623 AC_C_INLINE
624
625 # VMS doesn't have unlink.
626 AC_CHECK_FUNCS(unlink remove, break)
627
628 # Some systems don't have sbrk().
629 AC_CHECK_FUNCS(sbrk)
630
631 # do we need the math library?
632 case "${need_libm}" in
633 yes)
634   LT_LIB_M
635   AC_SUBST(LIBM)
636   ;;
637 esac
638
639 # Some non-ANSI preprocessors botch requoting inside strings.  That's bad
640 # enough, but on some of those systems, the assert macro relies on requoting
641 # working properly!
642 GAS_WORKING_ASSERT
643
644 # On some systems, the system header files may not declare malloc, realloc,
645 # and free.  There are places where gas needs these functions to have been
646 # declared -- such as when taking their addresses.
647 gas_test_headers="
648 #ifdef HAVE_MEMORY_H
649 #include <memory.h>
650 #endif
651 #ifdef HAVE_STRING_H
652 #include <string.h>
653 #else
654 #ifdef HAVE_STRINGS_H
655 #include <strings.h>
656 #endif
657 #endif
658 #ifdef HAVE_STDLIB_H
659 #include <stdlib.h>
660 #endif
661 #ifdef HAVE_UNISTD_H
662 #include <unistd.h>
663 #endif
664 "
665
666 # Does errno.h declare errno, or do we have to add a separate declaration
667 # for it?
668 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
669 #ifdef HAVE_ERRNO_H
670 #include <errno.h>
671 #endif
672 ])
673
674 AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
675 AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
676 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);])],
677 gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
678 AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
679 if test $gas_cv_decl_getopt_unistd_h = yes; then
680   AC_DEFINE([HAVE_DECL_GETOPT], 1,
681             [Is the prototype for getopt in <unistd.h> in the expected format?])
682 fi
683
684 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
685 GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
686 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
687 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
688 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
689 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
690
691 AC_CHECK_DECLS([vsnprintf])
692
693 BFD_BINARY_FOPEN
694
695 dnl Required for html, pdf, install-pdf and install-html targets.
696 AC_SUBST(datarootdir)
697 AC_SUBST(docdir)
698 AC_SUBST(htmldir)
699 AC_SUBST(pdfdir)
700
701 dnl This must come last.
702
703 dnl We used to make symlinks to files in the source directory, but now
704 dnl we just use the right name for .c files, and create .h files in
705 dnl the build directory which include the right .h file.  Make sure
706 dnl the old symlinks don't exist, so that a reconfigure in an existing
707 dnl directory behaves reasonably.
708
709 AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
710 AC_CONFIG_COMMANDS([default],
711 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
712  echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
713  echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
714  echo '#include "te-'"${te_file}"'.h"' > targ-env.h
715  echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
716  if test "x$cgen_cpu_prefix" != x ; then
717    echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
718  fi],
719 [target_cpu_type=${target_cpu_type}
720  cgen_cpu_prefix=${cgen_cpu_prefix}
721  obj_format=${obj_format}
722  te_file=${te_file}])
723
724 AC_OUTPUT