diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-390.154.ebuild index 7a9cab0fed5d9..2ad4e5070ba9b 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 dbd9393ea0bf4..1a33c461bb33d 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 50cb0bbc6344d..f90467ba3060f 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 353d32365a63f..92a3dc232374a 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 b90995aadf68f..7e9da0275ad54 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 66022f11b591c..b8881ceb9cd57 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}"