Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jul 2021 18:09:41 GMT
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 481cf80cb422 - main - Mk/bsd.ccache.mk: Fix Poudriere CCACHE_STATIC_PREFIX feature.
Message-ID:  <202107141809.16EI9f5D061459@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by bdrewery:

URL: https://cgit.FreeBSD.org/ports/commit/?id=481cf80cb4226bcb94fe743428879848550f659e

commit 481cf80cb4226bcb94fe743428879848550f659e
Author:     Bryan Drewery <bdrewery@FreeBSD.org>
AuthorDate: 2021-07-14 17:58:11 +0000
Commit:     Bryan Drewery <bdrewery@FreeBSD.org>
CommitDate: 2021-07-14 18:09:37 +0000

    Mk/bsd.ccache.mk: Fix Poudriere CCACHE_STATIC_PREFIX feature.
    
    Poudriere's CCACHE_STATIC_PREFIX feature (not Mk/) avoids installing
    ccache for each port using the native jail ABI and instead copies in a
    host static binary.  It uses NO_CCACHE_DEPEND to avoid installing
    ccache.  For example, this is used for ccache-memcached where the
    dependency chain would make using ccache unfeasible.
    
    Poudriere sets CCACHE_WRAPPER_PATH, rather than the new CCACHE_PKG_PREFIX.
    Because CCACHE_BIN is now computed from CCACHE_PKG_PREFIX rather than
    CCACHE_WRAPPER_PATH, CCACHE_BIN was incorrect.  Now compute
    CCACHE_PKG_PREFIX from CCACHE_WRAPPER_PATH if it is set, otherwise
    fallback to using LOCALBASE and computing CCACHE_BIN and
    CCACHE_WRAPPER_PATH from there.
    
    PR      257151
    Fixes:  6b641f4eb4 ("Mk: Document and simply user-modifiable ...")
---
 Mk/bsd.ccache.mk | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Mk/bsd.ccache.mk b/Mk/bsd.ccache.mk
index 0a240bcffe03..fa1b32ca8cfd 100644
--- a/Mk/bsd.ccache.mk
+++ b/Mk/bsd.ccache.mk
@@ -57,6 +57,11 @@ WARNING+=	WITH_CCACHE_BUILD support disabled, please set CCACHE_DIR.
 .if !defined(NO_CCACHE) && defined(WITH_CCACHE_BUILD) && !${CC:M*ccache*} && \
   !defined(NO_BUILD)
 
+# Poudriere will only define CCACHE_WRAPPER_PATH for using a host-static ccache
+# binary.
+.if defined(CCACHE_WRAPPER_PATH)
+CCACHE_PKG_PREFIX=		${CCACHE_WRAPPER_PATH:C,/libexec/ccache$,,}
+.endif
 CCACHE_PKG_PREFIX?=		${LOCALBASE}
 CCACHE_WRAPPER_PATH?=	${CCACHE_PKG_PREFIX}/libexec/ccache
 CCACHE_BIN?=			${CCACHE_PKG_PREFIX}/bin/ccache



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107141809.16EI9f5D061459>