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/Support/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(path
, 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 "Windows/Program.inc"