summary refs log tree commit diff
path: root/m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4')
-rw-r--r--m4/guix.m429
1 files changed, 29 insertions, 0 deletions
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.