sim: unify toolchain dependency logic
[deliverable/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 dnl Probably should unify PKGVERSION with PACKAGE_* settings from AC_INIT.
9 ACX_PKGVERSION([SIM])
10 AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])
11 dnl PACKAGE_BUGREPORT is provided by AC_INIT.
12 ACX_BUGURL([$PACKAGE_BUGREPORT])
13 AC_DEFINE_UNQUOTED([REPORT_BUGS_TO], ["$REPORT_BUGS_TO"], [Bug reporting address])
14
15 AC_CONFIG_HEADERS([config.h])
16
17 SIM_AC_TOOLCHAIN
18 SIM_AC_PLATFORM
19
20 AM_MAINTAINER_MODE
21 AM_INIT_AUTOMAKE
22 AM_SILENT_RULES([yes])
23
24 # If a cpu ever has more than one simulator to choose from, use
25 # --enable-sim=... to choose.
26 AC_ARG_ENABLE(sim,
27 [AS_HELP_STRING([--enable-sim], [Enable the GNU simulator])],
28 [case "${enableval}" in
29 yes | no) ;;
30 *) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
31 esac])
32
33 AC_ARG_ENABLE([example-sims],
34 [AC_HELP_STRING([--enable-example-sims],
35 [enable example GNU simulators])])
36
37 AC_ARG_ENABLE(targets,
38 [ --enable-targets alternative target configurations],
39 [case "${enableval}" in
40 yes | "") AC_MSG_ERROR(enable-targets option must specify target names or 'all')
41 ;;
42 no) enable_targets= ;;
43 *) enable_targets=$enableval ;;
44 esac])
45
46 dnl Used to keep track of which target (if any) is the default one. This is
47 dnl used when installing files to see if they need to be suffixed.
48 SIM_PRIMARY_TARGET=
49 AC_SUBST(SIM_PRIMARY_TARGET)
50
51 m4_define([SIM_BUILD_TARGET], [dnl
52 AC_CONFIG_SUBDIRS($1)
53 dnl Create the depdirs for ports until we can convert them to automake.
54 AC_CONFIG_COMMANDS([depdir-$1],
55 [$SHELL $ac_aux_dir/mkinstalldirs $1/$DEPDIR],
56 [ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR])
57 ])
58 m4_define([SIM_TARGET], [dnl
59 case "${targ}" in
60 all|$1)
61 if test "${targ}" = "${target}"; then
62 SIM_PRIMARY_TARGET=$2
63 fi
64 SIM_BUILD_TARGET($2)
65 $3
66 ;;
67 esac
68 ])
69
70 dnl WHEN ADDING ENTRIES TO THIS MATRIX:
71 dnl Make sure that the left side always has two dashes. Otherwise you can get
72 dnl spurious matches. Even for unambiguous cases, do this as a convention, else
73 dnl the table becomes a real mess to understand and maintain.
74 if test "${enable_sim}" != no; then
75 sim_igen=no
76 for targ in `echo $target $enable_targets | sed 's/,/ /g'`
77 do
78 SIM_TARGET([aarch64*-*-*], [aarch64])
79 SIM_TARGET([arm*-*-*], [arm])
80 SIM_TARGET([avr*-*-*], [avr])
81 SIM_TARGET([bfin-*-*], [bfin])
82 SIM_TARGET([bpf-*-*], [bpf])
83 SIM_TARGET([cr16*-*-*], [cr16])
84 SIM_TARGET([cris-*-* | crisv32-*-*], [cris])
85 SIM_TARGET([d10v-*-*], [d10v])
86 SIM_TARGET([frv-*-*], [frv])
87 SIM_TARGET([h8300*-*-*], [h8300])
88 SIM_TARGET([iq2000-*-*], [iq2000])
89 SIM_TARGET([lm32-*-*], [lm32])
90 SIM_TARGET([m32c-*-*], [m32c])
91 SIM_TARGET([m32r-*-*], [m32r])
92 SIM_TARGET([m68hc11-*-*|m6811-*-*], [m68hc11])
93 SIM_TARGET([mcore-*-*], [mcore])
94 SIM_TARGET([microblaze-*-*], [microblaze])
95 SIM_TARGET([mips*-*-*], [mips], [sim_igen=yes])
96 SIM_TARGET([mn10300*-*-*], [mn10300], [sim_igen=yes])
97 SIM_TARGET([moxie-*-*], [moxie])
98 SIM_TARGET([msp430*-*-*], [msp430])
99 SIM_TARGET([or1k-*-* | or1knd-*-*], [or1k])
100 SIM_TARGET([pru*-*-*], [pru])
101 SIM_TARGET([riscv*-*-*], [riscv])
102 SIM_TARGET([rl78-*-*], [rl78])
103 SIM_TARGET([rx-*-*], [rx])
104 SIM_TARGET([sh*-*-*], [sh])
105 SIM_TARGET([sparc-*-rtems*|sparc-*-elf*], [erc32])
106 SIM_TARGET([powerpc*-*-*], [ppc])
107 SIM_TARGET([ft32-*-*], [ft32])
108 SIM_TARGET([v850*-*-*], [v850], [sim_igen=yes])
109 done
110
111 if test "x${enable_example_sims}" = xyes; then
112 SIM_BUILD_TARGET([example-synacor])
113 fi
114 fi
115 AM_CONDITIONAL([SIM_ENABLE_IGEN], [test "$sim_igen" = "yes"])
116
117 dnl Standard (and optional) simulator options.
118 dnl Eventually all simulators will support these.
119 SIM_AC_OPTION_ALIGNMENT
120 SIM_AC_OPTION_ASSERT
121 SIM_AC_OPTION_DEBUG
122 SIM_AC_OPTION_ENDIAN
123 SIM_AC_OPTION_ENVIRONMENT
124 SIM_AC_OPTION_PROFILE
125 SIM_AC_OPTION_STDIO
126 SIM_AC_OPTION_TRACE
127 SIM_AC_OPTION_WARNINGS
128
129 AC_CONFIG_FILES([arch-subdir.mk Makefile])
130 AC_OUTPUT
This page took 0.034612 seconds and 4 git commands to generate.