1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
dnl Process this file with autoconf to produce a configure script.
dnl NB: The version here is not used. If gdb ever changes from generating its
dnl version at build time to autoconf time (like bfd et al do), we can switch.
AC_INIT([sim], [0],
[https://sourceware.org/bugzilla/enter_bug.cgi?product=gdb&component=sim],
[], [https://sourceware.org/gdb/wiki/Sim/])
dnl Probably should unify PKGVERSION with PACKAGE_* settings from AC_INIT.
ACX_PKGVERSION([SIM])
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
dnl PACKAGE_BUGREPORT is provided by AC_INIT.
ACX_BUGURL([$PACKAGE_BUGREPORT])
AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
AC_CONFIG_HEADERS([config.h])
dnl Set the 'development' global before loading the SIM macros.
. $srcdir/../bfd/development.sh
SIM_AC_TOOLCHAIN
SIM_AC_PLATFORM
m4_include([../gdbsupport/libiberty.m4])
libiberty_INIT
AM_MAINTAINER_MODE
AM_INIT_AUTOMAKE
AM_SILENT_RULES([yes])
# If a cpu ever has more than one simulator to choose from, use
# --enable-sim=... to choose.
AC_ARG_ENABLE(sim,
[AS_HELP_STRING([--enable-sim], [Enable the GNU simulator])],
[case "${enableval}" in
yes | no) ;;
*) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
esac])
AC_ARG_ENABLE([example-sims],
[AS_HELP_STRING([--enable-example-sims],
[enable example GNU simulators])])
AC_ARG_ENABLE(targets,
[ --enable-targets alternative target configurations],
[case "${enableval}" in
yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
;;
no) enable_targets= ;;
*) enable_targets=$enableval ;;
esac])
dnl Used to keep track of which target (if any) is the default one. This is
dnl used when installing files to see if they need to be suffixed.
SIM_PRIMARY_TARGET=
AC_SUBST(SIM_PRIMARY_TARGET)
dnl List of enabled arch backends.
SIM_ENABLED_ARCHES=
AC_SUBST(SIM_ENABLED_ARCHES)
ENABLE_SIM=no
dnl Build a particular arch subdir.
dnl arg[1] is the arch subdir name.
m4_define([SIM_BUILD_TARGET], [dnl
ENABLE_SIM=yes
AS_VAR_APPEND([SIM_ENABLED_ARCHES], [" $1"])
AC_CONFIG_FILES($1/.gdbinit:common/gdbinit.in)
])
dnl Enable a particular arch subdir.
dnl arg[1] is the matching target triple.
dnl arg[2] is the arch subdir name.
m4_define([SIM_TARGET], [dnl
sim_enable_arch_$2=false
case "${targ}" in
all|$1)
if test "${targ}" = "${target}"; then
SIM_PRIMARY_TARGET=$2
fi
SIM_BUILD_TARGET($2)
sim_enable_arch_$2=true
;;
esac
SIM_AC_TOOLCHAIN_FOR_TARGET($2)
AM_CONDITIONAL([SIM_ENABLE_ARCH_$2], [${sim_enable_arch_$2}])
])
dnl WHEN ADDING ENTRIES TO THIS MATRIX:
dnl Make sure that the left side always has two dashes. Otherwise you can get
dnl spurious matches. Even for unambiguous cases, do this as a convention, else
dnl the table becomes a real mess to understand and maintain.
dnl
dnl NB: Target matching is aligned with gdb/configure.tgt. Changes must be kept
dnl in sync with that file.
if test "${enable_sim}" != no; then
for targ in `echo $target $enable_targets | sed 's/,/ /g'`
do
m4_map([SIM_TARGET], [
[[aarch64*-*-*], [aarch64]],
[[arm*-*-*], [arm]],
[[avr*-*-*], [avr]],
[[bfin-*-*], [bfin]],
[[bpf-*-*], [bpf]],
[[cr16*-*-*], [cr16]],
[[cris-*-* | crisv32-*-*], [cris]],
[[d10v-*-*], [d10v]],
[[frv-*-*], [frv]],
[[ft32-*-*], [ft32]],
[[h8300*-*-*], [h8300]],
[[iq2000-*-*], [iq2000]],
[[lm32-*-*], [lm32]],
[[m32c-*-*], [m32c]],
[[m32r-*-*], [m32r]],
[[m68hc11-*-*|m6811-*-*], [m68hc11]],
[[mcore-*-*], [mcore]],
[[microblaze*-*-*], [microblaze]],
[[mips*-*-*], [mips]],
[[mn10300*-*-*], [mn10300]],
[[moxie-*-*], [moxie]],
[[msp430*-*-*], [msp430]],
[[or1k*-*-*], [or1k]],
[[powerpc*-*-*], [ppc]],
[[pru*-*-*], [pru]],
[[riscv*-*-*], [riscv]],
[[rl78-*-*], [rl78]],
[[rx-*-*], [rx]],
[[sh*-*-*], [sh]],
[[sparc-*-*], [erc32]],
[[v850*-*-*], [v850]],
])
done
if test "x${enable_example_sims}" = xyes; then
SIM_AC_TOOLCHAIN_FOR_TARGET(example-synacor)
SIM_BUILD_TARGET([example-synacor])
fi
AM_CONDITIONAL([SIM_ENABLE_ARCH_examples], [test "${enable_example_sims}" = "yes"])
fi
AM_CONDITIONAL([ENABLE_SIM], [test "$ENABLE_SIM" = "yes"])
dnl Standard (and optional) simulator options.
dnl Eventually all simulators will support these.
SIM_AC_OPTION_ALIGNMENT
SIM_AC_OPTION_ASSERT
SIM_AC_OPTION_CGEN_MAINT
SIM_AC_OPTION_DEBUG
SIM_AC_OPTION_ENDIAN
SIM_AC_OPTION_ENVIRONMENT
SIM_AC_OPTION_HARDWARE
SIM_AC_OPTION_INLINE
SIM_AC_OPTION_PROFILE
SIM_AC_OPTION_RESERVED_BITS
SIM_AC_OPTION_SCACHE
SIM_AC_OPTION_SMP
SIM_AC_OPTION_STDIO
SIM_AC_OPTION_TRACE
SIM_AC_OPTION_WARNINGS
dnl Some arches have unique configure flags.
m4_include([frv/acinclude.m4])
m4_include([mips/acinclude.m4])
m4_include([ppc/acinclude.m4])
m4_include([riscv/acinclude.m4])
m4_include([rx/acinclude.m4])
AC_CONFIG_FILES([Makefile .gdbinit:gdbinit.in])
AC_OUTPUT
|