build: Bail out on unsupported platforms; add `--with-courage'.

* m4/guix.m4 (GUIX_ASSERT_SUPPORTED_SYSTEM): New macro.
* configure.ac: Use it.
This commit is contained in:
Ludovic Courtès 2013-07-05 21:54:52 +02:00
parent eb25a30a42
commit b97556d75c
2 changed files with 30 additions and 0 deletions

View File

@ -22,6 +22,7 @@ guilemoduledir="${datarootdir}/guile/site/2.0"
AC_SUBST([guilemoduledir]) AC_SUBST([guilemoduledir])
GUIX_SYSTEM_TYPE GUIX_SYSTEM_TYPE
GUIX_ASSERT_SUPPORTED_SYSTEM
AC_ARG_WITH(store-dir, AC_ARG_WITH(store-dir,
AC_HELP_STRING([--with-store-dir=PATH], AC_HELP_STRING([--with-store-dir=PATH],

View File

@ -70,6 +70,35 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [
AC_SUBST([guix_system]) AC_SUBST([guix_system])
]) ])
dnl GUIX_ASSERT_SUPPORTED_SYSTEM
dnl
dnl Assert that this is a system to which the distro is ported.
AC_DEFUN([GUIX_ASSERT_SUPPORTED_SYSTEM], [
AC_REQUIRE([GUIX_SYSTEM_TYPE])
AC_ARG_WITH([courage], [AC_HELP_STRING([--with-courage],
[Assert that even if this platform is unsupported, you will be
courageous and port the GNU System distribution to it (see
"GNU Distribution" in the manual.)])],
[guix_courageous="$withval"],
[guix_courageous="no"])
# Currently only Linux-based systems are supported, and only on some
# platforms.
case "$guix_system" in
x86_64-linux|i686-linux)
;;
*)
if test "x$guix_courageous" = "xyes"; then
AC_MSG_WARN([building Guix on `$guix_system', which is not supported])
else
AC_MSG_ERROR([`$guix_system' is not a supported platform.
See "GNU Distribution" in the manual, or try `--with-courage'.])
fi
;;
esac
])
dnl GUIX_ASSERT_GUILE_FEATURES FEATURES dnl GUIX_ASSERT_GUILE_FEATURES FEATURES
dnl dnl
dnl Assert that FEATURES are provided by $GUILE. dnl Assert that FEATURES are provided by $GUILE.