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"
20 //===----------------------------------------------------------------------===//
21 //=== WARNING: Implementation here must contain only TRULY operating system
22 //=== independent code.
23 //===----------------------------------------------------------------------===//
26 Program::ExecuteAndWait(const Path
& path
,
29 const Path
** redirects
,
30 unsigned secondsToWait
,
32 std::string
* ErrMsg
) {
34 if (prg
.Execute(path
, args
, envp
, redirects
, memoryLimit
, ErrMsg
))
35 return prg
.Wait(secondsToWait
, ErrMsg
);
41 Program::ExecuteNoWait(const Path
& path
,
44 const Path
** redirects
,
46 std::string
* ErrMsg
) {
48 prg
.Execute(path
, args
, envp
, redirects
, memoryLimit
, ErrMsg
);
54 // Include the platform-specific parts of this class.
56 #include "Unix/Program.inc"
59 #include "Win32/Program.inc"