]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - opcodes/configure.ac
x86: templatize INC/DEC
[thirdparty/binutils-gdb.git] / opcodes / configure.ac
index 07e31626f473c442564c904f5d47b9ae840c493b..d812ff54a952bc86e451f2871eba7ff76269d05b 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl   Copyright (C) 2012-2015 Free Software Foundation, Inc.
+dnl   Copyright (C) 2012-2024 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
@@ -17,15 +17,14 @@ dnl along with this program; see the file COPYING3.  If not see
 dnl <http://www.gnu.org/licenses/>.
 dnl
 
-AC_PREREQ(2.59)
 m4_include([../bfd/version.m4])
 AC_INIT([opcodes], BFD_VERSION)
 AC_CONFIG_SRCDIR([z8k-dis.c])
 
 AC_CANONICAL_TARGET
-AC_ISC_POSIX
 
 AM_INIT_AUTOMAKE
+AM_SILENT_RULES([yes])
 
 AC_PROG_CC
 AC_GNU_SOURCE
@@ -42,6 +41,19 @@ AC_DISABLE_SHARED
 
 LT_INIT
 
+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
+  no|none)  ac_checking= ;;
+  *)       ac_checking=yes ;;
+esac])dnl
+if test x$ac_checking != x ; then
+  AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
+fi
+
 AC_ARG_ENABLE(targets,
 [  --enable-targets        alternative target configurations],
 [case "${enableval}" in
@@ -52,8 +64,6 @@ AC_ARG_ENABLE(targets,
 esac])dnl
 
 AM_BINUTILS_WARNINGS
-ACX_PROG_CC_WARNING_OPTS([-Wno-missing-field-initializers],
-                        [NO_WMISSING_FIELD_INITIALIZERS])
 
 AC_CONFIG_HEADERS(config.h:config.in)
 
@@ -76,20 +86,18 @@ AC_EXEEXT
 
 # host-specific stuff:
 
-ALL_LINGUAS="fr sv tr es da de id pt_BR ro nl fi vi ga zh_CN it uk"
+ALL_LINGUAS="da de es fi fr ga id it nl pt_BR ro sr sv tr uk vi zh_CN"
 ZW_GNU_GETTEXT_SISTER_DIR
 AM_PO_SUBDIRS
 
 . ${srcdir}/../bfd/configure.host
 
 BFD_CC_FOR_BUILD
+BFD_64_BIT
 
 AC_SUBST(HDEFINES)
 AC_PROG_INSTALL
 
-AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
-ACX_HEADER_STRING
-
 AC_CHECK_DECLS([basename, stpcpy])
 
 # Check if sigsetjmp is available.  Using AC_CHECK_FUNCS won't do
@@ -104,7 +112,10 @@ if test $bfd_cv_func_sigsetjmp = yes; then
 fi
 
 cgen_maint=no
-cgendir='$(srcdir)/../cgen'
+cgendir='$(srcdir)/../../cgen'
+if test -r ${srcdir}/../cgen/iformat.scm; then
+    cgendir='$(srcdir)/../cgen'
+fi
 
 AC_ARG_ENABLE(cgen-maint,
 [  --enable-cgen-maint[=dir]    build cgen generated files],
@@ -112,11 +123,17 @@ AC_ARG_ENABLE(cgen-maint,
   yes) cgen_maint=yes ;;
   no)  cgen_maint=no ;;
   *)
-       # argument is cgen install directory (not implemented yet).
-       # Having a `share' directory might be more appropriate for the .scm,
-       # .cpu, etc. files.
+       # Argument is a directory where cgen can be found.  In some
+       # future world cgen could be installable, but right now this
+       # is not the case.  Instead we assume the directory is a path
+       # to the cgen source tree.
        cgen_maint=yes
-       cgendir=${cgen_maint}/lib/cgen
+        if test -r ${enableval}/iformat.scm; then
+          # This looks like a cgen source tree.
+         cgendir=${enableval}
+        else
+         AC_MSG_ERROR(${enableval} doesn't look like a cgen source tree)
+        fi
        ;;
 esac])dnl
 AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} = xyes)
@@ -163,31 +180,26 @@ if test "$enable_shared" = "yes"; then
 # Note that linking against libbfd as we do here, which is itself linked
 # against libiberty, may not satisfy all the libopcodes libiberty references
 # since libbfd may not pull in the entirety of libiberty.
+# Also, jam libintl into the right place in all of this: after libiberty,
+# which uses it, but before -lcygwin, which it uses.
 changequote(,)dnl
   x=`sed -n -e 's/^[   ]*PICFLAG[      ]*=[    ]*//p' < ../libiberty/Makefile | sed -n '$p'`
 changequote([,])dnl
   if test -n "$x"; then
     SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
   fi
+fi
+
+SHARED_LIBADD="$SHARED_LIBADD $LTLIBINTL"
 
+if test "$enable_shared" = "yes"; then
   case "${host}" in
     *-*-cygwin*)
       SHARED_LDFLAGS="-no-undefined"
-      SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
+      SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty $SHARED_LIBADD"
       ;;
-   *-*-darwin*)
-     SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
-     SHARED_DEPENDENCIES="../bfd/libbfd.la"
-     ;;
     *)
-      case "$host_vendor" in
-        hp)
-          SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
-         ;;
-       *)
-          SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
-         ;;
-      esac
+      SHARED_LIBADD="../bfd/libbfd.la ${SHARED_LIBADD}"
       SHARED_DEPENDENCIES="../bfd/libbfd.la"
       ;;
   esac
@@ -254,13 +266,15 @@ if test x${all_targets} = xfalse ; then
        case "$arch" in
        bfd_aarch64_arch)       ta="$ta aarch64-asm.lo aarch64-dis.lo aarch64-opc.lo aarch64-asm-2.lo aarch64-dis-2.lo aarch64-opc-2.lo" ;;
        bfd_alpha_arch)         ta="$ta alpha-dis.lo alpha-opc.lo" ;;
+       bfd_amdgcn_arch)        ;;
        bfd_arc_arch)           ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
        bfd_arm_arch)           ta="$ta arm-dis.lo" ;;
        bfd_avr_arch)           ta="$ta avr-dis.lo" ;;
        bfd_bfin_arch)          ta="$ta bfin-dis.lo" ;;
        bfd_cr16_arch)          ta="$ta cr16-dis.lo cr16-opc.lo" ;;
-       bfd_cris_arch)          ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
+       bfd_cris_arch)          ta="$ta cris-desc.lo cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
        bfd_crx_arch)           ta="$ta crx-dis.lo crx-opc.lo" ;;
+       bfd_csky_arch)          ta="$ta csky-dis.lo" ;;
        bfd_d10v_arch)          ta="$ta d10v-dis.lo d10v-opc.lo" ;;
        bfd_d30v_arch)          ta="$ta d30v-dis.lo d30v-opc.lo" ;;
        bfd_dlx_arch)           ta="$ta dlx-dis.lo" ;;
@@ -269,17 +283,14 @@ if test x${all_targets} = xfalse ; then
        bfd_ft32_arch)          ta="$ta ft32-opc.lo ft32-dis.lo" ;;
        bfd_moxie_arch)         ta="$ta moxie-dis.lo moxie-opc.lo" ;;
        bfd_h8300_arch)         ta="$ta h8300-dis.lo" ;;
-       bfd_h8500_arch)         ta="$ta h8500-dis.lo" ;;
        bfd_hppa_arch)          ta="$ta hppa-dis.lo" ;;
-       bfd_i370_arch)          ta="$ta i370-dis.lo i370-opc.lo" ;;
-       bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
-                               ta="$ta i386-dis.lo i386-opc.lo" ;;
-       bfd_i860_arch)          ta="$ta i860-dis.lo" ;;
-       bfd_i960_arch)          ta="$ta i960-dis.lo" ;;
+       bfd_i386_arch|bfd_iamcu_arch)
+                               ta="$ta i386-dis.lo" ;;
        bfd_ia64_arch)          ta="$ta ia64-dis.lo ia64-opc.lo" ;;
        bfd_ip2k_arch)          ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
        bfd_epiphany_arch)      ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
        bfd_iq2000_arch)        ta="$ta iq2000-asm.lo iq2000-desc.lo iq2000-dis.lo iq2000-ibld.lo iq2000-opc.lo" using_cgen=yes ;;
+       bfd_kvx_arch)           ta="$ta kvx-opc.lo kvx-dis.lo" ;;
        bfd_lm32_arch)          ta="$ta lm32-asm.lo lm32-desc.lo lm32-dis.lo lm32-ibld.lo lm32-opc.lo lm32-opinst.lo" using_cgen=yes ;;
        bfd_m32c_arch)          ta="$ta m32c-asm.lo m32c-desc.lo m32c-dis.lo m32c-ibld.lo m32c-opc.lo" using_cgen=yes ;;
        bfd_m32r_arch)          ta="$ta m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo" using_cgen=yes ;;
@@ -287,8 +298,8 @@ if test x${all_targets} = xfalse ; then
        bfd_m68hc12_arch)       ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
        bfd_m9s12x_arch)        ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
        bfd_m9s12xg_arch)       ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
+       bfd_s12z_arch)          ta="$ta s12z-dis.lo s12z-opc.lo" ;;
        bfd_m68k_arch)          ta="$ta m68k-dis.lo m68k-opc.lo" ;;
-       bfd_m88k_arch)          ta="$ta m88k-dis.lo" ;;
        bfd_mcore_arch)         ta="$ta mcore-dis.lo" ;;
        bfd_mep_arch)           ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
        bfd_metag_arch)         ta="$ta metag-dis.lo" ;;
@@ -300,6 +311,7 @@ if test x${all_targets} = xfalse ; then
        bfd_mt_arch)            ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
        bfd_msp430_arch)        ta="$ta msp430-dis.lo msp430-decode.lo" ;;
        bfd_nds32_arch)         ta="$ta nds32-asm.lo nds32-dis.lo" ;;
+       bfd_nfp_arch)           ta="$ta nfp-dis.lo" ;;
        bfd_nios2_arch)         ta="$ta nios2-dis.lo nios2-opc.lo" ;;
        bfd_ns32k_arch)         ta="$ta ns32k-dis.lo" ;;
        bfd_or1k_arch)          ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
@@ -307,36 +319,22 @@ if test x${all_targets} = xfalse ; then
        bfd_pj_arch)            ta="$ta pj-dis.lo pj-opc.lo" ;;
        bfd_powerpc_arch)       ta="$ta ppc-dis.lo ppc-opc.lo" ;;
        bfd_powerpc_64_arch)    ta="$ta ppc-dis.lo ppc-opc.lo" ;;
+       bfd_pru_arch)           ta="$ta pru-dis.lo pru-opc.lo" ;;
        bfd_pyramid_arch)       ;;
        bfd_romp_arch)          ;;
+       bfd_riscv_arch)         ta="$ta riscv-dis.lo riscv-opc.lo" ;;
        bfd_rs6000_arch)        ta="$ta ppc-dis.lo ppc-opc.lo" ;;
        bfd_rl78_arch)          ta="$ta rl78-dis.lo rl78-decode.lo";;
        bfd_rx_arch)            ta="$ta rx-dis.lo rx-decode.lo";;
        bfd_s390_arch)          ta="$ta s390-dis.lo s390-opc.lo" ;;
        bfd_score_arch)         ta="$ta score-dis.lo score7-dis.lo" ;;
-       bfd_sh_arch)
-         # We can't decide what we want just from the CPU family.
-         # We want SH5 support unless a specific version of sh is
-         # specified, as in sh3-elf, sh3b-linux-gnu, etc.
-         # Include it just for ELF targets, since the SH5 bfd:s are ELF only.
-         for t in $target $canon_targets; do
-           case $t in
-             all |  sh5*-* | sh64*-* | sh-*-*elf* | shl*-*-*elf* | \
-             sh-*-linux* | shl-*-linux*)
-                               ta="$ta sh64-dis.lo sh64-opc.lo"
-                               archdefs="$archdefs -DINCLUDE_SHMEDIA"
-                               break;;
-           esac;
-         done
-                               ta="$ta sh-dis.lo cgen-bitset.lo" ;;
+       bfd_sh_arch)            ta="$ta sh-dis.lo cgen-bitset.lo" ;;
        bfd_sparc_arch)         ta="$ta sparc-dis.lo sparc-opc.lo" ;;
        bfd_spu_arch)           ta="$ta spu-dis.lo spu-opc.lo" ;;
-       bfd_tahoe_arch)         ;;
        bfd_tic30_arch)         ta="$ta tic30-dis.lo" ;;
        bfd_tic4x_arch)         ta="$ta tic4x-dis.lo" ;;
        bfd_tic54x_arch)        ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
        bfd_tic6x_arch)         ta="$ta tic6x-dis.lo" ;;
-       bfd_tic80_arch)         ta="$ta tic80-dis.lo tic80-opc.lo" ;;
        bfd_tilegx_arch)        ta="$ta tilegx-dis.lo tilegx-opc.lo" ;;
        bfd_tilepro_arch)       ta="$ta tilepro-dis.lo tilepro-opc.lo" ;;
        bfd_v850_arch)          ta="$ta v850-opc.lo v850-dis.lo" ;;
@@ -345,14 +343,14 @@ if test x${all_targets} = xfalse ; then
        bfd_v850_rh850_arch)    ta="$ta v850-opc.lo v850-dis.lo" ;;
        bfd_vax_arch)           ta="$ta vax-dis.lo" ;;
        bfd_visium_arch)        ta="$ta visium-dis.lo visium-opc.lo" ;;
-       bfd_w65_arch)           ta="$ta w65-dis.lo" ;;
-       bfd_we32k_arch)         ;;
-       bfd_xc16x_arch)         ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
+        bfd_wasm32_arch)        ta="$ta wasm32-dis.lo" ;;
        bfd_xgate_arch)         ta="$ta xgate-dis.lo xgate-opc.lo" ;;
        bfd_xstormy16_arch)     ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
        bfd_xtensa_arch)        ta="$ta xtensa-dis.lo" ;;
        bfd_z80_arch)           ta="$ta z80-dis.lo" ;;
        bfd_z8k_arch)           ta="$ta z8k-dis.lo" ;;
+       bfd_bpf_arch)           ta="$ta bpf-dis.lo bpf-opc.lo" ;;
+       bfd_loongarch_arch)     ta="$ta loongarch-dis.lo loongarch-opc.lo loongarch-coder.lo" ;;
 
        "")                     ;;
        *)              AC_MSG_ERROR(*** unknown target architecture $arch) ;;
@@ -387,7 +385,11 @@ if test x${all_targets} = xfalse ; then
 
 else   # all_targets is true
     archdefs=-DARCH_all
-    BFD_MACHINES='$(ALL_MACHINES)'
+    if test "$enable_64_bit_bfd" = "yes" ; then
+       BFD_MACHINES='$(ALL32_MACHINES) $(ALL64_MACHINES)'
+    else
+       BFD_MACHINES='$(ALL32_MACHINES)'
+    fi
 fi
 
 AC_SUBST(archdefs)
@@ -395,3 +397,5 @@ AC_SUBST(BFD_MACHINES)
 
 AC_CONFIG_FILES([Makefile po/Makefile.in:po/Make-in])
 AC_OUTPUT
+
+GNU_MAKE_JOBSERVER