diff --git a/.gitignore b/.gitignore index 745373d76f6976c11a43f6bc4010ad110cde9376..aacaa22f30990e7a8d314cc19fa298718856ba74 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,9 @@ autom4te.cache .Makefile.plugin.generated .ocamldebug +# This file is generated (on need) during configure +/src/plugins/dune + #lint /.lint/ diff --git a/configure.in b/configure.in index a14954b8336abda7486ebf0dddbad5e5d8da8e03..a540a85790b7ca65e0dcc41e7190f2edc0e7cc46 100644 --- a/configure.in +++ b/configure.in @@ -577,6 +577,37 @@ AC_CONFIG_FILES([share/Makefile.config], [chmod a-w share/Makefile.config]) AC_OUTPUT() +########### +# Plugins # +########### + +rm -f src/plugins/.disabled +rm -f src/plugins/dune + +m4_foreach_w([__plugin],m4_esyscmd([ls src/plugins]), + [ + m4_define([plugin_dir],[src/plugins/__plugin]) + m4_syscmd(test -d plugin_dir) + m4_define([is_plugin],m4_sysval) + m4_if(is_plugin,0,[ + AC_ARG_ENABLE( + __plugin, + AC_HELP_STRING([--disable-__plugin], [Disable __plugin]), + [ENABLE___plugin=$enableval], + [ENABLE___plugin=yes] + ) + if test "$ENABLE___plugin" = no ; then + echo "__plugin" >> src/plugins/.disabled + fi + ],) + ]) + +if test -f src/plugins/.disabled ; then + echo "(data_only_dirs $(cat src/plugins/.disabled))" > src/plugins/dune + chmod a-w src/plugins/dune + rm src/plugins/.disabled +fi + ########### # Summary # ###########