]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/configure.ac
sim: unify platform function & header tests
[thirdparty/binutils-gdb.git] / sim / configure.ac
1 dnl Process this file with autoconf to produce a configure script.
2 dnl NB: The version here is not used. If gdb ever changes from generating its
3 dnl version at build time to autoconf time (like bfd et al do), we can switch.
4 AC_INIT([sim], [0],
5 [https://sourceware.org/bugzilla/enter_bug.cgi?product=gdb&component=sim],
6 [], [https://sourceware.org/gdb/wiki/Sim/])
7
8 AC_CONFIG_HEADERS([config.h])
9
10 SIM_AC_TOOLCHAIN
11 SIM_AC_PLATFORM
12
13 AM_MAINTAINER_MODE
14 AM_INIT_AUTOMAKE
15
16 # If a cpu ever has more than one simulator to choose from, use
17 # --enable-sim=... to choose.
18 AC_ARG_ENABLE(sim,
19 [AS_HELP_STRING([--enable-sim], [Enable the GNU simulator])],
20 [case "${enableval}" in
21 yes | no) ;;
22 *) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
23 esac])
24
25 AC_ARG_ENABLE([example-sims],
26 [AC_HELP_STRING([--enable-example-sims],
27 [enable example GNU simulators])])
28
29 AC_ARG_ENABLE(targets,
30 [ --enable-targets alternative target configurations],
31 [case "${enableval}" in
32 yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
33 ;;
34 no) enable_targets= ;;
35 *) enable_targets=$enableval ;;
36 esac])
37
38 dnl Used to keep track of which target (if any) is the default one. This is
39 dnl used when installing files to see if they need to be suffixed.
40 SIM_PRIMARY_TARGET=
41 AC_SUBST(SIM_PRIMARY_TARGET)
42
43 m4_define([SIM_TARGET], [
44 case "${targ}" in
45 all|$1)
46 if test "${targ}" = "${target}"; then
47 SIM_PRIMARY_TARGET=$2
48 fi
49 AC_CONFIG_SUBDIRS($2)
50 $3
51 ;;
52 esac
53 ])
54
55 dnl WHEN ADDING ENTRIES TO THIS MATRIX:
56 dnl Make sure that the left side always has two dashes. Otherwise you can get
57 dnl spurious matches. Even for unambiguous cases, do this as a convention, else
58 dnl the table becomes a real mess to understand and maintain.
59 if test "${enable_sim}" != no; then
60 sim_igen=no
61 for targ in `echo $target $enable_targets | sed 's/,/ /g'`
62 do
63 SIM_TARGET([aarch64*-*-*], [aarch64])
64 SIM_TARGET([arm*-*-*], [arm])
65 SIM_TARGET([avr*-*-*], [avr])
66 SIM_TARGET([bfin-*-*], [bfin])
67 SIM_TARGET([bpf-*-*], [bpf])
68 SIM_TARGET([cr16*-*-*], [cr16])
69 SIM_TARGET([cris-*-* | crisv32-*-*], [cris])
70 SIM_TARGET([d10v-*-*], [d10v])
71 SIM_TARGET([frv-*-*], [frv])
72 SIM_TARGET([h8300*-*-*], [h8300])
73 SIM_TARGET([iq2000-*-*], [iq2000])
74 SIM_TARGET([lm32-*-*], [lm32])
75 SIM_TARGET([m32c-*-*], [m32c])
76 SIM_TARGET([m32r-*-*], [m32r])
77 SIM_TARGET([m68hc11-*-*|m6811-*-*], [m68hc11])
78 SIM_TARGET([mcore-*-*], [mcore])
79 SIM_TARGET([microblaze-*-*], [microblaze])
80 SIM_TARGET([mips*-*-*], [mips], [sim_igen=yes])
81 SIM_TARGET([mn10300*-*-*], [mn10300], [sim_igen=yes])
82 SIM_TARGET([moxie-*-*], [moxie])
83 SIM_TARGET([msp430*-*-*], [msp430])
84 SIM_TARGET([or1k-*-* | or1knd-*-*], [or1k])
85 SIM_TARGET([pru*-*-*], [pru])
86 SIM_TARGET([riscv*-*-*], [riscv])
87 SIM_TARGET([rl78-*-*], [rl78])
88 SIM_TARGET([rx-*-*], [rx])
89 SIM_TARGET([sh*-*-*], [sh])
90 SIM_TARGET([sparc-*-rtems*|sparc-*-elf*], [erc32])
91 SIM_TARGET([powerpc*-*-*], [ppc])
92 SIM_TARGET([ft32-*-*], [ft32])
93 SIM_TARGET([v850*-*-*], [v850], [sim_igen=yes])
94 done
95
96 if test "x${enable_example_sims}" = xyes; then
97 AC_CONFIG_SUBDIRS(example-synacor)
98 fi
99 fi
100 AM_CONDITIONAL([SIM_ENABLE_IGEN], [test "$sim_igen" = "yes"])
101
102 AC_CONFIG_FILES([Makefile])
103 AC_OUTPUT