1dnl Process this file with autoconf to produce a configure script.
2dnl
3dnl And be careful when changing it!  If you must add tests with square
4dnl brackets, be sure changequote invocations surround it.
5dnl
6dnl
7dnl v2.5 needed for --bindir et al
8AC_PREREQ(2.57)
9AC_INIT(as.h)
10
11dnl Autoconf 2.57 will find the aux dir without this.  However, unless
12dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
13dnl gas/ instead of gas/../.
14AC_CONFIG_AUX_DIR(..)
15AC_CANONICAL_SYSTEM
16AC_ISC_POSIX
17
18changequote(,)dnl
19BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ 	]*\([^ 	]*\)[ 	]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
20changequote([,])dnl
21AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
22
23AM_PROG_LIBTOOL
24
25AC_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 ;;
32esac])dnl
33AC_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]) ;;
39esac])dnl
40
41using_cgen=no
42
43AM_BINUTILS_WARNINGS
44
45# Generate a header file
46AM_CONFIG_HEADER(config.h:config.in)
47
48# If we are on a DOS filesystem, we must use gdb.ini rather than
49# .gdbinit.
50case "${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    ;;
59esac
60AC_SUBST(GDBINIT)
61
62#We need this for the host.  BOUT header is in host order.
63AC_C_BIGENDIAN
64
65te_file=generic
66
67# Makefile target for installing gas in $(tooldir)/bin.
68install_tooldir=install-exec-tooldir
69
70canon_targets=""
71all_targets=no
72if 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)
87fi
88
89emulations=""
90
91for 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*)
199changequote(,)dnl
200	    mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
201changequote([,])dnl
202	    ;;
203	  mips64* | mipsisa64* | mipsisa32*)
204changequote(,)dnl
205	    mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
206changequote([,])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
402done
403
404# Turn on all targets if possible
405if 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  esac
421fi
422
423# Assign floating point type.  Most processors with FP support
424# IEEE FP.  On those that don't support FP at all, usually IEEE
425# is emulated.
426case ${target_cpu} in
427  vax | tahoe )	atof=${target_cpu} ;;
428  pdp11)	atof=vax ;;
429  *)		atof=ieee ;;
430esac
431
432case "${obj_format}" in
433  "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
434esac
435
436# Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
437cgen_cpu_prefix=""
438if test $using_cgen = yes ; then
439  case ${target_cpu} in
440    *) cgen_cpu_prefix=${target_cpu} ;;
441  esac
442  AC_SUBST(cgen_cpu_prefix)
443  AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
444fi
445
446dnl
447dnl Make sure the desired support files exist.
448dnl
449
450if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
451  AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
452fi
453
454if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
455  AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
456fi
457
458# Some COFF configurations want these random other flags set.
459case ${obj_format} in
460  coff)
461    case ${target_cpu_type} in
462      i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
463      m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
464      m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
465    esac
466    ;;
467esac
468
469# Getting this done right is going to be a bitch.  Each configuration specified
470# with --enable-targets=... should be checked for environment, format, cpu
471# setting.
472#
473# For each configuration, the necessary object file support code must be linked
474# in.  This might be only one, it might be up to four.  The necessary emulation
475# code needs to be provided, too.
476#
477# And then there's "--enable-targets=all"....
478#
479# For now, just always do it for MIPS ELF or ECOFF configurations.  Sigh.
480
481formats="${obj_format}"
482emfiles=""
483EMULATIONS=""
484GAS_UNIQ(emulations)
485for em in . $emulations ; do
486  case $em in
487    .)	continue ;;
488    mipsbelf | mipslelf | mipself)
489	fmt=elf   file=mipself ;;
490    mipsbecoff | mipslecoff | mipsecoff)
491	fmt=ecoff file=mipsecoff ;;
492    *coff)
493	fmt=coff  file=$em ;;
494    *aout)
495	fmt=aout file=$em ;;
496    *elf)
497	fmt=elf file=$em ;;
498  esac
499  formats="$formats $fmt"
500  emfiles="$emfiles e-$file.o"
501  EMULATIONS="$EMULATIONS &$em,"
502done
503GAS_UNIQ(formats)
504GAS_UNIQ(emfiles)
505if test `set . $formats ; shift ; echo $#` -gt 1 ; then
506  for fmt in $formats ; do
507    case $fmt in
508      aout)	AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
509      bout)	AC_DEFINE(OBJ_MAYBE_BOUT, 1,    [b.out support?])   ;;
510      coff)	AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
511      ecoff)	AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
512      elf)	AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
513      generic)	AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
514      ieee)	AC_DEFINE(OBJ_MAYBE_IEEE, 1,    [IEEE support?])    ;;
515      som)	AC_DEFINE(OBJ_MAYBE_SOM, 1,     [SOM support?])     ;;
516    esac
517    extra_objects="$extra_objects obj-$fmt.o"
518  done
519  obj_format=multi
520fi
521if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
522  DEFAULT_EMULATION=`set . $emulations ; echo $2`
523  # e-mips* has more than one emulation per file, e-i386* has just one at the
524  # moment.  If only one emulation is specified, then don't define
525  # USE_EMULATIONS or include any of the e-files as they will only be bloat.
526  case "${obj_format}${emfiles}" in
527    multi* | *mips*)
528      extra_objects="$extra_objects $emfiles"
529      AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
530  esac
531fi
532AC_SUBST(extra_objects)
533AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
534AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
535		   [Default emulation.])
536
537reject_dev_configs=yes
538
539case ${reject_dev_configs}-${dev} in
540  yes-yes) # Oops.
541    AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
542    ;;
543esac
544
545AC_SUBST(target_cpu_type)
546AC_SUBST(obj_format)
547AC_SUBST(te_file)
548AC_SUBST(install_tooldir)
549AC_SUBST(atof)
550dnl AC_SUBST(emulation)
551
552# do we need the opcodes library?
553case "${need_opcodes}" in
554yes)
555  OPCODES_LIB=../opcodes/libopcodes.la
556  ;;
557esac
558
559BFDLIB=../bfd/libbfd.la
560BFDVER_H=../bfd/bfdver.h
561ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
562
563AC_SUBST(BFDLIB)
564AC_SUBST(OPCODES_LIB)
565
566AC_SUBST(BFDVER_H)
567AC_SUBST(ALL_OBJ_DEPS)
568
569AC_DEFINE_UNQUOTED(TARGET_ALIAS,	"${target_alias}", [Target alias.])
570AC_DEFINE_UNQUOTED(TARGET_CANONICAL,	"${target}",       [Canonical target.])
571AC_DEFINE_UNQUOTED(TARGET_CPU,		"${target_cpu}",   [Target CPU.])
572AC_DEFINE_UNQUOTED(TARGET_VENDOR,	"${target_vendor}", [Target vendor.])
573AC_DEFINE_UNQUOTED(TARGET_OS,		"${target_os}",    [Target OS.])
574
575AC_PROG_CC
576
577AC_PROG_YACC
578AM_PROG_LEX
579
580ALL_LINGUAS="fr tr es rw"
581CY_GNU_GETTEXT
582
583AM_MAINTAINER_MODE
584AC_EXEEXT
585
586AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
587
588# Put this here so that autoconf's "cross-compiling" message doesn't confuse
589# people who are not cross-compiling but are compiling cross-assemblers.
590AC_MSG_CHECKING(whether compiling a cross-assembler)
591if test "${host}" = "${target}"; then
592  cross_gas=no
593else
594  cross_gas=yes
595  AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
596fi
597AC_MSG_RESULT($cross_gas)
598
599dnl ansidecl.h will deal with const
600dnl AC_CONST
601AC_FUNC_ALLOCA
602AC_C_INLINE
603
604# VMS doesn't have unlink.
605AC_CHECK_FUNCS(unlink remove, break)
606
607# Some systems don't have sbrk().
608AC_CHECK_FUNCS(sbrk)
609
610# do we need the math library?
611case "${need_libm}" in
612yes)
613  AC_CHECK_LIBM
614  AC_SUBST(LIBM)
615  ;;
616esac
617
618# Some non-ANSI preprocessors botch requoting inside strings.  That's bad
619# enough, but on some of those systems, the assert macro relies on requoting
620# working properly!
621GAS_WORKING_ASSERT
622
623# On some systems, the system header files may not declare malloc, realloc,
624# and free.  There are places where gas needs these functions to have been
625# declared -- such as when taking their addresses.
626gas_test_headers="
627#ifdef HAVE_MEMORY_H
628#include <memory.h>
629#endif
630#ifdef HAVE_STRING_H
631#include <string.h>
632#else
633#ifdef HAVE_STRINGS_H
634#include <strings.h>
635#endif
636#endif
637#ifdef HAVE_STDLIB_H
638#include <stdlib.h>
639#endif
640#ifdef HAVE_UNISTD_H
641#include <unistd.h>
642#endif
643"
644
645# Does errno.h declare errno, or do we have to add a separate declaration
646# for it?
647GAS_CHECK_DECL_NEEDED(errno, f, int f, [
648#ifdef HAVE_ERRNO_H
649#include <errno.h>
650#endif
651])
652
653AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
654AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
655[AC_TRY_COMPILE([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);],
656gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
657AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
658if test $gas_cv_decl_getopt_unistd_h = yes; then
659  AC_DEFINE([HAVE_DECL_GETOPT], 1,
660	    [Is the prototype for getopt in <unistd.h> in the expected format?])
661fi
662
663GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
664GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
665GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
666GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
667GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
668GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
669
670AC_CHECK_DECLS([vsnprintf])
671
672dnl Required for html and install-html targets.
673AC_SUBST(datarootdir)
674AC_SUBST(docdir)
675AC_SUBST(htmldir)
676
677dnl This must come last.
678
679dnl We used to make symlinks to files in the source directory, but now
680dnl we just use the right name for .c files, and create .h files in
681dnl the build directory which include the right .h file.  Make sure
682dnl the old symlinks don't exist, so that a reconfigure in an existing
683dnl directory behaves reasonably.
684
685AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
686AC_CONFIG_COMMANDS([default],
687[rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
688 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
689 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
690 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
691 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
692 if test "x$cgen_cpu_prefix" != x ; then
693   echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
694 fi
695
696 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
697[target_cpu_type=${target_cpu_type}
698 cgen_cpu_prefix=${cgen_cpu_prefix}
699 obj_format=${obj_format}
700 te_file=${te_file}])
701
702AC_OUTPUT
703