1 |
commit: b936a2e117ce7f7be01fefa5cfda2de31bd5789d |
2 |
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Sep 25 22:26:54 2022 +0000 |
4 |
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Sep 25 22:34:51 2022 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b936a2e1 |
7 |
|
8 |
x11-drivers/nvidia-drivers: adjust clang, recognize KERNEL_CC/LD |
9 |
|
10 |
Still feels a bit crude (ideally this should be handled by the |
11 |
linux-mod eclass), but recognizing some env var will let users |
12 |
adjust themselves to some extend for now (e.g. to select different |
13 |
clang version). |
14 |
|
15 |
Also keep current CC value if it's clang, albeit not checking |
16 |
tc-ld-is-lld given -fuse-ld=lld means nothing here. |
17 |
|
18 |
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> |
19 |
|
20 |
x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild | 8 +++++--- |
21 |
x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild | 8 +++++--- |
22 |
x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild | 8 +++++--- |
23 |
x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild | 8 +++++--- |
24 |
x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild | 8 +++++--- |
25 |
x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild | 8 +++++--- |
26 |
6 files changed, 30 insertions(+), 18 deletions(-) |
27 |
|
28 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild |
29 |
index 7a9cab0fed5d..2ad4e5070ba9 100644 |
30 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild |
31 |
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild |
32 |
@@ -118,17 +118,19 @@ pkg_setup() { |
33 |
BUILD_TARGETS="modules" |
34 |
|
35 |
if linux_chkconfig_present CC_IS_CLANG; then |
36 |
- ewarn "Warning: building ${PN} with a clang-built kernel is experimental" |
37 |
+ ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" |
38 |
+ ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." |
39 |
|
40 |
- BUILD_PARAMS+=' CC=${CHOST}-clang' |
41 |
+ tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" |
42 |
if linux_chkconfig_present LD_IS_LLD; then |
43 |
- BUILD_PARAMS+=' LD=ld.lld' |
44 |
+ : "${KERNEL_LD:=ld.lld}" |
45 |
if linux_chkconfig_present LTO_CLANG_THIN; then |
46 |
# kernel enables cache by default leading to sandbox violations |
47 |
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' |
48 |
fi |
49 |
fi |
50 |
fi |
51 |
+ BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' |
52 |
|
53 |
if kernel_is -gt ${NV_KERNEL_MAX/./ }; then |
54 |
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" |
55 |
|
56 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild |
57 |
index dbd9393ea0bf..1a33c461bb33 100644 |
58 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild |
59 |
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild |
60 |
@@ -120,17 +120,19 @@ pkg_setup() { |
61 |
BUILD_TARGETS="modules" |
62 |
|
63 |
if linux_chkconfig_present CC_IS_CLANG; then |
64 |
- ewarn "Warning: building ${PN} with a clang-built kernel is experimental" |
65 |
+ ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" |
66 |
+ ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." |
67 |
|
68 |
- BUILD_PARAMS+=' CC=${CHOST}-clang' |
69 |
+ tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" |
70 |
if linux_chkconfig_present LD_IS_LLD; then |
71 |
- BUILD_PARAMS+=' LD=ld.lld' |
72 |
+ : "${KERNEL_LD:=ld.lld}" |
73 |
if linux_chkconfig_present LTO_CLANG_THIN; then |
74 |
# kernel enables cache by default leading to sandbox violations |
75 |
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' |
76 |
fi |
77 |
fi |
78 |
fi |
79 |
+ BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' |
80 |
|
81 |
if kernel_is -gt ${NV_KERNEL_MAX/./ }; then |
82 |
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" |
83 |
|
84 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild |
85 |
index 50cb0bbc6344..f90467ba3060 100644 |
86 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild |
87 |
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild |
88 |
@@ -123,17 +123,19 @@ pkg_setup() { |
89 |
BUILD_TARGETS="modules" |
90 |
|
91 |
if linux_chkconfig_present CC_IS_CLANG; then |
92 |
- ewarn "Warning: building ${PN} with a clang-built kernel is experimental" |
93 |
+ ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" |
94 |
+ ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." |
95 |
|
96 |
- BUILD_PARAMS+=' CC=${CHOST}-clang' |
97 |
+ tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" |
98 |
if linux_chkconfig_present LD_IS_LLD; then |
99 |
- BUILD_PARAMS+=' LD=ld.lld' |
100 |
+ : "${KERNEL_LD:=ld.lld}" |
101 |
if linux_chkconfig_present LTO_CLANG_THIN; then |
102 |
# kernel enables cache by default leading to sandbox violations |
103 |
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' |
104 |
fi |
105 |
fi |
106 |
fi |
107 |
+ BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' |
108 |
|
109 |
if kernel_is -gt ${NV_KERNEL_MAX/./ }; then |
110 |
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" |
111 |
|
112 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild |
113 |
index 353d32365a63..92a3dc232374 100644 |
114 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild |
115 |
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild |
116 |
@@ -132,17 +132,19 @@ pkg_setup() { |
117 |
BUILD_TARGETS="modules" |
118 |
|
119 |
if linux_chkconfig_present CC_IS_CLANG; then |
120 |
- ewarn "Warning: building ${PN} with a clang-built kernel is experimental" |
121 |
+ ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" |
122 |
+ ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." |
123 |
|
124 |
- BUILD_PARAMS+=' CC=${CHOST}-clang' |
125 |
+ tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" |
126 |
if linux_chkconfig_present LD_IS_LLD; then |
127 |
- BUILD_PARAMS+=' LD=ld.lld' |
128 |
+ : "${KERNEL_LD:=ld.lld}" |
129 |
if linux_chkconfig_present LTO_CLANG_THIN; then |
130 |
# kernel enables cache by default leading to sandbox violations |
131 |
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' |
132 |
fi |
133 |
fi |
134 |
fi |
135 |
+ BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' |
136 |
|
137 |
if kernel_is -gt ${NV_KERNEL_MAX/./ }; then |
138 |
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" |
139 |
|
140 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild |
141 |
index b90995aadf68..7e9da0275ad5 100644 |
142 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild |
143 |
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild |
144 |
@@ -132,17 +132,19 @@ pkg_setup() { |
145 |
BUILD_TARGETS="modules" |
146 |
|
147 |
if linux_chkconfig_present CC_IS_CLANG; then |
148 |
- ewarn "Warning: building ${PN} with a clang-built kernel is experimental" |
149 |
+ ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" |
150 |
+ ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." |
151 |
|
152 |
- BUILD_PARAMS+=' CC=${CHOST}-clang' |
153 |
+ tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" |
154 |
if linux_chkconfig_present LD_IS_LLD; then |
155 |
- BUILD_PARAMS+=' LD=ld.lld' |
156 |
+ : "${KERNEL_LD:=ld.lld}" |
157 |
if linux_chkconfig_present LTO_CLANG_THIN; then |
158 |
# kernel enables cache by default leading to sandbox violations |
159 |
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' |
160 |
fi |
161 |
fi |
162 |
fi |
163 |
+ BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' |
164 |
|
165 |
if kernel_is -gt ${NV_KERNEL_MAX/./ }; then |
166 |
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" |
167 |
|
168 |
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild |
169 |
index 66022f11b591..b8881ceb9cd5 100644 |
170 |
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild |
171 |
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild |
172 |
@@ -132,17 +132,19 @@ pkg_setup() { |
173 |
BUILD_TARGETS="modules" |
174 |
|
175 |
if linux_chkconfig_present CC_IS_CLANG; then |
176 |
- ewarn "Warning: building ${PN} with a clang-built kernel is experimental" |
177 |
+ ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" |
178 |
+ ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." |
179 |
|
180 |
- BUILD_PARAMS+=' CC=${CHOST}-clang' |
181 |
+ tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" |
182 |
if linux_chkconfig_present LD_IS_LLD; then |
183 |
- BUILD_PARAMS+=' LD=ld.lld' |
184 |
+ : "${KERNEL_LD:=ld.lld}" |
185 |
if linux_chkconfig_present LTO_CLANG_THIN; then |
186 |
# kernel enables cache by default leading to sandbox violations |
187 |
BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' |
188 |
fi |
189 |
fi |
190 |
fi |
191 |
+ BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' |
192 |
|
193 |
if kernel_is -gt ${NV_KERNEL_MAX/./ }; then |
194 |
ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" |