commit: b936a2e117ce7f7be01fefa5cfda2de31bd5789d Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Sun Sep 25 22:26:54 2022 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Sun Sep 25 22:34:51 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b936a2e1
x11-drivers/nvidia-drivers: adjust clang, recognize KERNEL_CC/LD Still feels a bit crude (ideally this should be handled by the linux-mod eclass), but recognizing some env var will let users adjust themselves to some extend for now (e.g. to select different clang version). Also keep current CC value if it's clang, albeit not checking tc-ld-is-lld given -fuse-ld=lld means nothing here. Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild | 8 +++++--- x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild | 8 +++++--- x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild | 8 +++++--- x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild | 8 +++++--- x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild | 8 +++++--- x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild | 8 +++++--- 6 files changed, 30 insertions(+), 18 deletions(-) diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild index 7a9cab0fed5d..2ad4e5070ba9 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild @@ -118,17 +118,19 @@ pkg_setup() { BUILD_TARGETS="modules" if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental" + ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" + ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." - BUILD_PARAMS+=' CC=${CHOST}-clang' + tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' + : "${KERNEL_LD:=ld.lld}" if linux_chkconfig_present LTO_CLANG_THIN; then # kernel enables cache by default leading to sandbox violations BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' fi fi fi + BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' if kernel_is -gt ${NV_KERNEL_MAX/./ }; then ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild index dbd9393ea0bf..1a33c461bb33 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-470.141.03.ebuild @@ -120,17 +120,19 @@ pkg_setup() { BUILD_TARGETS="modules" if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental" + ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" + ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." - BUILD_PARAMS+=' CC=${CHOST}-clang' + tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' + : "${KERNEL_LD:=ld.lld}" if linux_chkconfig_present LTO_CLANG_THIN; then # kernel enables cache by default leading to sandbox violations BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' fi fi fi + BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' if kernel_is -gt ${NV_KERNEL_MAX/./ }; then ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild index 50cb0bbc6344..f90467ba3060 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-510.85.02.ebuild @@ -123,17 +123,19 @@ pkg_setup() { BUILD_TARGETS="modules" if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental" + ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" + ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." - BUILD_PARAMS+=' CC=${CHOST}-clang' + tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' + : "${KERNEL_LD:=ld.lld}" if linux_chkconfig_present LTO_CLANG_THIN; then # kernel enables cache by default leading to sandbox violations BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' fi fi fi + BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' if kernel_is -gt ${NV_KERNEL_MAX/./ }; then ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild index 353d32365a63..92a3dc232374 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.49.15.ebuild @@ -132,17 +132,19 @@ pkg_setup() { BUILD_TARGETS="modules" if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental" + ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" + ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." - BUILD_PARAMS+=' CC=${CHOST}-clang' + tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' + : "${KERNEL_LD:=ld.lld}" if linux_chkconfig_present LTO_CLANG_THIN; then # kernel enables cache by default leading to sandbox violations BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' fi fi fi + BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' if kernel_is -gt ${NV_KERNEL_MAX/./ }; then ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild index b90995aadf68..7e9da0275ad5 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.65.01.ebuild @@ -132,17 +132,19 @@ pkg_setup() { BUILD_TARGETS="modules" if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental" + ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" + ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." - BUILD_PARAMS+=' CC=${CHOST}-clang' + tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' + : "${KERNEL_LD:=ld.lld}" if linux_chkconfig_present LTO_CLANG_THIN; then # kernel enables cache by default leading to sandbox violations BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' fi fi fi + BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' if kernel_is -gt ${NV_KERNEL_MAX/./ }; then ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}" diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild index 66022f11b591..b8881ceb9cd5 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-515.76.ebuild @@ -132,17 +132,19 @@ pkg_setup() { BUILD_TARGETS="modules" if linux_chkconfig_present CC_IS_CLANG; then - ewarn "Warning: building ${PN} with a clang-built kernel is experimental" + ewarn "Warning: clang-built kernel detected, using clang for modules (experimental)" + ewarn "Can use KERNEL_CC and KERNEL_LD environment variables to override if needed." - BUILD_PARAMS+=' CC=${CHOST}-clang' + tc-is-clang || : "${KERNEL_CC:=${CHOST}-clang}" if linux_chkconfig_present LD_IS_LLD; then - BUILD_PARAMS+=' LD=ld.lld' + : "${KERNEL_LD:=ld.lld}" if linux_chkconfig_present LTO_CLANG_THIN; then # kernel enables cache by default leading to sandbox violations BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' fi fi fi + BUILD_PARAMS+=' ${KERNEL_CC:+CC="${KERNEL_CC}"} ${KERNEL_LD:+LD="${KERNEL_LD}"}' if kernel_is -gt ${NV_KERNEL_MAX/./ }; then ewarn "Kernel ${KV_MAJOR}.${KV_MINOR} is either known to break this version of ${PN}"