aboutsummaryrefslogtreecommitdiff
path: root/sim/m4/sim_ac_option_alignment.m4
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-02-06 22:51:30 -0500
committerMike Frysinger <vapier@gentoo.org>2021-02-21 02:20:19 -0500
commit760b3e8bc9ab6e292debab7758a403fe611d302b (patch)
tree151033c1708874d9da979e8c7e92c8aca9b08925 /sim/m4/sim_ac_option_alignment.m4
parent89753bbf8102edc2aa4262a4d43f1a71a10e34f3 (diff)
downloadbinutils-760b3e8bc9ab6e292debab7758a403fe611d302b.zip
binutils-760b3e8bc9ab6e292debab7758a403fe611d302b.tar.gz
binutils-760b3e8bc9ab6e292debab7758a403fe611d302b.tar.bz2
sim: common: split up acinclude.m4 into individual m4 files
This file is quite large and is getting unmanageable. Split it apart to follow aclocal best practices by putting one-macro-per-file. There shouldn't be any real functional changes here as can be seen in the configure script regens.
Diffstat (limited to 'sim/m4/sim_ac_option_alignment.m4')
-rw-r--r--sim/m4/sim_ac_option_alignment.m466
1 files changed, 66 insertions, 0 deletions
diff --git a/sim/m4/sim_ac_option_alignment.m4 b/sim/m4/sim_ac_option_alignment.m4
new file mode 100644
index 0000000..dcfa479
--- /dev/null
+++ b/sim/m4/sim_ac_option_alignment.m4
@@ -0,0 +1,66 @@
+dnl Copyright (C) 1997-2021 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
+dnl
+dnl Specify the alignment restrictions of the target architecture.
+dnl Without this option all possible alignment restrictions are accommodated.
+dnl arg[1] is hardwired target alignment
+dnl arg[2] is default target alignment
+AC_DEFUN([SIM_AC_OPTION_ALIGNMENT],
+wire_alignment="[$1]"
+default_alignment="[$2]"
+[
+AC_ARG_ENABLE(sim-alignment,
+[AS_HELP_STRING([--enable-sim-alignment=align],
+ [Specify strict, nonstrict or forced alignment of memory accesses])],
+[case "${enableval}" in
+ strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
+ nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
+ forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
+ yes) if test x"$wire_alignment" != x; then
+ sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
+ else
+ if test x"$default_alignment" != x; then
+ sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
+ else
+ echo "No hard-wired alignment for target $target" 1>&6
+ sim_alignment="-DWITH_ALIGNMENT=0"
+ fi
+ fi;;
+ no) if test x"$default_alignment" != x; then
+ sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
+ else
+ if test x"$wire_alignment" != x; then
+ sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
+ else
+ echo "No default alignment for target $target" 1>&6
+ sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
+ fi
+ fi;;
+ *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
+esac
+if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
+ echo "Setting alignment flags = $sim_alignment" 6>&1
+fi],
+[if test x"$default_alignment" != x; then
+ sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
+else
+ if test x"$wire_alignment" != x; then
+ sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
+ else
+ sim_alignment=
+ fi
+fi])dnl
+])dnl
+AC_SUBST(sim_alignment)