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