On Fri, 2019-11-15 at 20:23 -0500, David Malcolm wrote:
> This patch adds support for "in-tree" plugins i.e. GCC plugins that
> live
> in the GCC source tree and are shipped as part of the GCC tarball.
>
> The patch adds Makefile/configure machinery for handling in-tree GCC
> plugins, adapted from how we support frontends.
>
> Each in-tree plugin should provide a Make-plugin.in and config-
> plugin.in,
> analogous to the Make-lang.in and config-lang.in provided by a
> frontend;
> they can also supply options via a plugin.opt, analogous to a
> frontend's
> lang.opt.
>
> The patch adds a --enable-plugins=[LIST OF PLUGIN NAMES] configure
> option,
> analogous to --enable-languages. The default is for no such plugins
> to be
> enabled.
>
> ChangeLog:
> * configure.ac: Handle --enable-plugins.
>
> gcc/ChangeLog:
> * Makefile.in (CONFIG_PLUGINS): New.
> (SUBDIRS, subdirs): Generalize to cover plugins as well as
> languages.
> (plugin_opt_files): New.
> (ALL_OPT_FILES): Add plugin_opt_files.
> (ALL_HOST_PLUGIN_OBJS): New.
> (ALL_HOST_OBJS): Add ALL_HOST_PLUGIN_OBJS.
> (plugin_hooks): New.
> (PLUGIN_MAKEFRAGS): New; include them.
> (Makefile): Add dependency on PLUGIN_MAKEFRAGS.
> (all.cross): Add dependency on plugin.all.cross.
> (start.encap): Add plugin.start.encap.
> (rest.encap): Add plugin.rest.encap.
> (SELFTEST_TARGETS): Add selftest_plugins.
> (info): Add dependency on lang.info.
> (dvi): Add dependency on plugin.dvi.
> (pdf): Add dependency on plugin.pdf.
> (HTMLS_BUILD): Add plugin.html.
> (man): Add plugin.man.
> (mostlyclean): Add plugin.mostlyclean.
> (clean): Add plugin.clean.
> (distclean): Update for renaming of Make-hooks to Make-lang-
> hooks;
> add Make-plugin-hooks. Add plugin.distclean dependency.
> (maintainer-clean): Add plugin.maintainer-clean.
> (install-plugin): Add plugin.install-plugin.
> (install-common): Add plugin.install-common.
> (install-info): Add plugin.install-info.
> (install-pdf): Add plugin.install-pdf.
> (install-html): Add plugin.install-html.
> (install-man): Add plugin.install-man.
> (uninstall): Add plugin.uninstall.
> (TAGS): Add plugin.tags.
> * configure.ac (Make-hooks): Rename to Make-lang-hooks.
> (plugin_opt_files): New.
> (plugin_specs_files): New.
> (plugin_tree_files): New.
> (all_plugins): New.
> (all_plugin_makefrags): New.
> (all_selected_plugins): New.
> (plugin_hooks): New.
> ("Plugin hooks"): New section. Iterate through config-
> plugin.in,
> analogously to config-lang.in.
> (check_plugins): New.
> (selftest_plugins): New.
> (Make-plugin-hooks): Emit.
> * doc/install.texi (--enable-plugins): New option.
So do we want to push on the concept of in-tree plugins for somethign
like annobin? If not, given the general desire to not use plugins for
teh analyzer, would we still want this?
jeff