Recognize the UNAME_RELEASE environment variable to match Darwin's uname.

When this variable is set, "uname -r" will return its value instead of the
real OS version.  Make this affect LLVM's triple for consistency.
<rdar://problem/9919167>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137111 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bob Wilson 2011-08-09 05:13:36 +00:00
parent 70d0ca999c
commit f5b757642d

View File

@ -22,12 +22,18 @@
#include <sys/utsname.h>
#include <cctype>
#include <string>
#include <cstdlib> // ::getenv
using namespace llvm;
static std::string getOSVersion() {
struct utsname info;
// Recognize UNAME_RELEASE environment variable to match Darwin uname.
const char *UnameOverride = ::getenv("UNAME_RELEASE");
if (UnameOverride && UnameOverride[0] != '\0')
return UnameOverride;
if (uname(&info))
return "";