SystemUtils.h revision 3aae810efa1fd0923aaf46dc03087f01eb8f1253
1//===- SystemUtils.h - Utilities to do low-level system stuff ---*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This file contains functions used to do a variety of low-level, often 11// system-specific, tasks. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef LLVM_SUPPORT_SYSTEMUTILS_H 16#define LLVM_SUPPORT_SYSTEMUTILS_H 17 18#include <string> 19 20namespace llvm { 21 class raw_ostream; 22 namespace sys { class Path; } 23 24/// Determine if the raw_ostream provided is connected to a terminal. If so, 25/// generate a warning message to errs() advising against display of bitcode 26/// and return true. Otherwise just return false. 27/// @brief Check for output written to a console 28bool CheckBitcodeOutputToConsole( 29 raw_ostream &stream_to_check, ///< The stream to be checked 30 bool print_warning = true ///< Control whether warnings are printed 31); 32 33/// FindExecutable - Find a named executable, given the value of argv[0] of the 34/// program being executed and the address of main itself. This allows us to 35/// find another LLVM tool if it is built in the same directory. An empty string 36/// is returned on error. 37/// @brief Find a named executable. 38sys::Path FindExecutable(const std::string &ExeName, 39 const char *Argv0, void *MainAddr); 40 41} // End llvm namespace 42 43#endif 44