aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2021-07-09 19:37:19 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2021-07-12 16:38:57 +0000
commit53c0dd571599a3b01dd1db379dc810f534e7360a (patch)
tree8cfe2971c23ec5e1c7f4f68fda606771a57de6aa
parent3153ff43c52779633583893932b7417f0c50818c (diff)
downloadports-53c0dd571599a3b01dd1db379dc810f534e7360a.tar.gz
ports-53c0dd571599a3b01dd1db379dc810f534e7360a.zip
devel/ccache*: Split memcached fork into its own port.
-rw-r--r--devel/ccache-memcached-static/Makefile4
-rw-r--r--devel/ccache-memcached/Makefile110
-rw-r--r--devel/ccache-memcached/distinfo (renamed from devel/ccache/distinfo.memcached)0
-rw-r--r--devel/ccache-memcached/files/ccache-howto-freebsd.txt.in67
-rw-r--r--devel/ccache-memcached/files/ccache-update-links.sh.in69
-rw-r--r--devel/ccache-memcached/files/patch-Makefile.in (renamed from devel/ccache/files/extra-patch-memcached-Makefile.in)0
-rw-r--r--devel/ccache-memcached/files/patch-configure.ac (renamed from devel/ccache/files/extra-patch-memcached-configure.ac)0
-rw-r--r--devel/ccache-memcached/files/patch-src__ccache.c56
-rw-r--r--devel/ccache-memcached/files/pkg-message.in9
-rw-r--r--devel/ccache-memcached/files/world-ccache.in9
-rw-r--r--devel/ccache-memcached/pkg-descr8
-rw-r--r--devel/ccache-memcached/pkg-plist9
-rw-r--r--devel/ccache/Makefile83
-rw-r--r--devel/ccache/Makefile.compilers27
-rw-r--r--devel/ccache/files/patch-Makefile.in (renamed from devel/ccache/files/extra-patch-Makefile.in)0
-rw-r--r--devel/ccache/pkg-plist2
16 files changed, 369 insertions, 84 deletions
diff --git a/devel/ccache-memcached-static/Makefile b/devel/ccache-memcached-static/Makefile
index 79b543069b77..a37421fedde8 100644
--- a/devel/ccache-memcached-static/Makefile
+++ b/devel/ccache-memcached-static/Makefile
@@ -1,8 +1,8 @@
PKGNAMESUFFIX= -memcached-static
-MASTERDIR= ${.CURDIR}/../ccache
+MASTERDIR= ${.CURDIR}/../ccache-memcached
-OPTIONS_SLAVE= MEMCACHED STATIC
+OPTIONS_SLAVE= STATIC
CONFLICTS_INSTALL= ccache-[0-9]* ccache-memcached[0-9]* ccache-static[0-9]*
diff --git a/devel/ccache-memcached/Makefile b/devel/ccache-memcached/Makefile
index f9d810b4d987..cd1bde6c1e12 100644
--- a/devel/ccache-memcached/Makefile
+++ b/devel/ccache-memcached/Makefile
@@ -1,9 +1,109 @@
-PKGNAMESUFFIX= -memcached
+# Created by: Dominic Marks <d.marks@student.umist.ac.uk>
-MASTERDIR= ${.CURDIR}/../ccache
+PORTNAME= ccache
+PKGNAMESUFFIX?= -memcached
+PORTVERSION= 3.5.dev.20180926
+PORTREVISION= 1
+CATEGORIES= devel
+MASTER_SITES= LOCAL/bdrewery \
+ GH
-OPTIONS_SLAVE= MEMCACHED
+MAINTAINER= bdrewery@FreeBSD.org
+COMMENT= Tool to minimize the compile time of C/C++ programs
-CONFLICTS_INSTALL= ccache-[0-9]* ccache-memcached-static[0-9]* ccache-static-[0-9]*
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/GPL-3.0.txt
-.include "${MASTERDIR}/Makefile"
+USE_GITHUB= yes
+GH_TAGNAME= f7712082106bef085515f86ae47e7dbbd2a48b57
+
+CONFLICTS_INSTALL?= ccache-[0-9]* ccache-static-[0-9]* ccache-memcached-static-[0-9]*
+
+GNU_CONFIGURE= yes
+
+# Some files shared with devel/ccache
+CCACHEDIR?= ${MASTERDIR}/../ccache
+
+HOWTO= ccache-howto-freebsd.txt
+SUB_FILES= ${HOWTO} world-ccache pkg-message ccache-update-links.sh
+
+PORTDOCS= ccache-howto-freebsd.txt MANUAL.html MANUAL.adoc NEWS.adoc \
+ NEWS.html
+
+OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX
+OPTIONS_DEFAULT=CLANGLINK LLVMLINK
+OPTIONS_SUB= yes
+
+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
+
+USES= autoreconf compiler gmake pkgconfig
+
+CONFIGURE_ENABLE+= memcached
+LIB_DEPENDS+= libmemcached.so:databases/libmemcached
+LDFLAGS+= -L${LOCALBASE}/lib
+CFLAGS+= -I${LOCALBASE}/include
+
+STATIC_CONFIGURE_ENABLE= static
+STATIC_LDFLAGS+= -static
+# Hack for libsasl2.a requiring HMAC_CTX_reset from hidden libntlm.a.
+STATIC_LDFLAGS+= -L${LOCALBASE}/lib/sasl2
+
+# While this works in theory it breaks due to install conflict in Poudriere
+NO_CCACHE_DEPEND= yes
+
+.include <bsd.port.options.mk>
+
+# Extra dependencies needed for generating manpage
+.if ${PORT_OPTIONS:MDOCS}
+BUILD_DEPENDS+= ${LOCALBASE}/bin/a2x:textproc/asciidoc
+ALL_TARGET= all docs
+.endif
+
+.include <bsd.port.pre.mk>
+
+. if ${COMPILER_TYPE} == clang
+CPPFLAGS+= -DCC_IS_CLANG
+. elif ${COMPILER_TYPE} == gcc
+CPPFLAGS+= -DCC_IS_GCC
+. endif
+
+.include "${CCACHEDIR}/Makefile.compilers"
+
+SUB_LIST+= HOWTO="${HOWTO}"
+
+post-build-TINDERBOX-on:
+ @${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
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/ccache ${STAGEDIR}${PREFIX}/bin
+ # Memcached uses the 3.5 dev branch which requires asciidoc to generate
+ # ccache.1.
+.if ${PORT_OPTIONS:MDOCS}
+ ${INSTALL_MAN} ${WRKSRC}/doc/ccache.1 ${STAGEDIR}${PREFIX}/man/man1
+.endif
+ ${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
+
+do-install-TINDERBOX-on:
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+ ${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.tar ${STAGEDIR}${DATADIR}
+
+do-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/MANUAL.html ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/MANUAL.adoc ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/NEWS.adoc ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/NEWS.html ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKDIR}/${HOWTO} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.post.mk>
diff --git a/devel/ccache/distinfo.memcached b/devel/ccache-memcached/distinfo
index 18e39b465696..18e39b465696 100644
--- a/devel/ccache/distinfo.memcached
+++ b/devel/ccache-memcached/distinfo
diff --git a/devel/ccache-memcached/files/ccache-howto-freebsd.txt.in b/devel/ccache-memcached/files/ccache-howto-freebsd.txt.in
new file mode 100644
index 000000000000..5db61cd832e2
--- /dev/null
+++ b/devel/ccache-memcached/files/ccache-howto-freebsd.txt.in
@@ -0,0 +1,67 @@
+To use ccache for ports, just add WITH_CCACHE_BUILD=yes to
+/etc/make.conf. The rest of this guide is for building
+/usr/src and other checkouts.
+
+To use ccache for base (11.0+) just add WITH_CCACHE_BUILD=yes
+to /etc/src.conf. Refer to src.conf(5) for more information.
+
+-------------------------------------------------------------------------------
+
+For older releases, before 11.0, add the following to /etc/make.conf.
+You can replace cc and c++ with the compilers of your choice.
+(remember that only GCC and Clang can build world and kernel)
+
+.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
+.if !defined(NOCCACHE) && exists(%%PREFIX%%/%%CCLINKDIR%%/world/cc)
+CC:=${CC:C,^cc,%%PREFIX%%/%%CCLINKDIR%%/world/cc,1}
+CXX:=${CXX:C,^c\+\+,%%PREFIX%%/%%CCLINKDIR%%/world/c++,1}
+.endif
+.endif
+
+For Korn/Bourne shells Add the following to /etc/profile:
+ export PATH=%%PREFIX%%/%%CCLINKDIR%%:$PATH
+ export CCACHE_PATH=/usr/bin:%%LOCALBASE%%/bin
+
+For csh/tcsh Add the following to /etc/csh.cshrc:
+ setenv PATH %%PREFIX%%/%%CCLINKDIR%%:$PATH
+ setenv CCACHE_PATH /usr/bin:%%LOCALBASE%%/bin
+
+For icc users:
+ Add %%ICCPREFIX%% to CCACHE_PATH
+
+-------------------------------------------------------------------------------
+
+To use distcc:
+
+For Korn/Bourne shells Add the following to /etc/profile:
+ export CCACHE_PREFIX=distcc
+ export DISTCC_HOSTS="localhost host1 host2"
+
+For csh/tcsh Add the following to /etc/csh.cshrc:
+ setenv CCACHE_PREFIX distcc
+ setenv DISTCC_HOSTS "localhost host1 host2"
+
+--
+
+If you have a problem building world
+define NOCCACHE and try again.
+
+If you have a problem building a port
+reset PATH=$CCACHE_PATH and try again.
+
+--
+
+Make sure you run 'ccache-update-links' after you install/uninstall
+additional compilers in order to create/remove compiler links.
+
+--
+
+Ccache's default cache size is 1GB and this is larger than the default size of
+the root partition (/) on FreeBSD. To over come this you may specify a new
+cache location on a different partition with the following examples.
+
+For Korn/Bourne shells Add the following to /etc/profile:
+ export CCACHE_DIR=/usr/.ccache
+
+For csh/tcsh Add the following to /etc/csh.cshrc
+ setenv CCACHE_DIR "/usr/.ccache"
diff --git a/devel/ccache-memcached/files/ccache-update-links.sh.in b/devel/ccache-memcached/files/ccache-update-links.sh.in
new file mode 100644
index 000000000000..bfeb2e220bfb
--- /dev/null
+++ b/devel/ccache-memcached/files/ccache-update-links.sh.in
@@ -0,0 +1,69 @@
+#!/bin/sh
+#
+# Author: Emanuel Haupt <ehaupt@FreeBSD.org>
+
+CCACHE_COMPILERS="%%CCACHE_COMPILERS%% ${EXTRA_COMPILERS}"
+CCLINKDIR="%%CCLINKDIR%%"
+PREFIX="%%PREFIX%%"
+
+usage() {
+ cat << "EOUSAGE"
+Usage: ccache-update-links [hv]
+
+ccache-update-links maintains symlinks needed by ccache to work with additional
+compilers.
+
+ -h, --help this help
+ -v verbose
+
+EOUSAGE
+}
+
+case "$1"
+in
+ -h|--help)
+ usage
+ ;;
+esac
+
+strip_path() {
+ local IFS=":"
+ local path
+ set -- ${PATH}
+ while [ $# -gt 0 ]; do
+ if ! [ "${1}" = "${PREFIX}/libexec/ccache" ]; then
+ path="${path}${path:+:}${1}"
+ fi
+ shift
+ done
+ echo "${path}"
+}
+
+# Remove ccache wrappers from PATH
+PATH=$(strip_path)
+
+# create compiler links
+for comp in ${CCACHE_COMPILERS}
+do
+ if command -v "${comp}" >/dev/null; then
+ if [ ! -L "${PREFIX}/${CCLINKDIR}/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "create symlink for ${comp}"
+ ln -sf ${PREFIX}/bin/ccache ${PREFIX}/${CCLINKDIR}/${comp}
+ fi
+
+ if [ ! -L "${PREFIX}/${CCLINKDIR}/world/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "create symlink for ${comp} (world)"
+ ln -sf ccache ${PREFIX}/${CCLINKDIR}/world/${comp}
+ fi
+ else
+ if [ -L "${PREFIX}/${CCLINKDIR}/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "remove symlink for ${comp}"
+ rm -f ${PREFIX}/${CCLINKDIR}/${comp}
+ fi
+
+ if [ -L "${PREFIX}/${CCLINKDIR}/world/${comp}" ]; then
+ [ "$1" = "-v" ] && echo "remove symlink for ${comp} (world)"
+ rm -f ${PREFIX}/${CCLINKDIR}/world/${comp}
+ fi
+ fi
+done
diff --git a/devel/ccache/files/extra-patch-memcached-Makefile.in b/devel/ccache-memcached/files/patch-Makefile.in
index 4d3c9bed421b..4d3c9bed421b 100644
--- a/devel/ccache/files/extra-patch-memcached-Makefile.in
+++ b/devel/ccache-memcached/files/patch-Makefile.in
diff --git a/devel/ccache/files/extra-patch-memcached-configure.ac b/devel/ccache-memcached/files/patch-configure.ac
index a089a7e07f22..a089a7e07f22 100644
--- a/devel/ccache/files/extra-patch-memcached-configure.ac
+++ b/devel/ccache-memcached/files/patch-configure.ac
diff --git a/devel/ccache-memcached/files/patch-src__ccache.c b/devel/ccache-memcached/files/patch-src__ccache.c
new file mode 100644
index 000000000000..62be558d1bad
--- /dev/null
+++ b/devel/ccache-memcached/files/patch-src__ccache.c
@@ -0,0 +1,56 @@
+- Determine whether cc(1) is clang or gcc at compile-time.
+- Don't hash -fcolor-diagnostics; make will auto use it while make -j will not.
+ There's no reason to not use the cache in either of these cases if it is
+ already available.
+-bdrewery
+
+
+--- src/ccache.c.orig 2018-03-25 13:24:05.000000000 -0700
++++ src/ccache.c 2018-06-26 11:44:03.336177000 -0700
+@@ -487,6 +487,16 @@ guess_compiler(const char *path)
+ } else if (str_eq(name, "pump") || str_eq(name, "distcc-pump")) {
+ result = GUESSED_PUMP;
+ }
++#if defined(CC_IS_CLANG) || defined(CC_IS_GCC)
++ if (result == GUESSED_UNKNOWN &&
++ (strcmp(name, "cc") == 0 || strcmp(name, "CC") == 0 ||
++ strcmp(name, "c++") == 0))
++#if defined(CC_IS_CLANG)
++ result = GUESSED_CLANG;
++#elif defined(CC_IS_GCC)
++ result = GUESSED_GCC;
++#endif
++#endif
+ free(name);
+ return result;
+ }
+@@ -1657,6 +1667,7 @@ calculate_common_hash(struct args *args, struct mdfour
+ free(p);
+ }
+
++#if 0
+ // Possibly hash GCC_COLORS (for color diagnostics).
+ if (guessed_compiler == GUESSED_GCC) {
+ const char *gcc_colors = getenv("GCC_COLORS");
+@@ -1665,6 +1676,7 @@ calculate_common_hash(struct args *args, struct mdfour
+ hash_string(hash, gcc_colors);
+ }
+ }
++#endif
+ }
+
+ // Update a hash sum with information specific to the direct and preprocessor
+@@ -1697,6 +1709,13 @@ calculate_object_hash(struct args *args, struct mdfour
+
+ // -Wl,... doesn't affect compilation (except for clang).
+ if (str_startswith(args->argv[i], "-Wl,") && !is_clang) {
++ continue;
++ }
++
++ /* Colors do not affect compilation. */
++ if (str_startswith(args->argv[i], "-fcolor-diagnostics") ||
++ str_eq(args->argv[i], "-fdiagnostics-color") ||
++ str_eq(args->argv[i], "-fdiagnostics-color=always")) {
+ continue;
+ }
+
diff --git a/devel/ccache-memcached/files/pkg-message.in b/devel/ccache-memcached/files/pkg-message.in
new file mode 100644
index 000000000000..088912983fd3
--- /dev/null
+++ b/devel/ccache-memcached/files/pkg-message.in
@@ -0,0 +1,9 @@
+[
+{ type: install
+ message: <<EOM
+NOTE:
+Please read %%DOCSDIR%%/%%HOWTO%% for
+information on using ccache with FreeBSD ports and src.
+EOM
+}
+]
diff --git a/devel/ccache-memcached/files/world-ccache.in b/devel/ccache-memcached/files/world-ccache.in
new file mode 100644
index 000000000000..9803d12b8298
--- /dev/null
+++ b/devel/ccache-memcached/files/world-ccache.in
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+[ "${0##*/}" = "ccache" ] &&
+ printf "Please, use one of the compiler links in\n%%PREFIX%%/%%CCLINKDIR%%/world\nto invoke ccache\n" >&2 &&
+ exit 1
+
+unset CCACHE_PATH
+export CCACHE_COMPILERCHECK=content
+exec %%PREFIX%%/%%CCLINKDIR%%/${0##*/} "$@"
diff --git a/devel/ccache-memcached/pkg-descr b/devel/ccache-memcached/pkg-descr
new file mode 100644
index 000000000000..659133c687f4
--- /dev/null
+++ b/devel/ccache-memcached/pkg-descr
@@ -0,0 +1,8 @@
+ccache is a compiler cache. It acts as a caching pre-processor to C/C++
+compilers, using the -E compiler switch and a hash to detect when a
+compilation can be satisfied from cache. This often results in a 5 to 10
+times speedup in common compilations.
+
+ccache-memcached is an older fork with memcached support.
+
+WWW: https://ccache.samba.org/
diff --git a/devel/ccache-memcached/pkg-plist b/devel/ccache-memcached/pkg-plist
new file mode 100644
index 000000000000..d85d009442a1
--- /dev/null
+++ b/devel/ccache-memcached/pkg-plist
@@ -0,0 +1,9 @@
+bin/ccache
+bin/ccache-update-links
+@comment manpage requires extra dependencies
+%%DOCS%%man/man1/ccache.1.gz
+%%CCLINKDIR%%/world/ccache
+%%TINDERBOX%%%%DATADIR%%/ccache.tar
+@postexec echo "Create compiler links..."
+@postexec %D/bin/ccache-update-links -v
+@preunexec find %D/%%CCLINKDIR%% -type l -exec rm -f {} \;
diff --git a/devel/ccache/Makefile b/devel/ccache/Makefile
index 6936820166e1..4da908163cfd 100644
--- a/devel/ccache/Makefile
+++ b/devel/ccache/Makefile
@@ -1,7 +1,7 @@
# Created by: Dominic Marks <d.marks@student.umist.ac.uk>
PORTNAME= ccache
-#PORTVERSION must be set later due to depending on PORT_OPTIONS.
+PORTVERSION= 3.7.1
PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= https://github.com/ccache/ccache/releases/download/v${DISTVERSION}/ \
@@ -18,70 +18,27 @@ CONFLICTS_INSTALL?= ccache-static-[0-9]* ccache-memcached-[0-9]* ccache-memcache
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 MANUAL.adoc NEWS.adoc \
NEWS.html
-OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX MEMCACHED
+OPTIONS_DEFINE= CLANGLINK LLVMLINK STATIC DOCS TINDERBOX
OPTIONS_DEFAULT=CLANGLINK LLVMLINK
+OPTIONS_SUB= yes
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
-MEMCACHED_DESC= Build in experimental Memcached support
USES= compiler
-MEMCACHED_EXTRA_PATCHES= \
- ${FILESDIR}/extra-patch-memcached-configure.ac \
- ${FILESDIR}/extra-patch-memcached-Makefile.in
-MEMCACHED_CONFIGURE_ENABLE= memcached
-MEMCACHED_USES= autoreconf gmake pkgconfig
-MEMCACHED_LIB_DEPENDS= libmemcached.so:databases/libmemcached
-MEMCACHED_LDFLAGS= -L${LOCALBASE}/lib
-MEMCACHED_CFLAGS= -I${LOCALBASE}/include
-
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) && \
- !defined(NO_CCACHE_DEPEND)
-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.
-#MEMCACHED_DEPENDS_ARGS+= NO_CCACHE_DEPEND=1
-.endif
+STATIC_LDFLAGS+= -static
# Support WITH_CCACHE_BUILD but don't depend on it.
NO_CCACHE_DEPEND= yes
-OPTIONS_SUB= yes
-
-STATIC_LDFLAGS+= -static
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MMEMCACHED}
-# Hack for libsasl2.a requiring HMAC_CTX_reset from hidden libntlm.a.
-STATIC_LDFLAGS+= -L${LOCALBASE}/lib/sasl2
-PORTVERSION= 3.5.dev.20180926
-USE_GITHUB= yes
-GH_TAGNAME= f7712082106bef085515f86ae47e7dbbd2a48b57
-MASTER_SITES=
-DISTINFO_FILE= ${MASTERDIR}/distinfo.memcached
-.if ${PORT_OPTIONS:MDOCS}
-BUILD_DEPENDS+= ${LOCALBASE}/bin/a2x:textproc/asciidoc
-ALL_TARGET= all docs
-PLIST_FILES+= man/man1/ccache.1.gz
-.endif
-.else
-PORTVERSION= 3.7.1
-.endif
-
.include <bsd.port.pre.mk>
. if ${COMPILER_TYPE} == clang
@@ -90,35 +47,11 @@ CPPFLAGS+= -DCC_IS_CLANG
CPPFLAGS+= -DCC_IS_GCC
. endif
-PLIST_SUB+= CCLINKDIR="${CCLINKDIR}"
-
-.if ${ARCH}=="i386"
-CCACHE_COMPILERS+= icc icpc
-.endif
-
-GNU_COMPILERS+= 34 42 43 44 45 46 47 48 49 5 6 7 8 9 10
-CCACHE_COMPILERS+= cc c++ CC gcc g++ ${GNU_COMPILERS:S|^|gcc|} \
- ${GNU_COMPILERS:S|^|g++|} \
- ${GNU_COMPILERS:S|^|cpp|}
-
-.if ${PORT_OPTIONS:MCLANGLINK}
-CLANG_COMPILERS+= 33 34 35 36 37 38 39 40 50 60 70 80 90 10 -devel
-CCACHE_COMPILERS+= clang clang++ ${CLANG_COMPILERS:S|^|clang|} \
- ${CLANG_COMPILERS:S|^|clang++|} \
- ${CLANG_COMPILERS:S|^|cpp|}
-.endif
-
-.if ${PORT_OPTIONS:MLLVMLINK}
-CCACHE_COMPILERS+= llvm-gcc llvm-c++ llvm-g++
-.endif
+.include "${MASTERDIR}/Makefile.compilers"
-CCACHE_COMPILERS+= ${EXTRA_COMPILERS}
-SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \
- CCLINKDIR="${CCLINKDIR}" \
- ICCPREFIX="${LOCALBASE}/intel_cc_80/bin" \
- HOWTO="${HOWTO}"
+SUB_LIST+= HOWTO="${HOWTO}"
-post-patch-MEMCACHED-off:
+post-patch:
@${REINPLACE_CMD} \
-e 's,_XOPEN_SOURCE 600,_XOPEN_SOURCE 700,' \
-e 's,_POSIX_C_SOURCE 200112L,_POSIX_C_SOURCE 200809L,' \
@@ -136,9 +69,7 @@ do-install:
${INSTALL_PROGRAM} ${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
${INSTALL_SCRIPT} ${WRKDIR}/world-ccache \
${STAGEDIR}${PREFIX}/${CCLINKDIR}/world/ccache
diff --git a/devel/ccache/Makefile.compilers b/devel/ccache/Makefile.compilers
new file mode 100644
index 000000000000..86bd59e19d43
--- /dev/null
+++ b/devel/ccache/Makefile.compilers
@@ -0,0 +1,27 @@
+CCLINKDIR?= libexec/ccache
+PLIST_SUB+= CCLINKDIR="${CCLINKDIR}"
+SUB_LIST+= CCACHE_COMPILERS="${CCACHE_COMPILERS}" \
+ CCLINKDIR="${CCLINKDIR}" \
+ ICCPREFIX="${LOCALBASE}/intel_cc_80/bin"
+
+.if ${ARCH}=="i386"
+CCACHE_COMPILERS+= icc icpc
+.endif
+
+GNU_COMPILERS+= 34 42 43 44 45 46 47 48 49 5 6 7 8 9 10
+CCACHE_COMPILERS+= cc c++ CC gcc g++ ${GNU_COMPILERS:S|^|gcc|} \
+ ${GNU_COMPILERS:S|^|g++|} \
+ ${GNU_COMPILERS:S|^|cpp|}
+
+.if ${PORT_OPTIONS:MCLANGLINK}
+CLANG_COMPILERS+= 33 34 35 36 37 38 39 40 50 60 70 80 90 10 -devel
+CCACHE_COMPILERS+= clang clang++ ${CLANG_COMPILERS:S|^|clang|} \
+ ${CLANG_COMPILERS:S|^|clang++|} \
+ ${CLANG_COMPILERS:S|^|cpp|}
+.endif
+
+.if ${PORT_OPTIONS:MLLVMLINK}
+CCACHE_COMPILERS+= llvm-gcc llvm-c++ llvm-g++
+.endif
+
+CCACHE_COMPILERS+= ${EXTRA_COMPILERS}
diff --git a/devel/ccache/files/extra-patch-Makefile.in b/devel/ccache/files/patch-Makefile.in
index 458f388c93ed..458f388c93ed 100644
--- a/devel/ccache/files/extra-patch-Makefile.in
+++ b/devel/ccache/files/patch-Makefile.in
diff --git a/devel/ccache/pkg-plist b/devel/ccache/pkg-plist
index 8f6ad6707c81..c3327694fe5a 100644
--- a/devel/ccache/pkg-plist
+++ b/devel/ccache/pkg-plist
@@ -1,6 +1,6 @@
bin/ccache
bin/ccache-update-links
-%%NO_MEMCACHED%%man/man1/ccache.1.gz
+man/man1/ccache.1.gz
%%CCLINKDIR%%/world/ccache
%%TINDERBOX%%%%DATADIR%%/ccache.tar
@postexec echo "Create compiler links..."