Changeset View
Changeset View
Standalone View
Standalone View
devel/ccache/Makefile
Show All 10 Lines | |||||
MAINTAINER= bdrewery@FreeBSD.org | MAINTAINER= bdrewery@FreeBSD.org | ||||
COMMENT= Tool to minimize the compile time of C/C++ programs | COMMENT= Tool to minimize the compile time of C/C++ programs | ||||
LICENSE= GPLv3+ | LICENSE= GPLv3+ | ||||
LICENSE_FILE= ${WRKSRC}/GPL-3.0.txt | LICENSE_FILE= ${WRKSRC}/GPL-3.0.txt | ||||
CONFLICTS_INSTALL?= ccache-static-[0-9]* ccache-memcached-[0-9]* ccache-memcached-static-[0-9]* | CONFLICTS_INSTALL?= ccache-static-[0-9]* ccache-memcached-[0-9]* ccache-memcached-static-[0-9]* | ||||
GNU_CONFIGURE= yes | |||||
HOWTO= ccache-howto-freebsd.txt | HOWTO= ccache-howto-freebsd.txt | ||||
CCLINKDIR= libexec/ccache | CCLINKDIR= libexec/ccache | ||||
SUB_FILES= ${HOWTO} world-ccache pkg-message ccache-update-links.sh | SUB_FILES= ${HOWTO} world-ccache pkg-message ccache-update-links.sh | ||||
PORTDOCS= ccache-howto-freebsd.txt MANUAL.html MANUAL.adoc NEWS.adoc \ | PORTDOCS= ccache-howto-freebsd.txt MANUAL.html MANUAL.adoc NEWS.adoc \ | ||||
NEWS.html | NEWS.html | ||||
OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX MEMCACHED | OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX MEMCACHED | ||||
OPTIONS_DEFAULT=CLANGLINK LLVMLINK | OPTIONS_DEFAULT=CLANGLINK LLVMLINK | ||||
CLANGLINK_DESC= Create clang compiler links if clang is installed | CLANGLINK_DESC= Create clang compiler links if clang is installed | ||||
LLVMLINK_DESC= Create llvm compiler links if llvm is installed | LLVMLINK_DESC= Create llvm compiler links if llvm is installed | ||||
TINDERBOX_DESC= Create tarball for tinderbox usage | TINDERBOX_DESC= Create tarball for tinderbox usage | ||||
MEMCACHED_DESC= Build in experimental Memcached support | MEMCACHED_DESC= Build in experimental Memcached support | ||||
USES= compiler | |||||
MEMCACHED_EXTRA_PATCHES= \ | MEMCACHED_EXTRA_PATCHES= \ | ||||
${FILESDIR}/extra-patch-memcached-configure.ac \ | ${FILESDIR}/extra-patch-memcached-configure.ac \ | ||||
${FILESDIR}/extra-patch-memcached-Makefile.in | ${FILESDIR}/extra-patch-memcached-Makefile.in | ||||
MEMCACHED_CONFIGURE_ENABLE= memcached | MEMCACHED_CONFIGURE_ENABLE= memcached | ||||
MEMCACHED_USES= autoreconf gmake pkgconfig | MEMCACHED_USES= compiler autoreconf gmake pkgconfig | ||||
MEMCACHED_USES_OFF= compiler:c++11-lang cmake | |||||
MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached | MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached | ||||
MEMCACHED_LDFLAGS= -L${LOCALBASE}/lib | MEMCACHED_LDFLAGS= -L${LOCALBASE}/lib | ||||
MEMCACHED_CFLAGS= -I${LOCALBASE}/include | MEMCACHED_CFLAGS= -I${LOCALBASE}/include | ||||
STATIC_CONFIGURE_ENABLE= static | STATIC_CONFIGURE_ENABLE= static | ||||
.if empty(OPTIONS_SLAVE:MMEMCACHED) | |||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-Makefile.in | |||||
.endif | |||||
.if defined(WITH_CCACHE_BUILD) && empty(OPTIONS_SLAVE:MMEMCACHED) && \ | .if defined(WITH_CCACHE_BUILD) && empty(OPTIONS_SLAVE:MMEMCACHED) && \ | ||||
!defined(NO_CCACHE_DEPEND) | !defined(NO_CCACHE_DEPEND) | ||||
MEMCACHED_IGNORE= MEMCACHED cannot be combined with WITH_CCACHE_BUILD. Use devel/ccache-memcached | MEMCACHED_IGNORE= MEMCACHED cannot be combined with WITH_CCACHE_BUILD. Use devel/ccache-memcached | ||||
# XXX: This needs more testing with Poudriere before enabling. Also bsd.options.mk support. | # XXX: This needs more testing with Poudriere before enabling. Also bsd.options.mk support. | ||||
#MEMCACHED_DEPENDS_ARGS+= NO_CCACHE_DEPEND=1 | #MEMCACHED_DEPENDS_ARGS+= NO_CCACHE_DEPEND=1 | ||||
.endif | .endif | ||||
# Support WITH_CCACHE_BUILD but don't depend on it. | # Support WITH_CCACHE_BUILD but don't depend on it. | ||||
NO_CCACHE_DEPEND= yes | NO_CCACHE_DEPEND= yes | ||||
OPTIONS_SUB= yes | OPTIONS_SUB= yes | ||||
STATIC_LDFLAGS+= -static | STATIC_LDFLAGS+= -static | ||||
.include <bsd.port.options.mk> | .include <bsd.port.options.mk> | ||||
.if ${PORT_OPTIONS:MDOCS} | |||||
BUILD_DEPENDS+= a2x:textproc/asciidoc | |||||
.endif | |||||
.if ${PORT_OPTIONS:MMEMCACHED} | .if ${PORT_OPTIONS:MMEMCACHED} | ||||
# Hack for libsasl2.a requiring HMAC_CTX_reset from hidden libntlm.a. | # Hack for libsasl2.a requiring HMAC_CTX_reset from hidden libntlm.a. | ||||
STATIC_LDFLAGS+= -L${LOCALBASE}/lib/sasl2 | STATIC_LDFLAGS+= -L${LOCALBASE}/lib/sasl2 | ||||
PORTVERSION= 3.5.dev.20180926 | PORTVERSION= 3.5.dev.20180926 | ||||
USE_GITHUB= yes | USE_GITHUB= yes | ||||
GH_TAGNAME= f7712082106bef085515f86ae47e7dbbd2a48b57 | GH_TAGNAME= f7712082106bef085515f86ae47e7dbbd2a48b57 | ||||
MASTER_SITES= | MASTER_SITES= | ||||
DISTINFO_FILE= ${MASTERDIR}/distinfo.memcached | DISTINFO_FILE= ${MASTERDIR}/distinfo.memcached | ||||
GNU_CONFIGURE= yes | |||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src__ccache.c | |||||
.if ${PORT_OPTIONS:MDOCS} | .if ${PORT_OPTIONS:MDOCS} | ||||
BUILD_DEPENDS+= ${LOCALBASE}/bin/a2x:textproc/asciidoc | |||||
ALL_TARGET= all docs | ALL_TARGET= all docs | ||||
PLIST_FILES+= man/man1/ccache.1.gz | |||||
.endif | .endif | ||||
.else | .else | ||||
PORTVERSION= 3.7.1 | PORTVERSION= 4.1 | ||||
#PATCH_SITE is set later due to depending on PORT_OPTIONS. | |||||
PATCH_SITES= https://github.com/ccache/ccache/pull/ | |||||
PATCHFILES+= 730.patch:-p1 # https://github.com/ccache/ccache/pull/730 | |||||
.if ${PORT_OPTIONS:MDOCS} | |||||
ALL_TARGET= all doc | |||||
.endif | .endif | ||||
.endif | |||||
.include <bsd.port.pre.mk> | .include <bsd.port.pre.mk> | ||||
. if ${COMPILER_TYPE} == clang | . if ${COMPILER_TYPE} == clang | ||||
CPPFLAGS+= -DCC_IS_CLANG | CPPFLAGS+= -DCC_IS_CLANG | ||||
. elif ${COMPILER_TYPE} == gcc | . elif ${COMPILER_TYPE} == gcc | ||||
CPPFLAGS+= -DCC_IS_GCC | CPPFLAGS+= -DCC_IS_GCC | ||||
. endif | . endif | ||||
Show All 21 Lines | |||||
.endif | .endif | ||||
CCACHE_COMPILERS+= ${EXTRA_COMPILERS} | CCACHE_COMPILERS+= ${EXTRA_COMPILERS} | ||||
SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \ | SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \ | ||||
CCLINKDIR="${CCLINKDIR}" \ | CCLINKDIR="${CCLINKDIR}" \ | ||||
ICCPREFIX="${LOCALBASE}/intel_cc_80/bin" \ | ICCPREFIX="${LOCALBASE}/intel_cc_80/bin" \ | ||||
HOWTO="${HOWTO}" | HOWTO="${HOWTO}" | ||||
post-patch-MEMCACHED-off: | |||||
@${REINPLACE_CMD} \ | |||||
-e 's,_XOPEN_SOURCE 600,_XOPEN_SOURCE 700,' \ | |||||
-e 's,_POSIX_C_SOURCE 200112L,_POSIX_C_SOURCE 200809L,' \ | |||||
${WRKSRC}/configure | |||||
post-build-TINDERBOX-on: | post-build-TINDERBOX-on: | ||||
@${MKDIR} ${WRKDIR}/tb/opt | @${MKDIR} ${WRKDIR}/tb/opt | ||||
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${WRKDIR}/tb/opt | ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${WRKDIR}/tb/opt | ||||
.for l in ${CCACHE_COMPILERS} | .for l in ${CCACHE_COMPILERS} | ||||
@${LN} -sf ${PORTNAME} ${WRKDIR}/tb/opt/${l} | @${LN} -sf ${PORTNAME} ${WRKDIR}/tb/opt/${l} | ||||
.endfor | .endfor | ||||
@${TAR} -C ${WRKDIR}/tb -cpf ${WRKSRC}/${PORTNAME}.tar opt | @${TAR} -C ${WRKDIR}/tb -cpf ${WRKSRC}/${PORTNAME}.tar opt | ||||
do-install: | do-install: | ||||
${INSTALL_PROGRAM} ${WRKSRC}/ccache ${STAGEDIR}${PREFIX}/bin | ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/ccache ${STAGEDIR}${PREFIX}/bin | ||||
# Memcached uses the 3.5 dev branch which requires asciidoc to generate | |||||
# ccache.1. | |||||
.if !${PORT_OPTIONS:MMEMCACHED} || ${PORT_OPTIONS:MDOCS} | |||||
${INSTALL_MAN} ${WRKSRC}/doc/ccache.1 ${STAGEDIR}${PREFIX}/man/man1 | |||||
.endif | |||||
${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world | ${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world | ||||
${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \ | ${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \ | ||||
${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache | ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache | ||||
${INSTALL_SCRIPT} ${WRKDIR}/ccache-update-links.sh \ | ${INSTALL_SCRIPT} ${WRKDIR}/ccache-update-links.sh \ | ||||
${STAGEDIR}${PREFIX}/bin/ccache-update-links | ${STAGEDIR}${PREFIX}/bin/ccache-update-links | ||||
do-install-TINDERBOX-on: | do-install-TINDERBOX-on: | ||||
${MKDIR} ${STAGEDIR}${DATADIR} | ${MKDIR} ${STAGEDIR}${DATADIR} | ||||
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.tar ${STAGEDIR}${DATADIR} | ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.tar ${STAGEDIR}${DATADIR} | ||||
do-install-DOCS-on: | do-install-DOCS-on: | ||||
${MKDIR} ${STAGEDIR}${DOCSDIR} | ${MKDIR} ${STAGEDIR}${DOCSDIR} | ||||
${INSTALL_DATA} ${WRKSRC}/doc/MANUAL.html ${STAGEDIR}${DOCSDIR} | ${INSTALL_DATA} ${BUILD_WRKSRC}/doc/ccache.1 ${STAGEDIR}${MAN1PREFIX}/man/man1 | ||||
${INSTALL_DATA} ${BUILD_WRKSRC}/doc/MANUAL.html ${STAGEDIR}${DOCSDIR} | |||||
${INSTALL_DATA} ${WRKSRC}/doc/MANUAL.adoc ${STAGEDIR}${DOCSDIR} | ${INSTALL_DATA} ${WRKSRC}/doc/MANUAL.adoc ${STAGEDIR}${DOCSDIR} | ||||
${INSTALL_DATA} ${WRKSRC}/doc/NEWS.adoc ${STAGEDIR}${DOCSDIR} | ${INSTALL_DATA} ${WRKSRC}/doc/NEWS.adoc ${STAGEDIR}${DOCSDIR} | ||||
${INSTALL_DATA} ${WRKSRC}/doc/NEWS.html ${STAGEDIR}${DOCSDIR} | ${INSTALL_DATA} ${BUILD_WRKSRC}/doc/NEWS.html ${STAGEDIR}${DOCSDIR} | ||||
${INSTALL_DATA} ${WRKDIR}/${HOWTO} ${STAGEDIR}${DOCSDIR} | ${INSTALL_DATA} ${WRKDIR}/${HOWTO} ${STAGEDIR}${DOCSDIR} | ||||
.include <bsd.port.post.mk> | .include <bsd.port.post.mk> |