1 //===- Commands.h -----------------------------------------------*- C++ -*-===// 2 // 3 // This source file is part of the Swift.org open source project 4 // 5 // Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors 6 // Licensed under Apache License v2.0 with Runtime Library Exception 7 // 8 // See http://swift.org/LICENSE.txt for license information 9 // See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors 10 // 11 //===----------------------------------------------------------------------===// 12 // 13 // This header describes the interfaces in the Commands llbuild library, which 14 // contains all of the command line tool implementations. 15 // 16 //===----------------------------------------------------------------------===// 17 18 #ifndef LLBUILD_COMMANDS_H 19 #define LLBUILD_COMMANDS_H 20 21 #include "llbuild/Basic/LLVM.h" 22 23 #include "llvm/ADT/StringRef.h" 24 25 #include <string> 26 #include <vector> 27 28 namespace llbuild { 29 namespace commands { 30 31 /// Register the program name. 32 void setProgramName(StringRef name); 33 34 /// Get the registered program name. 35 const char* getProgramName(); 36 37 int executeNinjaCommand(const std::vector<std::string> &args); 38 int executeBuildEngineCommand(const std::vector<std::string> &args); 39 int executeBuildSystemCommand(const std::vector<std::string> &args); 40 41 } 42 } 43 44 #endif 45