1*7330f729Sjoerg //===--- InterfaceStubs.cpp - Base InterfaceStubs Implementations C++ ---===// 2*7330f729Sjoerg // 3*7330f729Sjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*7330f729Sjoerg // See https://llvm.org/LICENSE.txt for license information. 5*7330f729Sjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*7330f729Sjoerg // 7*7330f729Sjoerg //===----------------------------------------------------------------------===// 8*7330f729Sjoerg 9*7330f729Sjoerg #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_IFS_H 10*7330f729Sjoerg #define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_IFS_H 11*7330f729Sjoerg 12*7330f729Sjoerg #include "clang/Driver/Tool.h" 13*7330f729Sjoerg #include "clang/Driver/ToolChain.h" 14*7330f729Sjoerg 15*7330f729Sjoerg namespace clang { 16*7330f729Sjoerg namespace driver { 17*7330f729Sjoerg namespace tools { 18*7330f729Sjoerg namespace ifstool { 19*7330f729Sjoerg class LLVM_LIBRARY_VISIBILITY Merger : public Tool { 20*7330f729Sjoerg public: Merger(const ToolChain & TC)21*7330f729Sjoerg Merger(const ToolChain &TC) : Tool("IFS::Merger", "llvm-ifs", TC) {} 22*7330f729Sjoerg hasIntegratedCPP()23*7330f729Sjoerg bool hasIntegratedCPP() const override { return false; } isLinkJob()24*7330f729Sjoerg bool isLinkJob() const override { return false; } 25*7330f729Sjoerg 26*7330f729Sjoerg void ConstructJob(Compilation &C, const JobAction &JA, 27*7330f729Sjoerg const InputInfo &Output, const InputInfoList &Inputs, 28*7330f729Sjoerg const llvm::opt::ArgList &TCArgs, 29*7330f729Sjoerg const char *LinkingOutput) const override; 30*7330f729Sjoerg }; 31*7330f729Sjoerg } // end namespace ifstool 32*7330f729Sjoerg } // end namespace tools 33*7330f729Sjoerg } // end namespace driver 34*7330f729Sjoerg } // end namespace clang 35*7330f729Sjoerg 36*7330f729Sjoerg #endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_IFS_H 37