From 4adbd5dd3cf5801e622fcfff3149a27940d34089 Mon Sep 17 00:00:00 2001 From: Matthias Klose Date: Mon, 12 Apr 2010 23:58:18 +0000 Subject: gcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec. gcc/ 2010-04-13 Matthias Klose * gcc.c (cc1_options): Handle -iplugindir before processing the cc1 spec. Only add -iplugindir once. (cpp_unique_options): Add -iplugindir option if -fplugin* options found. * common.opt (iplugindir): Remove `Separate' property, initialize. * plugin.c (default_plugin_dir_name): Error with missing -iplugindir option. * Makefile.in (check-%, check-parallel-%): Create plugin dir. (distclean): Remove plugin dir. 2010-04-13 Basile Starynkevitch * doc/plugins.texi (Loading Plugins): Document short -fplugin=foo option. (Plugin API): Mention default_plugin_dir_name function. * gcc.c (find_file_spec_function): Add new declaration. (static_spec_func): Use it for "find-file". (find_file_spec_function): Add new function. (cc1_options): Add -iplugindir option if -fplugin* options found. * gcc-plugin.h (default_plugin_dir_name): Added new declaration. * plugin.c (add_new_plugin): Updated comment, and handle short plugin name. (default_plugin_dir_name): Added new function. * common.opt (iplugindir): New option to set the plugin directory. gcc/testsuite/ 2010-04-13 Matthias Klose * gcc.dg/plugindir1.c: New testcase. * gcc.dg/plugindir2.c: New testcase. * gcc.dg/plugindir3.c: New testcase. * gcc.dg/plugindir4.c: New testcase. From-SVN: r158247 --- gcc/doc/plugins.texi | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gcc/doc/plugins.texi') diff --git a/gcc/doc/plugins.texi b/gcc/doc/plugins.texi index a938e02..77000fe 100644 --- a/gcc/doc/plugins.texi +++ b/gcc/doc/plugins.texi @@ -22,6 +22,11 @@ The plugin arguments are parsed by GCC and passed to respective plugins as key-value pairs. Multiple plugins can be invoked by specifying multiple @option{-fplugin} arguments. +A plugin can be simply given by its short name (no dots or +slashes). When simply passing @option{-fplugin=NAME}, the plugin is +loaded from the @file{plugin} directory, so @option{-fplugin=NAME} is +the same as @option{-fplugin=`gcc -print-file-name=plugin`/NAME.so}, +using backquote shell syntax to query the @file{plugin} directory. @section Plugin API @@ -407,6 +412,9 @@ On most systems, you can query this @code{plugin} directory by invoking @command{gcc -print-file-name=plugin} (replace if needed @command{gcc} with the appropriate program path). +Inside plugins, this @code{plugin} directory name can be queried by +calling @code{default_plugin_dir_name ()}. + The following GNU Makefile excerpt shows how to build a simple plugin: @smallexample -- cgit v1.1