blob: 1bd6da5632b79b91362f0ca1ed19ae42fb0aa164 [file] [log] [blame]
Mikhail Glushenkov24abe722009-02-08 21:10:57 +00001 //===- llvm/System/Unix/Host.inc -------------------------------*- C++ -*-===//
2//
Daniel Dunbarf56039e2008-10-02 01:17:28 +00003// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
Mikhail Glushenkov24abe722009-02-08 21:10:57 +00007//
Daniel Dunbarf56039e2008-10-02 01:17:28 +00008//===----------------------------------------------------------------------===//
9//
10// This file implements the UNIX Host support.
11//
12//===----------------------------------------------------------------------===//
13
14//===----------------------------------------------------------------------===//
15//=== WARNING: Implementation here must contain only generic UNIX code that
16//=== is guaranteed to work on *all* UNIX variants.
17//===----------------------------------------------------------------------===//
18
19#include <llvm/Config/config.h>
20#include "Unix.h"
21#include <sys/utsname.h>
22#include <string>
23
24using namespace llvm;
25
Chris Lattnerfcaa7f82009-01-22 19:53:00 +000026std::string llvm::sys::getOSName() {
Daniel Dunbarf56039e2008-10-02 01:17:28 +000027 struct utsname info;
28
29 if (uname(&info))
30 return "";
31
32 return info.sysname;
33}
34
Chris Lattnerfcaa7f82009-01-22 19:53:00 +000035std::string llvm::sys::getOSVersion() {
Daniel Dunbarf56039e2008-10-02 01:17:28 +000036 struct utsname info;
37
38 if (uname(&info))
39 return "";
40
41 return info.release;
42}