blob: 5e70dd7f112fadce0d10e19d4c35bd278b3892df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
# Created by: Dominic Marks <d.marks@student.umist.ac.uk>
# $FreeBSD$
PORTNAME= ccache
PORTVERSION= 3.1.9
PORTREVISION= 8
CATEGORIES= devel
MASTER_SITES= http://www.samba.org/ftp/ccache/ \
CRITICAL
MAINTAINER= bdrewery@FreeBSD.org
COMMENT= Tool to minimize the compile time of C/C++ programs
LICENSE= GPLv3
GNU_CONFIGURE= yes
HOWTO= ccache-howto-freebsd.txt
CCLINKDIR= libexec/ccache
SUB_FILES= ${HOWTO} world-ccache pkg-message ccache-update-links.sh
PORTDOCS= ccache-howto-freebsd.txt MANUAL.html
OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX COLORS
OPTIONS_DEFAULT=COLORS
COLORS_DESC= Support compiler colors
CLANGLINK_DESC= Create clang compiler links if clang is installed
LLVMLINK_DESC= Create llvm compiler links if llvm is installed
TINDERBOX_DESC= Create tarball for tinderbox usage
COLORS_EXTRA_PATCHES= ${FILESDIR}/extra-patch-colors
COLORS_USES= compiler
OPTIONS_SUB= yes
STATIC_LDFLAGS= -static
.include <bsd.port.options.mk>
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MCOLORS}
. if ${COMPILER_TYPE} == clang
CPPFLAGS+= -DCC_IS_CLANG
. elif ${COMPILER_TYPE} == gcc
CPPFLAGS+= -DCC_IS_GCC
. endif
.endif
PLIST_SUB+= CCLINKDIR="${CCLINKDIR}"
.if ${ARCH}=="i386"
CCACHE_COMPILERS+= icc icpc
.endif
GNU_COMPILERS+= 34 42 43 44 45 46 47 48 49
CCACHE_COMPILERS+= cc c++ CC gcc g++ ${GNU_COMPILERS:S|^|gcc|} ${GNU_COMPILERS:S|^|g++|}
.if ${PORT_OPTIONS:MCLANGLINK}
CLANG_COMPILERS+= 31 32 33 34
CCACHE_COMPILERS+= clang clang++ ${CLANG_COMPILERS:S|^|clang|} ${CLANG_COMPILERS:S|^|clang++|}
.endif
.if ${PORT_OPTIONS:MLLVMLINK}
CCACHE_COMPILERS+= llvm-gcc llvm-c++ llvm-g++
.endif
CCACHE_COMPILERS+= ${EXTRA_COMPILERS}
SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \
CCLINKDIR="${CCLINKDIR}" \
ICCPREFIX="${LOCALBASE}/intel_cc_80/bin" \
HOWTO="${HOWTO}"
post-build:
.if ${PORT_OPTIONS:MTINDERBOX}
@${MKDIR} ${WRKDIR}/tb/opt
@${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${WRKDIR}/tb/opt
.for l in ${CCACHE_COMPILERS}
@${LN} -sf ${PORTNAME} ${WRKDIR}/tb/opt/${l}
.endfor
@${TAR} -C ${WRKDIR}/tb -cpf ${WRKSRC}/${PORTNAME}.tar opt
.endif
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/ccache ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/ccache.1 ${STAGEDIR}${PREFIX}/man/man1
${MKDIR} ${STAGEDIR}${PREFIX}/${CCLINKDIR}/world
${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \
${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache
${INSTALL_SCRIPT} ${WRKDIR}/ccache-update-links.sh \
${STAGEDIR}${PREFIX}/bin/ccache-update-links
.if ${PORT_OPTIONS:MTINDERBOX}
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.tar ${STAGEDIR}${DATADIR}
.endif
.if ${PORT_OPTIONS:MDOCS}
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/MANUAL.html ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKDIR}/${HOWTO} ${STAGEDIR}${DOCSDIR}
.endif
post-install:
.if ${PORT_OPTIONS:MCLANGLINK}
@${CAT} ${FILESDIR}/pkg-message-clang >> ${PKGMESSAGE}
.endif
.include <bsd.port.post.mk>
|