forked from OSchip/llvm-project
Rename FindExecutable to PrependMainExecutablePath.
Makes it more clear that it is just a path manipulation function. llvm-svn: 118174
This commit is contained in:
parent
189c6c687c
commit
b8211b80bc
|
@ -30,13 +30,14 @@ bool CheckBitcodeOutputToConsole(
|
|||
bool print_warning = true ///< Control whether warnings are printed
|
||||
);
|
||||
|
||||
/// FindExecutable - Find a named executable, given the value of argv[0] of the
|
||||
/// program being executed and the address of main itself. This allows us to
|
||||
/// find another LLVM tool if it is built in the same directory. An empty string
|
||||
/// is returned on error.
|
||||
/// PrependMainExecutablePath - Prepend the path to the program being executed
|
||||
/// to \p ExeName, given the value of argv[0] and the address of main()
|
||||
/// itself. This allows us to find another LLVM tool if it is built in the same
|
||||
/// directory. An empty string is returned on error; note that this function
|
||||
/// just mainpulates the path and doesn't check for executability.
|
||||
/// @brief Find a named executable.
|
||||
sys::Path FindExecutable(const std::string &ExeName,
|
||||
const char *Argv0, void *MainAddr);
|
||||
sys::Path PrependMainExecutablePath(const std::string &ExeName,
|
||||
const char *Argv0, void *MainAddr);
|
||||
|
||||
} // End llvm namespace
|
||||
|
||||
|
|
|
@ -57,7 +57,8 @@ namespace {
|
|||
sys::Path prog(name);
|
||||
|
||||
if (!prog.isAbsolute()) {
|
||||
prog = FindExecutable(name, ProgramName, (void *)(intptr_t)&Main);
|
||||
prog = PrependMainExecutablePath(name, ProgramName,
|
||||
(void *)(intptr_t)&Main);
|
||||
|
||||
if (!prog.canExecute()) {
|
||||
prog = sys::Program::FindProgramByName(name);
|
||||
|
|
|
@ -32,13 +32,14 @@ bool llvm::CheckBitcodeOutputToConsole(raw_ostream &stream_to_check,
|
|||
return false;
|
||||
}
|
||||
|
||||
/// FindExecutable - Find a named executable, given the value of argv[0] of the
|
||||
/// program being executed and the address of main itself. This allows us to
|
||||
/// find another LLVM tool if it is built in the same directory. An empty string
|
||||
/// is returned on error.
|
||||
#undef FindExecutable // needed on windows :(
|
||||
sys::Path llvm::FindExecutable(const std::string &ExeName,
|
||||
const char *Argv0, void *MainAddr) {
|
||||
/// PrependMainExecutablePath - Prepend the path to the program being executed
|
||||
/// to \p ExeName, given the value of argv[0] and the address of main()
|
||||
/// itself. This allows us to find another LLVM tool if it is built in the same
|
||||
/// directory. An empty string is returned on error; note that this function
|
||||
/// just mainpulates the path and doesn't check for executability.
|
||||
/// @brief Find a named executable.
|
||||
sys::Path llvm::PrependMainExecutablePath(const std::string &ExeName,
|
||||
const char *Argv0, void *MainAddr) {
|
||||
// Check the directory that the calling program is in. We can do
|
||||
// this if ProgramPath contains at least one / character, indicating that it
|
||||
// is a relative path to the executable itself.
|
||||
|
|
|
@ -144,7 +144,8 @@ bool BugDriver::runPasses(Module *Program,
|
|||
return 1;
|
||||
}
|
||||
|
||||
sys::Path tool = FindExecutable("opt", getToolName(), (void*)"opt");
|
||||
sys::Path tool = PrependMainExecutablePath("opt", getToolName(),
|
||||
(void*)"opt");
|
||||
if (tool.empty()) {
|
||||
errs() << "Cannot find `opt' in executable directory!\n";
|
||||
return 1;
|
||||
|
|
|
@ -238,7 +238,7 @@ AbstractInterpreter *AbstractInterpreter::createLLI(const char *Argv0,
|
|||
std::string &Message,
|
||||
const std::vector<std::string> *ToolArgs) {
|
||||
std::string LLIPath =
|
||||
FindExecutable("lli", Argv0, (void *)(intptr_t)&createLLI).str();
|
||||
PrependMainExecutablePath("lli", Argv0, (void *)(intptr_t)&createLLI).str();
|
||||
if (!LLIPath.empty()) {
|
||||
Message = "Found lli: " + LLIPath + "\n";
|
||||
return new LLI(LLIPath, ToolArgs);
|
||||
|
@ -438,7 +438,7 @@ LLC *AbstractInterpreter::createLLC(const char *Argv0,
|
|||
const std::vector<std::string> *GCCArgs,
|
||||
bool UseIntegratedAssembler) {
|
||||
std::string LLCPath =
|
||||
FindExecutable("llc", Argv0, (void *)(intptr_t)&createLLC).str();
|
||||
PrependMainExecutablePath("llc", Argv0, (void *)(intptr_t)&createLLC).str();
|
||||
if (LLCPath.empty()) {
|
||||
Message = "Cannot find `llc' in executable directory!\n";
|
||||
return 0;
|
||||
|
@ -526,7 +526,7 @@ int JIT::ExecuteProgram(const std::string &Bitcode,
|
|||
AbstractInterpreter *AbstractInterpreter::createJIT(const char *Argv0,
|
||||
std::string &Message, const std::vector<std::string> *Args) {
|
||||
std::string LLIPath =
|
||||
FindExecutable("lli", Argv0, (void *)(intptr_t)&createJIT).str();
|
||||
PrependMainExecutablePath("lli", Argv0, (void *)(intptr_t)&createJIT).str();
|
||||
if (!LLIPath.empty()) {
|
||||
Message = "Found lli: " + LLIPath + "\n";
|
||||
return new JIT(LLIPath, Args);
|
||||
|
@ -604,11 +604,11 @@ int CBE::ExecuteProgram(const std::string &Bitcode,
|
|||
///
|
||||
CBE *AbstractInterpreter::createCBE(const char *Argv0,
|
||||
std::string &Message,
|
||||
const std::string &GCCBinary,
|
||||
const std::string &GCCBinary,
|
||||
const std::vector<std::string> *Args,
|
||||
const std::vector<std::string> *GCCArgs) {
|
||||
sys::Path LLCPath =
|
||||
FindExecutable("llc", Argv0, (void *)(intptr_t)&createCBE);
|
||||
PrependMainExecutablePath("llc", Argv0, (void *)(intptr_t)&createCBE);
|
||||
if (LLCPath.isEmpty()) {
|
||||
Message =
|
||||
"Cannot find `llc' in executable directory!\n";
|
||||
|
|
|
@ -415,8 +415,8 @@ static void EmitShellScript(char **argv, Module *M) {
|
|||
// support windows systems, we copy the llvm-stub.exe executable from the
|
||||
// build tree to the destination file.
|
||||
std::string ErrMsg;
|
||||
sys::Path llvmstub = FindExecutable("llvm-stub.exe", argv[0],
|
||||
(void *)(intptr_t)&Optimize);
|
||||
sys::Path llvmstub = PrependMainExecutablePath("llvm-stub", argv[0],
|
||||
(void *)(intptr_t)&Optimize);
|
||||
if (llvmstub.isEmpty())
|
||||
PrintAndExit("Could not find llvm-stub.exe executable!", M);
|
||||
|
||||
|
@ -664,8 +664,8 @@ int main(int argc, char **argv, char **envp) {
|
|||
sys::RemoveFileOnSignal(AssemblyFile);
|
||||
|
||||
// Determine the locations of the llc and gcc programs.
|
||||
sys::Path llc = FindExecutable("llc", argv[0],
|
||||
(void *)(intptr_t)&Optimize);
|
||||
sys::Path llc = PrependMainExecutablePath("llc", argv[0],
|
||||
(void *)(intptr_t)&Optimize);
|
||||
if (llc.isEmpty())
|
||||
PrintAndExit("Failed to find llc", Composite.get());
|
||||
|
||||
|
@ -691,8 +691,8 @@ int main(int argc, char **argv, char **envp) {
|
|||
sys::RemoveFileOnSignal(CFile);
|
||||
|
||||
// Determine the locations of the llc and gcc programs.
|
||||
sys::Path llc = FindExecutable("llc", argv[0],
|
||||
(void *)(intptr_t)&Optimize);
|
||||
sys::Path llc = PrependMainExecutablePath("llc", argv[0],
|
||||
(void *)(intptr_t)&Optimize);
|
||||
if (llc.isEmpty())
|
||||
PrintAndExit("Failed to find llc", Composite.get());
|
||||
|
||||
|
|
Loading…
Reference in New Issue