Added
Link Here
|
1 |
# Created by: Dominic Marks <d.marks@student.umist.ac.uk> |
2 |
# $FreeBSD$ |
3 |
|
4 |
PORTNAME= ccache |
5 |
PORTVERSION= 4.2.20210207 |
6 |
CATEGORIES= devel |
7 |
PKGNAMESUFFIX= -devel |
8 |
|
9 |
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ |
10 |
#PATCHFILES+= |
11 |
|
12 |
MAINTAINER= rozhuk.im@gmail.com |
13 |
COMMENT= Tool to minimize the compile time of C/C++ programs |
14 |
|
15 |
LICENSE= GPLv3+ |
16 |
LICENSE_FILE= ${WRKSRC}/GPL-3.0.txt |
17 |
|
18 |
CONFLICTS_INSTALL?= ccache-[0-9]* ccache-static-[0-9]* \ |
19 |
ccache-memcached-[0-9]* ccache-memcached-static-[0-9]* |
20 |
|
21 |
PORTDOCS= AUTHORS.adoc AUTHORS.html MANUAL.html MANUAL.adoc \ |
22 |
NEWS.adoc NEWS.html |
23 |
|
24 |
USES= cmake:noninja pathfix shebangfix compiler:c++11-lang |
25 |
USE_GITHUB= yes |
26 |
GH_TAGNAME= c4284c78e9ff286ee5208f449af4c2aaba062d37 |
27 |
SUB_FILES= world-ccache ccache-update-links.sh ccache_clean |
28 |
# Prevent infinite recursion. |
29 |
NO_CCACHE_DEPEND= yes |
30 |
|
31 |
# /bin/bash -> /bin/sh to reduce tests dep. |
32 |
SHEBANG_FILES= test/* |
33 |
SHEBANG_GLOB= *.sh *.bash |
34 |
bash_CMD= /bin/sh |
35 |
|
36 |
CMAKE_OFF= WARNINGS_AS_ERRORS \ |
37 |
ENABLE_IPO \ |
38 |
ZSTD_FROM_INTERNET \ |
39 |
ENABLE_TRACING \ |
40 |
STATIC_LINK |
41 |
|
42 |
OPTIONS_DEFINE= DOCS CLANGLINK LLVMLINK STATIC TEST |
43 |
OPTIONS_DEFAULT=CLANGLINK LLVMLINK |
44 |
OPTIONS_SUB= yes |
45 |
|
46 |
DOCS_BUILD_DEPENDS= a2x:textproc/asciidoc |
47 |
DOCS_ALL_TARGET=all doc |
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+= 34 42 43 44 45 46 47 48 49 5 6 7 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+= 33 34 35 36 37 38 39 40 50 60 70 80 90 10 11 12 -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-patch-DOCS-off: |
87 |
@${REINPLACE_CMD} -e 's|add_subdirectory(doc)||g' \ |
88 |
${WRKSRC}/CMakeLists.txt |
89 |
|
90 |
post-install: |
91 |
${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world |
92 |
${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \ |
93 |
${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache |
94 |
${INSTALL_SCRIPT} ${WRKDIR}/ccache-update-links.sh \ |
95 |
${STAGEDIR}${PREFIX}/bin/ccache-update-links |
96 |
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/daily |
97 |
${INSTALL_SCRIPT} ${WRKDIR}/ccache_clean \ |
98 |
${STAGEDIR}${PREFIX}/etc/periodic/daily |
99 |
|
100 |
post-install-DOCS-on: |
101 |
${MKDIR} ${STAGEDIR}${DOCSDIR} |
102 |
${INSTALL_DATA} ${BUILD_WRKSRC}/doc/*.html ${STAGEDIR}${DOCSDIR} |
103 |
${INSTALL_DATA} ${WRKSRC}/doc/*.adoc ${STAGEDIR}${DOCSDIR} |
104 |
|
105 |
.include <bsd.port.post.mk> |