diff options
Diffstat (limited to 'clang/lib/Tooling/CustomToolInit.h')
-rw-r--r-- | clang/lib/Tooling/CustomToolInit.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/clang/lib/Tooling/CustomToolInit.h b/clang/lib/Tooling/CustomToolInit.h new file mode 100644 index 00000000000..745edbe4842 --- /dev/null +++ b/clang/lib/Tooling/CustomToolInit.h @@ -0,0 +1,35 @@ +//===--- CustomToolInit.h -------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file contains a hook to supply a custom tool initialization routine. +// +// The mechanism can be used by IDEs or non-public code bases to integrate with +// their build system. Currently we support statically linking in an +// implementation of \c customToolInit and enabling it with +// -DUSE_CUSTOM_TOOL_INIT when compiling the Tooling library. +// +//===----------------------------------------------------------------------===// +#ifndef LLVM_CLANG_TOOLING_CUSTOM_TOOL_INIT_H +#define LLVM_CLANG_TOOLING_CUSTOM_TOOL_INIT_H + +namespace clang { +namespace tooling { + +/// \brief Performs a custom initialization of a tool. +/// +/// This function provides a hook for custom initialization of a clang tool. It +/// receives command-line arguments and can change them if needed. +/// If the initialization fails (say, custom command-line arguments are invalid) +/// this function should terminate the process. +void customToolInit(int argc, const char **argv); + +} // namespace tooling +} // namespace clang + +#endif // LLVM_CLANG_TOOLING_CUSTOM_TOOL_INIT_H |