Extend the assembler so that it can automatically generate GNU Build attribute notes...
[binutils-gdb.git] / gas / configure.ac
index f7ed1b3d7073df1d826b1da7e7dacdc6777b506c..a639422026ca7444d3c66b0ac923ba746afde0e2 100644 (file)
@@ -3,7 +3,7 @@ dnl
 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-2015 Free Software Foundation, Inc.
+dnl   Copyright (C) 2012-2018 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
@@ -40,6 +40,7 @@ AC_USE_SYSTEM_EXTENSIONS
 
 LT_INIT
 ACX_LARGEFILE
+ACX_PROG_CMP_IGNORE_INITIAL
 
 AC_ARG_ENABLE(targets,
 [  --enable-targets        alternative target configurations besides the primary],
@@ -69,13 +70,50 @@ fi
 ac_default_compressed_debug_sections=unset
 # Provide a configure time option to override our default.
 AC_ARG_ENABLE(compressed_debug_sections,
-[  --enable-compressed-debug-sections={all,gas,none}  compress debug sections by default],
-[case "${enableval}" in
-  yes | all | gas) ac_default_compressed_debug_sections=yes ;;
-  no | none)  ac_default_compressed_debug_sections=no ;;
+             AS_HELP_STRING([--enable-compressed-debug-sections={all,gas,none}],
+             [compress debug sections by default]),
+[case ,"${enableval}", in
+  ,yes, | ,all, | *,gas,*) ac_default_compressed_debug_sections=yes ;;
+  ,no, | ,none,)  ac_default_compressed_debug_sections=no ;;
   *)   ac_default_compressed_debug_sections=unset ;;
 esac])dnl
 
+# PR gas/19520
+# Decide if x86 assembler should generate relax relocations.
+ac_default_x86_relax_relocations=unset
+# Provide a configure time option to override our default.
+AC_ARG_ENABLE(x86_relax_relocations,
+             AS_HELP_STRING([--enable-x86-relax-relocations],
+             [generate x86 relax relocations by default]),
+[case "${enableval}" in
+  no)  ac_default_x86_relax_relocations=0 ;;
+esac])dnl
+
+# Decide if ELF assembler should generate common symbols with the
+# STT_COMMON type.
+ac_default_elf_stt_common=unset
+# Provide a configure time option to override our default.
+AC_ARG_ENABLE(elf_stt_common,
+             AS_HELP_STRING([--enable-elf-stt-common],
+             [generate ELF common symbols with STT_COMMON type by default]),
+[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
+
+
 using_cgen=no
 
 AM_BINUTILS_WARNINGS
@@ -83,6 +121,17 @@ AM_BINUTILS_WARNINGS
 # Generate a header file
 AC_CONFIG_HEADERS(config.h:config.in)
 
+dnl Option --with-cpu=TYPE allows configure type control of the default
+dnl cpu type within the assembler.  Currently only the ARC target
+dnl supports this feature, but others may be added in the future.
+AC_ARG_WITH(cpu,
+            AS_HELP_STRING([--with-cpu=CPU],
+            [default cpu variant is CPU (currently only supported on ARC)]),
+            [AC_DEFINE_UNQUOTED(TARGET_WITH_CPU,
+                                "${with_cpu}",
+                                [Target specific CPU.])],
+            [])
+
 # PR 14072
 AH_VERBATIM([00_CONFIG_H_CHECK],
 [/* Check that config.h is #included before system headers
@@ -106,7 +155,7 @@ case "${host}" in
 esac
 AC_SUBST(GDBINIT)
 
-#We need this for the host.  BOUT header is in host order.
+#We need this for the host.
 AC_C_BIGENDIAN
 
 te_file=generic
@@ -155,20 +204,21 @@ for this_target in $target $canon_targets ; do
 
     generic_target=${cpu_type}-${target_vendor}-${target_os}
     case ${generic_target} in
-      i386-*-sco3.2v5*)
-       if test ${this_target} = $target; then
-         AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.])
-       fi
-       ;;
-
       i386-*-msdosdjgpp* \
       | i386-*-go32* \
       | i386-go32-rtems*)
        AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
        ;;
 
-      i860-*-*)
-       AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
+      i386-*-solaris2 \
+      | x86_64-*-solaris2 \
+      | i386-*-solaris2.[[0-9]] \
+      | i386-*-solaris2.1[[01]] \
+      | x86_64-*-solaris2.1[[01]])
+       if test ${this_target} = $target \
+          && test ${ac_default_x86_relax_relocations} = unset; then
+         ac_default_x86_relax_relocations=0
+       fi
        ;;
 
       microblaze*)
@@ -189,10 +239,6 @@ changequote([,])dnl
          AC_MSG_ERROR(Solaris must be configured little endian)
        fi
        ;;
-
-      sh*-*-symbianelf*)
-       AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
-       ;;
     esac
 
     if test ${this_target} = $target ; then
@@ -299,7 +345,8 @@ changequote([,])dnl
        esac
        # Decide which ABI to target by default.
        case ${target} in
-         mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* | mips64*-kfreebsd*-gnu)
+         mips64*-linux* | mips-sgi-irix6* | mips64*-freebsd* \
+         | mips64*-kfreebsd*-gnu | mips64*-ps2-elf*)
            mips_default_abi=N32_ABI
            ;;
          mips*-linux* | mips*-freebsd* | mips*-kfreebsd*-gnu)
@@ -465,7 +512,7 @@ changequote([,])dnl
        AC_MSG_RESULT($enable_audio_ext)
        ;;
 
-      i386 | s390 | sparc)
+      aarch64 | i386 | riscv | s390 | sparc)
        if test $this_target = $target ; then
          AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
        fi
@@ -548,7 +595,27 @@ changequote([,])dnl
 
 done
 
-if test x$ac_default_compressed_debug_sections == xyes ; then
+if test ${ac_default_x86_relax_relocations} = unset; then
+  ac_default_x86_relax_relocations=1
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_X86_RELAX_RELOCATIONS,
+  $ac_default_x86_relax_relocations,
+  [Define to 1 if you want to generate x86 relax relocations by default.])
+
+if test ${ac_default_elf_stt_common} = unset; then
+  ac_default_elf_stt_common=0
+fi
+AC_DEFINE_UNQUOTED(DEFAULT_GENERATE_ELF_STT_COMMON,
+  $ac_default_elf_stt_common,
+  [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 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
 
@@ -630,8 +697,6 @@ case ${obj_format} in
   coff)
     case ${target_cpu_type} in
       i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
-      m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
-      m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
       x86_64) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
     esac
     ;;
@@ -675,7 +740,6 @@ if test `set . $formats ; shift ; echo $#` -gt 1 ; then
   for fmt in $formats ; do
     case $fmt in
       aout)    AC_DEFINE(OBJ_MAYBE_AOUT, 1,    [a.out support?])   ;;
-      bout)    AC_DEFINE(OBJ_MAYBE_BOUT, 1,    [b.out support?])   ;;
       coff)    AC_DEFINE(OBJ_MAYBE_COFF, 1,    [COFF support?])    ;;
       ecoff)   AC_DEFINE(OBJ_MAYBE_ECOFF, 1,   [ECOFF support?])   ;;
       elf)     AC_DEFINE(OBJ_MAYBE_ELF, 1,     [ELF support?])     ;;
@@ -735,7 +799,7 @@ AC_DEFINE_UNQUOTED(TARGET_OS,               "${target_os}",    [Target OS.])
 AC_PROG_YACC
 AM_PROG_LEX
 
-ALL_LINGUAS="fr tr es rw id ru fi ja"
+ALL_LINGUAS="es fi fr id ja ru rw sv tr uk zh_CN"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
@@ -765,6 +829,7 @@ AC_C_INLINE
 # VMS doesn't have unlink.
 AC_CHECK_FUNCS(unlink remove, break)
 AC_CHECK_FUNCS(sbrk setlocale)
+AC_CHECK_FUNCS(strsignal)
 
 AM_LC_MESSAGES