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