1 dnl Process this file with autoconf to produce a configure script.
3 dnl And be careful when changing it! If you must add tests with square
4 dnl brackets, be sure changequote invocations surround it.
6 dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
8 dnl This file is free software; you can redistribute it and/or modify
9 dnl it under the terms of the GNU General Public License as published by
10 dnl the Free Software Foundation; either version 3 of the License, or
11 dnl (at your option) any later version.
13 dnl This program is distributed in the hope that it will be useful,
14 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
15 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 dnl GNU General Public License for more details.
18 dnl You should have received a copy of the GNU General Public License
19 dnl along with this program; see the file COPYING3. If not see
20 dnl <http://www.gnu.org/licenses/>.
22 dnl v2.5 needed for --bindir et al
23 m4_include([../bfd/version.m4])
24 AC_INIT([gas], BFD_VERSION)
25 AC_CONFIG_SRCDIR(as.h)
27 dnl Autoconf 2.57 will find the aux dir without this. However, unless
28 dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
29 dnl gas/ instead of gas/../.
38 AC_USE_SYSTEM_EXTENSIONS
42 ACX_PROG_CMP_IGNORE_INITIAL
44 AC_ARG_ENABLE(targets,
45 [ --enable-targets alternative target configurations besides the primary],
46 [case "${enableval}" in
47 yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
49 no) enable_targets= ;;
50 *) enable_targets=$enableval ;;
54 if grep '^RELEASE=y' ${srcdir}/../bfd/Makefile.am >/dev/null 2>/dev/null ; then
57 AC_ARG_ENABLE(checking,
58 [ --enable-checking enable run-time checks],
59 [case "${enableval}" in
60 no|none) ac_checking= ;;
63 if test x$ac_checking != x ; then
64 AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
68 # Decide the default method for compressing debug sections.
69 ac_default_compressed_debug_sections=unset
70 # Provide a configure time option to override our default.
71 AC_ARG_ENABLE(compressed_debug_sections,
72 AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,none}],
73 [compress debug sections by default]),
74 [case ,"${enableval}", in
75 ,yes, | ,all, | *,gas,*) ac_default_compressed_debug_sections=yes ;;
76 ,no, | ,none,) ac_default_compressed_debug_sections=no ;;
77 *) ac_default_compressed_debug_sections=unset ;;
81 # Decide if x86 assembler should generate relax relocations.
82 ac_default_x86_relax_relocations=unset
83 # Provide a configure time option to override our default.
84 AC_ARG_ENABLE(x86_relax_relocations,
85 AS_HELP_STRING([--enable-x86-relax-relocations],
86 [generate x86 relax relocations by default]),
87 [case "${enableval}" in
88 no) ac_default_x86_relax_relocations=0 ;;
91 # Decide if ELF assembler should generate common symbols with the
93 ac_default_elf_stt_common=unset
94 # Provide a configure time option to override our default.
95 AC_ARG_ENABLE(elf_stt_common,
96 AS_HELP_STRING([--enable-elf-stt-common],
97 [generate ELF common symbols with STT_COMMON type by default]),
98 [case "${enableval}" in
99 yes) ac_default_elf_stt_common=1 ;;
103 # Decide if the ELF assembler should default to generating
104 # GNU Build notes if none are provided by the input.
105 ac_default_generate_build_notes=0
106 # Provide a configuration option to override the default.
107 AC_ARG_ENABLE(generate_build_notes,
108 AS_HELP_STRING([--enable-generate-build-notes],
109 [generate GNU Build notes if none are provided by the input]),
110 [case "${enableval}" in
111 yes) ac_default_generate_build_notes=1 ;;
112 no) ac_default_generate_build_notes=0 ;;
116 # Decide if the x86 ELF assembler should default to generating GNU x86
117 # used ISA and feature properties.
118 ac_default_generate_x86_used_note=unset
119 # Provide a configuration option to override the default.
120 AC_ARG_ENABLE(x86-used-note,
121 AS_HELP_STRING([--enable-x86-used-note],
122 [generate GNU x86 used ISA and feature properties]),
123 [case "${enableval}" in
124 yes) ac_default_generate_x86_used_note=1 ;;
125 no) ac_default_generate_x86_used_note=0 ;;
128 # Decide if the RISC-V ELF assembler should default to generating attribute.
129 ac_default_generate_riscv_attr=unset
130 # Provide a configuration option to override the default.
131 AC_ARG_ENABLE(default-riscv-attribute,
132 AS_HELP_STRING([--enable-default-riscv-attribute],
133 [generate RISC-V arch attribute by default]),
134 [case "${enableval}" in
135 yes) ac_default_generate_riscv_attr=1 ;;
136 no) ac_default_generate_riscv_attr=0 ;;
143 # Generate a header file
144 AC_CONFIG_HEADERS(config.h:config.in)
146 dnl Option --with-cpu=TYPE allows configure type control of the default
147 dnl cpu type within the assembler. Currently only the ARC target
148 dnl supports this feature, but others may be added in the future.
150 AS_HELP_STRING([--with-cpu=CPU],
151 [default cpu variant is CPU (currently only supported on ARC)]),
152 [AC_DEFINE_UNQUOTED(TARGET_WITH_CPU,
154 [Target specific CPU.])],
158 AH_VERBATIM([00_CONFIG_H_CHECK],
159 [/* Check that config.h is #included before system headers
160 (this works only for glibc, but that should be enough). */
161 #if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
162 # error config.h must be #included before system headers
164 #define __CONFIG_H__ 1])
166 # If we are on a DOS filesystem, we must use gdb.ini rather than
169 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*)
171 AC_CONFIG_FILES(gdb.ini:gdbinit.in)
175 AC_CONFIG_FILES(.gdbinit:gdbinit.in)
180 #We need this for the host.
185 # Makefile target for installing gas in $(tooldir)/bin.
186 install_tooldir=install-exec-tooldir
190 if test -n "$enable_targets" ; then
191 for t in `echo $enable_targets | sed 's/,/ /g'`; do
192 if test $t = "all"; then
196 result=`$ac_config_sub $t 2>/dev/null`
197 if test -n "$result" ; then
198 canon_targets="$canon_targets $result"
200 # # Permit "all", etc. We don't support it yet though.
201 # canon_targets="$canon_targets $t"
204 GAS_UNIQ(canon_targets)
209 for this_target in $target $canon_targets ; do
212 . ${srcdir}/configure.tgt
214 case ${target_cpu} in
216 AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
217 [Default CRIS architecture.])
221 if test ${this_target} = $target ; then
222 target_cpu_type=${cpu_type}
223 elif test ${target_cpu_type} != ${cpu_type} ; then
227 generic_target=${cpu_type}-${target_vendor}-${target_os}
228 case ${generic_target} in
232 AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
236 | x86_64-*-solaris2 \
237 | i386-*-solaris2.[[0-9]] \
238 | i386-*-solaris2.1[[01]] \
239 | x86_64-*-solaris2.1[[01]])
240 if test ${this_target} = $target \
241 && test ${ac_default_x86_relax_relocations} = unset; then
242 ac_default_x86_relax_relocations=0
252 AC_DEFINE(AIX_WEAK_SUPPORT, 1,
253 [Define if using AIX 5.2 value for C_WEAKEXT.])
256 if test ${this_target} = $target; then
257 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
258 [Define if default target is PowerPC Solaris.])
260 if test x${endian} = xbig; then
261 AC_MSG_ERROR(Solaris must be configured little endian)
266 if test ${this_target} = $target ; then
268 if test x${endian} = xbig; then
270 elif test x${endian} = xlittle; then
273 if test x${endian_def} != x; then
274 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
275 [Define as 1 if big endian.])
279 # Other random stuff.
283 # Set mips_cpu to the name of the default CPU.
284 case ${target_cpu} in
285 mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
288 mipsisa32 | mipsisa32el)
291 mipsisa32r2 | mipsisa32r2el)
294 mipsisa32r3 | mipsisa32r3el)
297 mipsisa32r5 | mipsisa32r5el)
300 mipsisa32r6 | mipsisa32r6el)
303 mipsisa64 | mipsisa64el)
306 mipsisa64r2 | mipsisa64r2el)
309 mipsisa64r3 | mipsisa64r3el)
312 mipsisa64r5 | mipsisa64r5el)
315 mipsisa64r6 | mipsisa64r6el)
318 mipstx39 | mipstx39el)
321 mips64vr | mips64vrel)
324 mipsisa32r2* | mipsisa64r2*)
326 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
329 mipsisa32r6* | mipsisa64r6*)
331 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r6//' -e 's/el$//'`
334 mips64* | mipsisa64* | mipsisa32*)
336 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
341 mips_cpu=`echo $target_cpu | sed -e 's/^mips//' -e 's/el$//'`
345 AC_MSG_ERROR($target_cpu isn't a supported MIPS CPU name)
348 # See whether it's appropriate to set E_MIPS_ABI_O32 for o32
349 # binaries. It's a GNU extension that some OSes don't understand.
358 # Decide whether to generate 32-bit or 64-bit code by default.
359 # Used to resolve -march=from-abi when an embedded ABI is selected.
361 mips64*-*-* | mipsisa64*-*-*)
368 # Decide which ABI to target by default.
370 mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
371 | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
372 mips_default_abi=N32_ABI
374 mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
375 mips_default_abi=O32_ABI
378 mips_default_abi=N64_ABI
381 mips_default_abi=NO_ABI
384 AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
385 [Default CPU for MIPS targets. ])
386 AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
387 [Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
388 AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
389 [Generate 64-bit code by default on MIPS targets. ])
390 AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
391 [Choose a default ABI for MIPS targets. ])
395 # Do we need the opcodes library?
403 case "${enable_shared}" in
404 yes) shared_opcodes=true ;;
405 *opcodes*) shared_opcodes=true ;;
406 *) shared_opcodes=false ;;
411 # Any other special object files needed ?
415 for f in bfin-parse.o bfin-lex-wrapper.o; do
416 case " $extra_objects " in
418 *) extra_objects="$extra_objects $f" ;;
423 epiphany | fr30 | ip2k | iq2000 | lm32 | m32r | or1k)
435 case " $extra_objects " in
437 *) extra_objects="$extra_objects $f" ;;
446 for f in itbl-parse.o itbl-lex-wrapper.o itbl-ops.o; do
447 case " $extra_objects " in
449 *) extra_objects="$extra_objects $f" ;;
459 # setup NDS32_LINUX_TOOLCHAIN definition
460 if test "linux" = $em; then
461 AC_DEFINE(NDS32_LINUX_TOOLCHAIN, 1,
462 [Define value for nds32_linux_toolchain])
464 AC_DEFINE(NDS32_LINUX_TOOLCHAIN, 0,
465 [Define default value for nds32_linux_toolchain])
468 # Decide BASELINE, REDUCED_REGS, FPU_DP_EXT, FPU_SP_EXT features
469 # based on arch_name.
470 AC_MSG_CHECKING(for default configuration of --with-arch)
471 if test "x${with_arch}" != x; then
473 v2j | v2s | v2f | v2 | v3m | v3j | v3s | v3f | v3 )
474 AC_DEFINE_UNQUOTED(NDS32_DEFAULT_ARCH_NAME, "$with_arch",
475 [Define value for nds32_arch_name])
478 AC_MSG_ERROR(This kind of arch name does *NOT* exist!)
482 AC_MSG_RESULT($with_arch)
484 # Decide features one by one.
485 AC_MSG_CHECKING(for default configuration of --enable-dx-regs)
486 if test "x${enable_dx_regs}" = xyes; then
487 AC_DEFINE(NDS32_DEFAULT_DX_REGS, 1,
488 [Define value for nds32_dx_regs])
490 AC_DEFINE(NDS32_DEFAULT_DX_REGS, 0,
491 [Define default value for nds32_dx_regs])
493 AC_MSG_RESULT($enable_dx_regs)
495 AC_MSG_CHECKING(for default configuration of --enable-perf-ext)
496 if test "x${enable_perf_ext}" = xno; then
497 AC_DEFINE(NDS32_DEFAULT_PERF_EXT, 0,
498 [Define value for nds32_perf_ext])
500 AC_DEFINE(NDS32_DEFAULT_PERF_EXT, 1,
501 [Define default value for nds32_perf_ext])
503 AC_MSG_RESULT($enable_perf_ext)
505 AC_MSG_CHECKING(for default configuration of --enable-perf-ext2)
506 if test "x${enable_perf_ext2}" = xno; then
507 AC_DEFINE(NDS32_DEFAULT_PERF_EXT2, 0,
508 [Define value for nds32_perf_ext2])
510 AC_DEFINE(NDS32_DEFAULT_PERF_EXT2, 1,
511 [Define default value for nds32_perf_ext2])
513 AC_MSG_RESULT($enable_perf_ext2)
515 AC_MSG_CHECKING(for default configuration of --enable-string-ext)
516 if test "x${enable_string_ext}" = xno; then
517 AC_DEFINE(NDS32_DEFAULT_STRING_EXT, 0,
518 [Define value for nds32_string_ext])
520 AC_DEFINE(NDS32_DEFAULT_STRING_EXT, 1,
521 [Define default value for nds32_string_ext])
523 AC_MSG_RESULT($enable_string_ext)
525 AC_MSG_CHECKING(for default configuration of --enable-audio-ext)
526 if test "x${enable_audio_ext}" = xno; then
527 AC_DEFINE(NDS32_DEFAULT_AUDIO_EXT, 0,
528 [Define value for nds32_audio_ext])
530 AC_DEFINE(NDS32_DEFAULT_AUDIO_EXT, 1,
531 [Define default value for nds32_audio_ext])
533 AC_MSG_RESULT($enable_audio_ext)
535 AC_MSG_CHECKING(for default configuration of --enable-dsp-ext)
536 if test "x${enable_dsp_ext}" = xno; then
537 AC_DEFINE(NDS32_DEFAULT_DSP_EXT, 0,
538 [Define value for nds32_dsp_ext])
540 AC_DEFINE(NDS32_DEFAULT_DSP_EXT, 1,
541 [Define default value for nds32_dsp_ext])
543 AC_MSG_RESULT($enable_dsp_ext)
545 AC_MSG_CHECKING(for default configuration of --enable-zol-ext)
546 if test "x${enable_zol_ext}" = xno; then
547 AC_DEFINE(NDS32_DEFAULT_ZOL_EXT, 0,
548 [Define value for nds32_zol_ext])
550 AC_DEFINE(NDS32_DEFAULT_ZOL_EXT, 1,
551 [Define default value for nds32_zol_ext])
553 AC_MSG_RESULT($enable_zol_ext)
556 aarch64 | i386 | riscv | s390 | sparc)
557 if test $this_target = $target ; then
558 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
564 case " $extra_objects " in
566 *) extra_objects="$extra_objects $f" ;;
572 case " $extra_objects " in
574 *) extra_objects="$extra_objects $f" ;;
587 f=config/xtensa-relax.o
588 case " $extra_objects " in
590 *) extra_objects="$extra_objects $f" ;;
598 if test $using_cgen = yes ; then
600 case " $extra_objects " in
602 *) extra_objects="$extra_objects $f" ;;
606 # See if we really can support this configuration with the emulation code.
608 if test $this_target = $target ; then
616 case " $extra_objects " in
618 *) extra_objects="$extra_objects $f" ;;
622 # From target name and format, produce a list of supported emulations.
624 case ${generic_target}-${fmt} in
625 mips-*-*-*) case "$endian" in
626 big) emulation="mipsbelf mipslelf mipself" ;;
627 *) emulation="mipslelf mipsbelf mipself" ;;
629 # i386-pc-pe-coff != i386-pc-coff.
631 # Uncommenting the next line will turn on support for i386 AOUT
632 # for the default linux configuration
633 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
635 i386-*-aout) emulation="i386aout" ;;
636 i386-*-coff) emulation="i386coff" ;;
637 i386-*-elf) emulation="i386elf" ;;
639 # Always all formats. The first stated emulation becomes the default.
640 cris-*-*aout*) emulation="crisaout criself" ;;
641 cris-*-*) emulation="criself crisaout" ;;
644 emulations="$emulations $emulation"
648 if test ${ac_default_x86_relax_relocations} = unset; then
649 ac_default_x86_relax_relocations=1
651 AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_X86_RELAX_RELOCATIONS,
652 $ac_default_x86_relax_relocations,
653 [Define to 1 if you want to generate x86 relax relocations by default.])
655 if test ${ac_default_elf_stt_common} = unset; then
656 ac_default_elf_stt_common=0
658 AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_ELF_STT_COMMON,
659 $ac_default_elf_stt_common,
660 [Define to 1 if you want to generate ELF common symbols with the
661 STT_COMMON type by default.])
663 AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_BUILD_NOTES,
664 $ac_default_generate_build_notes,
665 [Define to 1 if you want to generate GNU Build attribute notes
666 by default, if none are contained in the input.])
668 if test ${ac_default_generate_x86_used_note} = unset; then
669 ac_default_generate_x86_used_note=0
671 AC_DEFINE_UNQUOTED(DEFAULT_X86_USED_NOTE,
672 $ac_default_generate_x86_used_note,
673 [Define to 1 if you want to generate GNU x86 used ISA and feature
674 properties by default.])
676 if test ${ac_default_generate_riscv_attr} = unset; then
679 ac_default_generate_riscv_attr=1
682 ac_default_generate_riscv_attr=0
687 AC_DEFINE_UNQUOTED(DEFAULT_RISCV_ATTR,
688 $ac_default_generate_riscv_attr,
689 [Define to 1 if you want to generate RISC-V arch attribute by default.])
691 if test x$ac_default_compressed_debug_sections = xyes ; then
692 AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
695 # Turn on all targets if possible
696 if test ${all_targets} = "yes"; then
697 case ${target_cpu_type} in
699 case ${obj_format} in
701 emulations="$emulations i386coff i386elf"
704 emulations="$emulations i386aout i386elf"
707 emulations="$emulations i386aout i386coff"
712 case ${obj_format} in
714 emulations="$emulations i386coff i386elf"
717 emulations="$emulations i386aout i386elf"
720 emulations="$emulations i386aout i386coff"
727 # PE code has way too many macros tweaking behaviour
729 pe*) emulations="" ;;
732 # Assign floating point type. Most processors with FP support
733 # IEEE FP. On those that don't support FP at all, usually IEEE
735 case ${target_cpu} in
736 vax | pdp11 ) atof=vax ;;
740 case "${obj_format}" in
741 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
744 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
746 if test $using_cgen = yes ; then
747 case ${target_cpu} in
749 cgen_cpu_prefix=or1k ;;
750 *) cgen_cpu_prefix=${target_cpu} ;;
752 AC_SUBST(cgen_cpu_prefix)
753 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
757 dnl Make sure the desired support files exist.
760 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
761 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
764 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
765 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
768 # Some COFF configurations want these random other flags set.
769 case ${obj_format} in
771 case ${target_cpu_type} in
772 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
773 x86_64) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
778 # Getting this done right is going to be a bitch. Each configuration specified
779 # with --enable-targets=... should be checked for environment, format, cpu
782 # For each configuration, the necessary object file support code must be linked
783 # in. This might be only one, it might be up to four. The necessary emulation
784 # code needs to be provided, too.
786 # And then there's "--enable-targets=all"....
788 # For now, just always do it for MIPS ELF configurations. Sigh.
790 formats="${obj_format}"
794 for em in . $emulations ; do
797 mipsbelf | mipslelf | mipself)
798 fmt=elf file=mipself ;;
806 formats="$formats $fmt"
807 emfiles="$emfiles config/e-$file.o"
808 EMULATIONS="$EMULATIONS &$em,"
812 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
813 for fmt in $formats ; do
815 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
816 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
817 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
818 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
819 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
820 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
822 extra_objects="$extra_objects config/obj-$fmt.o"
826 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
827 DEFAULT_EMULATION=`set . $emulations ; echo $2`
828 # e-mipself has more than one emulation per file, e-i386* has just one at the
829 # moment. If only one emulation is specified, then don't define
830 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
831 case "${obj_format}${emfiles}" in
833 extra_objects="$extra_objects $emfiles"
834 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
837 AC_SUBST(extra_objects)
838 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
839 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
840 [Default emulation.])
842 reject_dev_configs=yes
844 case ${reject_dev_configs}-${dev} in
846 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
850 AC_SUBST(target_cpu_type)
853 AC_SUBST(install_tooldir)
855 dnl AC_SUBST(emulation)
857 # do we need the opcodes library?
858 case "${need_opcodes}" in
860 OPCODES_LIB=../opcodes/libopcodes.la
864 AC_SUBST(OPCODES_LIB)
866 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
867 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
868 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
869 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
870 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
875 ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN"
876 ZW_GNU_GETTEXT_SISTER_DIR
880 AM_CONDITIONAL(GENINSRC_NEVER, false)
883 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h errno.h sys/types.h limits.h locale.h time.h sys/stat.h)
886 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
887 # people who are not cross-compiling but are compiling cross-assemblers.
888 AC_MSG_CHECKING(whether compiling a cross-assembler)
889 if test "${host}" = "${target}"; then
893 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
895 AC_MSG_RESULT($cross_gas)
897 dnl ansidecl.h will deal with const
902 # VMS doesn't have unlink.
903 AC_CHECK_FUNCS(unlink remove, break)
904 AC_CHECK_FUNCS(sbrk setlocale)
905 AC_CHECK_FUNCS(strsignal)
909 # do we need the math library?
910 case "${need_libm}" in
917 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
918 # enough, but on some of those systems, the assert macro relies on requoting
922 # On some systems, the system header files may not declare malloc, realloc,
923 # and free. There are places where gas needs these functions to have been
924 # declared -- such as when taking their addresses.
932 #ifdef HAVE_STRINGS_H
944 # Does errno.h declare errno, or do we have to add a separate declaration
946 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
952 AC_MSG_CHECKING(for a known getopt prototype in unistd.h)
953 AC_CACHE_VAL(gas_cv_decl_getopt_unistd_h,
954 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>], [extern int getopt (int, char *const*, const char *);])],
955 gas_cv_decl_getopt_unistd_h=yes, gas_cv_decl_getopt_unistd_h=no)])
956 AC_MSG_RESULT($gas_cv_decl_getopt_unistd_h)
957 if test $gas_cv_decl_getopt_unistd_h = yes; then
958 AC_DEFINE([HAVE_DECL_GETOPT], 1,
959 [Is the prototype for getopt in <unistd.h> in the expected format?])
962 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
963 GAS_CHECK_DECL_NEEDED(ffs, f, int (*f)(int), $gas_test_headers)
964 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
965 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
966 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
967 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
969 AC_CHECK_DECLS([free, getenv, malloc, mempcpy, realloc, stpcpy, strstr, vsnprintf, asprintf])
973 # Link in zlib if we can. This allows us to write compressed debug sections.
976 # Support for VMS timestamps via cross compile
978 if test "$ac_cv_header_time_h" = yes; then
979 GAS_HAVE_TIME_TYPE_MEMBER(struct tm, tm_gmtoff)
982 if test "$ac_cv_header_sys_stat_h" = yes; then
983 GAS_HAVE_SYS_STAT_TYPE_MEMBER(struct stat, st_mtim, tv_sec)
984 GAS_HAVE_SYS_STAT_TYPE_MEMBER(struct stat, st_mtim, tv_nsec)
988 dnl Required for html, pdf, install-pdf and install-html targets.
989 AC_SUBST(datarootdir)
994 dnl This must come last.
996 dnl We used to make symlinks to files in the source directory, but now
997 dnl we just use the right name for .c files, and create .h files in
998 dnl the build directory which include the right .h file. Make sure
999 dnl the old symlinks don't exist, so that a reconfigure in an existing
1000 dnl directory behaves reasonably.
1002 AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
1003 AC_CONFIG_COMMANDS([default],
1004 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
1005 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
1006 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
1007 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
1008 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
1009 if test "x$cgen_cpu_prefix" != x ; then
1010 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
1012 [target_cpu_type=${target_cpu_type}
1013 cgen_cpu_prefix=${cgen_cpu_prefix}
1014 obj_format=${obj_format}
1015 te_file=${te_file}])