build: add --without-swig to override swig check
[openafs.git] / src / cf / swig.m4
index 7f615ad..81a8999 100644 (file)
@@ -1,11 +1,26 @@
 dnl SWIG Autoconf glue. Build with SWIG-derived language bindings if SWIG
 dnl is available; if it's not, don't build the extra language bindings.
-
+dnl
+dnl Specify --without-swig (or --with-swig=no) to override the SWIG check and
+dnl disable features which require SWIG. Specify --with-swig=yes to force the
+dnl SWIG check and fail if not detected.
+dnl
 AC_DEFUN([OPENAFS_SWIG],
-[AC_CHECK_PROG([SWIG], [swig], [swig])
+
+[AC_ARG_WITH([swig],
+  [AS_HELP_STRING([--with-swig],
+    [use swig to generate language bindings (defaults to autodetect)])],
+  [],
+  [with_swig=check])
+
 LIBUAFS_BUILD_PERL=
-if test "x$SWIG" = "xswig" ; then
-       LIBUAFS_BUILD_PERL=LIBUAFS_BUILD_PERL
-fi
+AS_IF([test "x$with_swig" != "xno"],
+  [AC_CHECK_PROG([SWIG], [swig], [swig])
+  AS_IF([test "x$SWIG" = "xswig"],
+    [LIBUAFS_BUILD_PERL=LIBUAFS_BUILD_PERL])
+  AS_IF([test "x$with_swig" = "xyes"],
+    [AS_IF([test "x$SWIG" != "xswig"],
+      [AC_MSG_ERROR([swig requested but not found])])])])
+
 AC_SUBST(LIBUAFS_BUILD_PERL)
 ])