aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@gmail.com>2016-12-14 15:31:26 +0800
committerPalmer Dabbelt <palmer@dabbelt.com>2016-12-14 10:10:12 -0800
commitda9b0098394ca6a3bd10532addb1a63f7cc82a94 (patch)
tree728c72ba82a10f1f5c1a4ddfb02d127e1b00cf81 /configure.ac
parentf670e2f5c6c50730fc60abefa60c48e1443af2c8 (diff)
downloadriscv-gnu-toolchain-da9b0098394ca6a3bd10532addb1a63f7cc82a94.zip
riscv-gnu-toolchain-da9b0098394ca6a3bd10532addb1a63f7cc82a94.tar.gz
riscv-gnu-toolchain-da9b0098394ca6a3bd10532addb1a63f7cc82a94.tar.bz2
Auto detect default value for --with-abi if not given
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac17
1 files changed, 15 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index 09edddf..2869f83 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,10 +67,23 @@ AC_ARG_WITH(arch,
AC_ARG_WITH(abi,
[AS_HELP_STRING([--with-abi=lp64d],
[Sets the base RISC-V ABI, defaults to lp64d])],
- AC_SUBST(WITH_ABI, --with-abi=$withval),
- AC_SUBST(WITH_ABI, --with-abi=lp64d)
+ [],
+ [with_abi=default]
)
+AS_IF([test "x$with_abi" == xdefault],
+ [AS_CASE([$with_arch],
+ [*rv64g | *rv64*d*], [with_abi=lp64d],
+ [*rv64*f*], [with_abi=lp64f],
+ [*rv64*], [with_abi=lp64],
+ [*rv32g | *rv32*d*], [with_abi=ilp32d],
+ [*rv32*f*], [with_abi=ilp32f],
+ [*rv32*], [with_abi=ilp32],
+ [AC_MSG_ERROR([Unknown arch])]
+ )])
+
+AC_SUBST(WITH_ABI, --with-abi=$with_abi)
+
AC_ARG_ENABLE(multilib,
[AS_HELP_STRING([--enable-multilib],
[build both RV32 and RV64 runtime libraries @<:@--disable-multilib@:>@])],