1 //===-- Program.cpp - Implement OS Program Concept --------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This header file implements the operating system Program concept.
12 //===----------------------------------------------------------------------===//
14 #include "llvm/System/Program.h"
15 #include "llvm/Config/config.h"
19 //===----------------------------------------------------------------------===//
20 //=== WARNING: Implementation here must contain only TRULY operating system
21 //=== independent code.
22 //===----------------------------------------------------------------------===//
25 Program::ExecuteAndWait(const Path& path,
28 const Path** redirects,
29 unsigned secondsToWait,
31 std::string* ErrMsg) {
33 if (prg.Execute(path, args, envp, redirects, memoryLimit, ErrMsg))
34 return prg.Wait(secondsToWait, ErrMsg);
40 Program::ExecuteNoWait(const Path& path,
43 const Path** redirects,
45 std::string* ErrMsg) {
47 prg.Execute(path, args, envp, redirects, memoryLimit, ErrMsg);
50 // Include the platform-specific parts of this class.
52 #include "Unix/Program.inc"
55 #include "Win32/Program.inc"