dnl And be careful when changing it! If you must add tests with square
dnl brackets, be sure changequote invocations surround it.
dnl
-dnl Copyright (C) 2012-2018 Free Software Foundation, Inc.
+dnl Copyright (C) 2012-2019 Free Software Foundation, Inc.
dnl
dnl This file is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl <http://www.gnu.org/licenses/>.
dnl
dnl v2.5 needed for --bindir et al
-AC_PREREQ(2.59)
m4_include([../bfd/version.m4])
AC_INIT([gas], BFD_VERSION)
AC_CONFIG_SRCDIR(as.h)
*) enable_targets=$enableval ;;
esac])dnl
-ac_checking=yes
-if grep '^RELEASE=y' ${srcdir}/../bfd/Makefile.am >/dev/null 2>/dev/null ; then
- ac_checking=
-fi
+ac_checking=
+. ${srcdir}/../bfd/development.sh
+test "$development" = true && ac_checking=yes
AC_ARG_ENABLE(checking,
[ --enable-checking enable run-time checks],
[case "${enableval}" in
yes) ac_default_elf_stt_common=1 ;;
esac])dnl
+
+# Decide if the ELF assembler should default to generating
+# GNU Build notes if none are provided by the input.
+ac_default_generate_build_notes=0
+# Provide a configuration option to override the default.
+AC_ARG_ENABLE(generate_build_notes,
+ AS_HELP_STRING([--enable-generate-build-notes],
+ [generate GNU Build notes if none are provided by the input]),
+[case "${enableval}" in
+ yes) ac_default_generate_build_notes=1 ;;
+ no) ac_default_generate_build_notes=0 ;;
+esac])dnl
+
+# Decide if the MIPS assembler should default to enable MIPS fix Loongson3
+# LLSC errata.
+ac_default_mips_fix_loongson3_llsc=unset
+# Provide a configuration option to override the default.
+AC_ARG_ENABLE(mips-fix-loongson3-llsc,
+ AS_HELP_STRING([--enable-mips-fix-loongson3-llsc],
+ [enable MIPS fix Loongson3 LLSC errata]),
+[case "${enableval}" in
+ yes) ac_default_mips_fix_loongson3_llsc=1 ;;
+ no) ac_default_mips_fix_loongson3_llsc=0 ;;
+esac])dnl
+
+# Decide if the x86 ELF assembler should default to generating GNU x86
+# used ISA and feature properties.
+ac_default_generate_x86_used_note=unset
+# Provide a configuration option to override the default.
+AC_ARG_ENABLE(x86-used-note,
+ AS_HELP_STRING([--enable-x86-used-note],
+ [generate GNU x86 used ISA and feature properties]),
+[case "${enableval}" in
+ yes) ac_default_generate_x86_used_note=1 ;;
+ no) ac_default_generate_x86_used_note=0 ;;
+esac])dnl
+
+# Decide if the RISC-V ELF assembler should default to generating attribute.
+ac_default_generate_riscv_attr=unset
+# Provide a configuration option to override the default.
+AC_ARG_ENABLE(default-riscv-attribute,
+ AS_HELP_STRING([--enable-default-riscv-attribute],
+ [generate RISC-V arch attribute by default]),
+[case "${enableval}" in
+ yes) ac_default_generate_riscv_attr=1 ;;
+ no) ac_default_generate_riscv_attr=0 ;;
+esac])dnl
+
using_cgen=no
AM_BINUTILS_WARNINGS
case ${cpu_type} in
bfin)
- echo ${extra_objects} | grep -s "bfin-parse.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects bfin-parse.o"
- fi
-
- echo ${extra_objects} | grep -s "bfin-lex-wrapper.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects bfin-lex-wrapper.o"
- fi
- ;;
+ for f in bfin-parse.o bfin-lex-wrapper.o; do
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
+ esac
+ done
+ ;;
epiphany | fr30 | ip2k | iq2000 | lm32 | m32r | or1k)
using_cgen=yes
using_cgen=yes
;;
m68k)
- case ${extra_objects} in
- *m68k-parse.o*) ;;
- *) extra_objects="$extra_objects m68k-parse.o" ;;
+ f=m68k-parse.o
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
esac
;;
;;
mips)
- echo ${extra_objects} | grep -s "itbl-parse.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects itbl-parse.o"
- fi
-
- echo ${extra_objects} | grep -s "itbl-lex-wrapper.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects itbl-lex-wrapper.o"
- fi
-
- echo ${extra_objects} | grep -s "itbl-ops.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects itbl-ops.o"
- fi
+ for f in itbl-parse.o itbl-lex-wrapper.o itbl-ops.o; do
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
+ esac
+ done
;;
mt)
- using_cgen=yes
+ using_cgen=yes
;;
nds32)
- # Decide BASELINE, REDUCED_REGS, FPU_DP_EXT, FPU_SP_EXT features
+ # setup NDS32_LINUX_TOOLCHAIN definition
+ if test "linux" = $em; then
+ AC_DEFINE(NDS32_LINUX_TOOLCHAIN, 1,
+ [Define value for nds32_linux_toolchain])
+ else
+ AC_DEFINE(NDS32_LINUX_TOOLCHAIN, 0,
+ [Define default value for nds32_linux_toolchain])
+ fi
+
+ # Decide BASELINE, REDUCED_REGS, FPU_DP_EXT, FPU_SP_EXT features
# based on arch_name.
AC_MSG_CHECKING(for default configuration of --with-arch)
if test "x${with_arch}" != x; then
case ${with_arch} in
- v2j | v2s | v2f | v2 | v3m | v3j | v3s | v3f | v3 )
+ v2j | v2s | v2f | v2 | v3m | v3j | v3s | v3f | v3 )
AC_DEFINE_UNQUOTED(NDS32_DEFAULT_ARCH_NAME, "$with_arch",
[Define value for nds32_arch_name])
- ;;
+ ;;
*)
AC_MSG_ERROR(This kind of arch name does *NOT* exist!)
;;
- esac
+ esac
fi
AC_MSG_RESULT($with_arch)
- # Decide features one by one.
- AC_MSG_CHECKING(for default configuration of --enable-dx-regs)
+ # Decide features one by one.
+ AC_MSG_CHECKING(for default configuration of --enable-dx-regs)
if test "x${enable_dx_regs}" = xyes; then
AC_DEFINE(NDS32_DEFAULT_DX_REGS, 1,
[Define value for nds32_dx_regs])
fi
AC_MSG_RESULT($enable_dx_regs)
- AC_MSG_CHECKING(for default configuration of --enable-perf-ext)
+ AC_MSG_CHECKING(for default configuration of --enable-perf-ext)
if test "x${enable_perf_ext}" = xno; then
AC_DEFINE(NDS32_DEFAULT_PERF_EXT, 0,
[Define value for nds32_perf_ext])
fi
AC_MSG_RESULT($enable_perf_ext)
- AC_MSG_CHECKING(for default configuration of --enable-perf-ext2)
+ AC_MSG_CHECKING(for default configuration of --enable-perf-ext2)
if test "x${enable_perf_ext2}" = xno; then
AC_DEFINE(NDS32_DEFAULT_PERF_EXT2, 0,
[Define value for nds32_perf_ext2])
fi
AC_MSG_RESULT($enable_perf_ext2)
- AC_MSG_CHECKING(for default configuration of --enable-string-ext)
+ AC_MSG_CHECKING(for default configuration of --enable-string-ext)
if test "x${enable_string_ext}" = xno; then
AC_DEFINE(NDS32_DEFAULT_STRING_EXT, 0,
[Define value for nds32_string_ext])
fi
AC_MSG_RESULT($enable_string_ext)
- AC_MSG_CHECKING(for default configuration of --enable-audio-ext)
+ AC_MSG_CHECKING(for default configuration of --enable-audio-ext)
if test "x${enable_audio_ext}" = xno; then
AC_DEFINE(NDS32_DEFAULT_AUDIO_EXT, 0,
[Define value for nds32_audio_ext])
[Define default value for nds32_audio_ext])
fi
AC_MSG_RESULT($enable_audio_ext)
+
+ AC_MSG_CHECKING(for default configuration of --enable-dsp-ext)
+ if test "x${enable_dsp_ext}" = xno; then
+ AC_DEFINE(NDS32_DEFAULT_DSP_EXT, 0,
+ [Define value for nds32_dsp_ext])
+ else
+ AC_DEFINE(NDS32_DEFAULT_DSP_EXT, 1,
+ [Define default value for nds32_dsp_ext])
+ fi
+ AC_MSG_RESULT($enable_dsp_ext)
+
+ AC_MSG_CHECKING(for default configuration of --enable-zol-ext)
+ if test "x${enable_zol_ext}" = xno; then
+ AC_DEFINE(NDS32_DEFAULT_ZOL_EXT, 0,
+ [Define value for nds32_zol_ext])
+ else
+ AC_DEFINE(NDS32_DEFAULT_ZOL_EXT, 1,
+ [Define default value for nds32_zol_ext])
+ fi
+ AC_MSG_RESULT($enable_zol_ext)
;;
aarch64 | i386 | riscv | s390 | sparc)
;;
rl78)
- echo ${extra_objects} | grep -s "rl78-parse.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects rl78-parse.o"
- fi
+ f=rl78-parse.o
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
+ esac
;;
rx)
- echo ${extra_objects} | grep -s "rx-parse.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects rx-parse.o"
- fi
+ f=rx-parse.o
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
+ esac
;;
xstormy16)
;;
xtensa)
- echo ${extra_objects} | grep -s "xtensa-relax.o"
- if test $? -ne 0 ; then
- extra_objects="$extra_objects xtensa-relax.o"
- fi
+ f=config/xtensa-relax.o
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
+ esac
;;
*)
esac
if test $using_cgen = yes ; then
- case "x${extra_objects}" in
- *cgen.o*) ;;
- *) extra_objects="$extra_objects cgen.o" ;;
+ f=cgen.o
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
esac
fi
te_file=$em
fi
- case ${te_file} in
- vms) extra_objects="$extra_objects te-vms.o" ;;
- esac
+ case ${te_file} in
+ vms)
+ f=config/te-vms.o
+ case " $extra_objects " in
+ *" $f "*) ;;
+ *) extra_objects="$extra_objects $f" ;;
+ esac ;;
+ esac
# From target name and format, produce a list of supported emulations.
[Define to 1 if you want to generate ELF common symbols with the
STT_COMMON type by default.])
+AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_BUILD_NOTES,
+ $ac_default_generate_build_notes,
+ [Define to 1 if you want to generate GNU Build attribute notes
+ by default, if none are contained in the input.])
+
+if test ${ac_default_generate_x86_used_note} = unset; then
+ ac_default_generate_x86_used_note=0
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_X86_USED_NOTE,
+ $ac_default_generate_x86_used_note,
+ [Define to 1 if you want to generate GNU x86 used ISA and feature
+ properties by default.])
+
+if test ${ac_default_generate_riscv_attr} = unset; then
+ case ${target_os} in
+ elf)
+ ac_default_generate_riscv_attr=1
+ ;;
+ *)
+ ac_default_generate_riscv_attr=0
+ ;;
+ esac
+fi
+
+AC_DEFINE_UNQUOTED(DEFAULT_RISCV_ATTR,
+ $ac_default_generate_riscv_attr,
+ [Define to 1 if you want to generate RISC-V arch attribute by default.])
+
+if test ${ac_default_mips_fix_loongson3_llsc} = unset; then
+ ac_default_mips_fix_loongson3_llsc=0
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_MIPS_FIX_LOONGSON3_LLSC,
+ $ac_default_mips_fix_loongson3_llsc,
+ [Define to 1 if you want to fix Loongson3 LLSC Errata by default.])
+
if test x$ac_default_compressed_debug_sections = xyes ; then
AC_DEFINE(DEFAULT_FLAG_COMPRESS_DEBUG, 1, [Define if you want compressed debug sections by default.])
fi
fmt=elf file=$em ;;
esac
formats="$formats $fmt"
- emfiles="$emfiles e-$file.o"
+ emfiles="$emfiles config/e-$file.o"
EMULATIONS="$EMULATIONS &$em,"
done
GAS_UNIQ(formats)
generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
esac
- extra_objects="$extra_objects obj-$fmt.o"
+ extra_objects="$extra_objects config/obj-$fmt.o"
done
obj_format=multi
fi