Added
Link Here
|
1 |
# Created by: Dominic Marks <d.marks@student.umist.ac.uk> |
2 |
|
3 |
PORTNAME= ccache |
4 |
PORTVERSION= 4.8 |
5 |
DISTVERSIONPREFIX= v |
6 |
CATEGORIES= devel |
7 |
|
8 |
MAINTAINER= bdrewery@FreeBSD.org |
9 |
COMMENT= Tool to minimize the compile time of C/C++ programs |
10 |
|
11 |
LICENSE= GPLv3+ |
12 |
LICENSE_FILE= ${WRKSRC}/GPL-3.0.txt |
13 |
|
14 |
USES= cmake:noninja pathfix shebangfix compiler:c++11-lang |
15 |
CONFLICTS_INSTALL?= ccache ccache-static \ |
16 |
ccache-memcached ccache-memcached-static |
17 |
|
18 |
PORTDOCS= AUTHORS.adoc AUTHORS.html MANUAL.html MANUAL.adoc \ |
19 |
NEWS.adoc NEWS.html |
20 |
|
21 |
USE_GITHUB= yes |
22 |
SUB_FILES= world-ccache ccache-update-links.sh ccache_clean |
23 |
# Prevent infinite recursion. |
24 |
NO_CCACHE_DEPEND= yes |
25 |
|
26 |
LIB_DEPENDS+= libzstd.so:archivers/zstd |
27 |
|
28 |
# /bin/bash -> /bin/sh to reduce tests dep. |
29 |
SHEBANG_FILES= test/* |
30 |
SHEBANG_GLOB= *.sh *.bash |
31 |
bash_CMD= /bin/sh |
32 |
|
33 |
CMAKE_OFF= WARNINGS_AS_ERRORS \ |
34 |
ENABLE_IPO \ |
35 |
ZSTD_FROM_INTERNET \ |
36 |
ENABLE_TRACING \ |
37 |
REDIS_STORAGE_BACKEND \ |
38 |
STATIC_LINK |
39 |
|
40 |
OPTIONS_DEFINE= DOCS CLANGLINK LLVMLINK STATIC TEST |
41 |
OPTIONS_DEFAULT=CLANGLINK LLVMLINK |
42 |
OPTIONS_SUB= yes |
43 |
|
44 |
DOCS_BUILD_DEPENDS= asciidoctor:textproc/rubygem-asciidoctor |
45 |
DOCS_ALL_TARGET= all doc |
46 |
DOCS_USES= perl5 |
47 |
DOCS_CMAKE_BOOL= ENABLE_DOCUMENTATION |
48 |
|
49 |
CLANGLINK_DESC= Create clang compiler links if clang is installed |
50 |
LLVMLINK_DESC= Create llvm compiler links if llvm is installed |
51 |
|
52 |
STATIC_LDFLAGS= -static |
53 |
|
54 |
TEST_CMAKE_BOOL=ENABLE_TESTING |
55 |
TEST_TARGET= check |
56 |
|
57 |
.include <bsd.port.pre.mk> |
58 |
|
59 |
CCLINKDIR= libexec/ccache |
60 |
PLIST_SUB+= CCLINKDIR="${CCLINKDIR}" |
61 |
|
62 |
.if ${ARCH}=="i386" |
63 |
CCACHE_COMPILERS+= icc icpc |
64 |
.endif |
65 |
|
66 |
GNU_COMPILERS+= 48 8 9 10 11 12 |
67 |
CCACHE_COMPILERS+= cc c++ CC gcc g++ ${GNU_COMPILERS:S|^|gcc|} \ |
68 |
${GNU_COMPILERS:S|^|g++|} \ |
69 |
${GNU_COMPILERS:S|^|cpp|} |
70 |
|
71 |
.if ${PORT_OPTIONS:MCLANGLINK} |
72 |
CLANG_COMPILERS+= 10 11 12 13 14 15 16 -devel |
73 |
CCACHE_COMPILERS+= clang clang++ ${CLANG_COMPILERS:S|^|clang|} \ |
74 |
${CLANG_COMPILERS:S|^|clang++|} \ |
75 |
${CLANG_COMPILERS:S|^|cpp|} |
76 |
.endif |
77 |
|
78 |
.if ${PORT_OPTIONS:MLLVMLINK} |
79 |
CCACHE_COMPILERS+= llvm-gcc llvm-c++ llvm-g++ |
80 |
.endif |
81 |
|
82 |
CCACHE_COMPILERS+= ${EXTRA_COMPILERS} |
83 |
SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \ |
84 |
CCLINKDIR="${CCLINKDIR}" |
85 |
|
86 |
post-install: |
87 |
${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world |
88 |
${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \ |
89 |
${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache |
90 |
${INSTALL_SCRIPT} ${WRKDIR}/ccache-update-links.sh \ |
91 |
${STAGEDIR}${PREFIX}/bin/ccache-update-links |
92 |
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily |
93 |
${INSTALL_SCRIPT} ${WRKDIR}/ccache_clean \ |
94 |
${STAGEDIR}${PREFIX}/etc/periodic/daily |
95 |
|
96 |
post-install-DOCS-on: |
97 |
${MKDIR} ${STAGEDIR}${DOCSDIR} |
98 |
${INSTALL_DATA} ${BUILD_WRKSRC}/doc/*.html ${STAGEDIR}${DOCSDIR} |
99 |
${INSTALL_DATA} ${WRKSRC}/doc/*.adoc ${STAGEDIR}${DOCSDIR} |
100 |
|
101 |
.include <bsd.port.post.mk> |