1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
From 73460524593da572f34f2994a75d1d946613e54a Mon Sep 17 00:00:00 2001
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sun, 16 Apr 2017 16:49:00 +0100
Subject: [PATCH 1/7] Add Alpine Linux distro
---
include/clang/Driver/Distro.h | 5 +++++
lib/Driver/Distro.cpp | 3 +++
2 files changed, 8 insertions(+)
diff --git a/include/clang/Driver/Distro.h b/include/clang/Driver/Distro.h
index fab4986..17775bf 100644
--- a/include/clang/Driver/Distro.h
+++ b/include/clang/Driver/Distro.h
@@ -26,6 +26,7 @@ public:
// NB: Releases of a particular Linux distro should be kept together
// in this enum, because some tests are done by integer comparison against
// the first and last known member in the family, e.g. IsRedHat().
+ AlpineLinux,
ArchLinux,
DebianLenny,
DebianSqueeze,
@@ -98,6 +99,10 @@ public:
/// @name Convenience Predicates
/// @{
+ bool IsAlpineLinux() const {
+ return DistroVal == AlpineLinux;
+ }
+
bool IsRedhat() const {
return DistroVal == Fedora || (DistroVal >= RHEL5 && DistroVal <= RHEL7);
}
diff --git a/lib/Driver/Distro.cpp b/lib/Driver/Distro.cpp
index 2df297f..4cf2c2e 100644
--- a/lib/Driver/Distro.cpp
+++ b/lib/Driver/Distro.cpp
@@ -129,6 +129,9 @@ static Distro::DistroType DetectDistro(vfs::FileSystem &VFS) {
if (VFS.exists("/etc/arch-release"))
return Distro::ArchLinux;
+ if (VFS.exists("/etc/alpine-release"))
+ return Distro::AlpineLinux;
+
return Distro::UnknownDistro;
}
--
2.14.1
|