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