From a298bb752572f03f3b65260a73cb39df02770075 Mon Sep 17 00:00:00 2001 From: Mikhail Glushenkov Date: Wed, 21 Jan 2009 13:04:00 +0000 Subject: Allow hooks with arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62685 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/llvmc/doc/LLVMC-Reference.rst | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'tools') diff --git a/tools/llvmc/doc/LLVMC-Reference.rst b/tools/llvmc/doc/LLVMC-Reference.rst index d70b4a5..9eb927c 100644 --- a/tools/llvmc/doc/LLVMC-Reference.rst +++ b/tools/llvmc/doc/LLVMC-Reference.rst @@ -560,16 +560,21 @@ Hooks and environment variables ------------------------------- Normally, LLVMC executes programs from the system ``PATH``. Sometimes, -this is not sufficient: for example, we may want to specify tool names -in the configuration file. This can be achieved via the mechanism of -hooks - to write your own hooks, just add their definitions to the -``PluginMain.cpp`` or drop a ``.cpp`` file into the -``$LLVMC_DIR/driver`` directory. Hooks should live in the ``hooks`` -namespace and have the signature ``std::string hooks::MyHookName -(void)``. They can be used from the ``cmd_line`` tool property:: +this is not sufficient: for example, we may want to specify tool paths +or names in the configuration file. This can be easily achieved via +the hooks mechanism. To write your own hooks, just add their +definitions to the ``PluginMain.cpp`` or drop a ``.cpp`` file into the +your plugin directory. Hooks should live in the ``hooks`` namespace +and have the signature ``const char* hooks::MyHookName ([const char* +Arg0 [ const char* Arg2 [, ...]]])``. They can be used from the +``cmd_line`` tool property:: (cmd_line "$CALL(MyHook)/path/to/file -o $CALL(AnotherHook)") +To pass arguments to hooks, use the following syntax:: + + (cmd_line "$CALL(MyHook, 'Arg1', 'Arg2', 'Arg # 3')/path/to/file -o1 -o2") + It is also possible to use environment variables in the same manner:: (cmd_line "$ENV(VAR1)/path/to/file -o $ENV(VAR2)") -- cgit v1.1