diff options
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | m4/guix.m4 | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index ff512dd1ff..80d35a4272 100644 --- a/configure.ac +++ b/configure.ac @@ -22,6 +22,7 @@ guilemoduledir="${datarootdir}/guile/site/2.0" AC_SUBST([guilemoduledir]) GUIX_SYSTEM_TYPE +GUIX_ASSERT_SUPPORTED_SYSTEM AC_ARG_WITH(store-dir, AC_HELP_STRING([--with-store-dir=PATH], diff --git a/m4/guix.m4 b/m4/guix.m4 index ed2e720241..477b0e4eb3 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -70,6 +70,35 @@ AC_DEFUN([GUIX_SYSTEM_TYPE], [ 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 dnl Assert that FEATURES are provided by $GUILE. |