aboutsummaryrefslogtreecommitdiff
path: root/m4/mm-enable-plugin.m4
diff options
context:
space:
mode:
Diffstat (limited to 'm4/mm-enable-plugin.m4')
-rw-r--r--m4/mm-enable-plugin.m457
1 files changed, 57 insertions, 0 deletions
diff --git a/m4/mm-enable-plugin.m4 b/m4/mm-enable-plugin.m4
new file mode 100644
index 00000000..0ea09da2
--- /dev/null
+++ b/m4/mm-enable-plugin.m4
@@ -0,0 +1,57 @@
+dnl -*- mode: autoconf -*-
+dnl Copyright 2019 Aleksander Morgado
+dnl
+dnl This file is free software; the author(s) gives unlimited
+dnl permission to copy and/or distribute it, with or without
+dnl modifications, as long as this notice is preserved.
+dnl
+
+# serial 1
+
+dnl Usage:
+dnl MM_ENABLE_ALL_PLUGINS
+AC_DEFUN([MM_ENABLE_ALL_PLUGINS],
+[dnl
+AC_ARG_ENABLE(all-plugins,
+ AS_HELP_STRING([--enable-all-plugins],
+ [Build all plugins [[default=yes]]]),
+ [],
+ [enable_all_plugins=yes])
+])
+
+dnl Usage:
+dnl MM_ENABLE_PLUGIN([NAME],[WITH_SHARED_NAME_1,WITH_SHARED_NAME_2,...])
+AC_DEFUN([MM_ENABLE_PLUGIN],
+[dnl
+m4_pushdef([var_enable_plugin], patsubst([enable_plugin_$1], -, _))dnl
+m4_pushdef([VAR_ENABLE_PLUGIN], patsubst(translit([enable_plugin_$1], [a-z], [A-Z]), -, _))dnl
+AC_ARG_ENABLE(plugin-$1,
+ AS_HELP_STRING([--enable-plugin-$1], [Build $1 plugin]),
+ [],
+ [var_enable_plugin=$enable_all_plugins])
+if test "x$var_enable_plugin" = "xyes"; then
+ AC_DEFINE([VAR_ENABLE_PLUGIN], 1, [Define if $1 plugin is enabled])
+m4_ifval([$2],[m4_foreach(with_shared,[$2],[dnl
+ with_shared="yes"
+])])dnl
+fi
+AM_CONDITIONAL(VAR_ENABLE_PLUGIN, [test "x$var_enable_plugin" = "xyes"])
+m4_popdef([VAR_ENABLE_PLUGIN])dnl
+m4_popdef([var_enable_plugin])dnl
+])
+
+dnl Usage:
+dnl MM_BUILD_SHARED([NAME])
+AC_DEFUN([MM_BUILD_SHARED],
+[dnl
+m4_pushdef([with_shared], patsubst([with_shared_$1], -, _))dnl
+m4_pushdef([WITH_SHARED], patsubst(translit([with_shared_$1], [a-z], [A-Z]), -, _))dnl
+AM_CONDITIONAL(WITH_SHARED, test "x$with_shared" = "xyes")
+if test "x$with_shared" = "xyes"; then
+ AC_DEFINE([WITH_SHARED], 1, [Define if $1 utils are built])
+else
+ with_shared="no"
+fi
+m4_popdef([WITH_SHARED])dnl
+m4_popdef([with_shared])dnl
+])