]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
build-sys: add UL_REQUIRES_ARCH()
authorKarel Zak <kzak@redhat.com>
Mon, 15 Jul 2019 13:31:40 +0000 (15:31 +0200)
committerKarel Zak <kzak@redhat.com>
Mon, 15 Jul 2019 13:31:40 +0000 (15:31 +0200)
Signed-off-by: Karel Zak <kzak@redhat.com>
m4/ul.m4

index 9b3e73d22ad2c4e440f440ace6260faf8ca3b4d1..e32af44a3293db39368c1415f105f7e3fdc21270 100644 (file)
--- a/m4/ul.m4
+++ b/m4/ul.m4
@@ -208,6 +208,46 @@ AC_DEFUN([UL_EXCLUDE_ARCH], [
   fi
 ])
 
+
+
+dnl UL_REQUIRES_ARCH(NAME, ARCH, [VARSUFFIX = $1])
+dnl
+dnl Modifies $build_<name>  variable according to $enable_<name> and $host. The
+dnl $enable_<name> could be "yes", "no" and "check". If build_<name> is "no" then
+dnl all checks are skiped.
+dnl
+dnl The <arch> maybe a list, then at least one of the patterns in the list
+dnl have to match.
+dnl
+dnl The default <name> for $build_ and $enable_ could be overwrited by option $3.
+dnl
+AC_DEFUN([UL_REQUIRES_ARCH], [
+  m4_define([suffix], m4_default([$3],$1))
+  if test "x$[build_]suffix" != xno; then
+    AC_REQUIRE([AC_CANONICAL_HOST])
+    [ul_archone_]suffix=no
+    m4_foreach([onearch], [$2],  [
+      case "$host" in #(
+      onearch)
+        [ul_archone_]suffix=yes ;;
+      esac
+    ])dnl
+    case $[enable_]suffix:$[ul_archone_]suffix in #(
+    no:*)
+      [build_]suffix=no ;;
+    yes:no)
+      AC_MSG_ERROR([$1 selected for unsupported architecture]);;
+    yes:*)
+      [build_]suffix=yes ;;
+    check:no)
+      AC_MSG_WARN([excluded for $host architecture; not building $1])
+      [build_]suffix=no ;;
+    check:*)
+      [build_]suffix=yes ;;
+    esac
+  fi
+])
+
 dnl UL_REQUIRES_HAVE(NAME, HAVENAME, HAVEDESC, [VARSUFFIX=$1])
 dnl
 dnl Modifies $build_<name> variable according to $enable_<name> and
@@ -248,7 +288,7 @@ AC_DEFUN([UL_REQUIRES_HAVE], [
   fi
 ])
 
-dnl UL_REQUIRES_HAVE(NAME, PROGRAM_PROLOGUE, PROGRAM_BODY, DESC, [VARSUFFIX=$1])
+dnl UL_REQUIRES_COMPILE(NAME, PROGRAM_PROLOGUE, PROGRAM_BODY, DESC, [VARSUFFIX=$1])
 dnl
 dnl Modifies $build_<name> variable according to $enable_<name> and
 dnl ability compile AC_LANG_PROGRAM(<program_prologue>, <program_body>).