# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$

PortSystem          1.0
PortGroup           github 1.0

github.setup        ccache ccache 3.3.3 v
name                ccache-devel
epoch               1
categories          devel
platforms           darwin freebsd
license             GPL-3+

maintainers         ryandesign openmaintainer

description         object-file caching compiler wrapper

long_description \
    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.

homepage            https://ccache.samba.org/

checksums           rmd160  de571304f866dfc6045d3a936b870adde023e61d \
                    sha256  09c07ebd5326462899477855f743896e3f48887ba0797370e7591c4719f4228d

# use_autoconf yes and setting autoconf.cmd to a non-default value will modify
# depends_build, removing autoconf/automake/libtool. Avoid this by doing it
# before setting depends_build.
use_autoconf        yes
autoconf.cmd        ./autogen.sh

depends_build       port:asciidoc \
                    port:autoconf \
                    port:automake \
                    port:docbook-xsl \
                    port:libtool \
                    port:libxslt

depends_lib         port:zlib

patchfiles          patch-dev.mk.in.diff

post-patch {
    reinplace "s|@PREFIX@|${prefix}|g" ${worksrcpath}/dev.mk.in
}


build.target-append ccache.1

set symlinks_dir    ${prefix}/libexec/ccache

post-destroot {
    file mkdir ${destroot}${symlinks_dir}

    foreach {bin} {
        cc
        gcc gcc2    gcc3    gcc-3.3 gcc-4.0 gcc-4.2
        c++ c++3    c++-3.3 c++-4.0 c++-4.2
        g++ g++2    g++3    g++-3.3 g++-4.0 g++-4.2
    } {
        ln -sf ${prefix}/bin/ccache ${destroot}${symlinks_dir}/${bin}
    }
}

conflicts           ccache

notes "The ccache symlinks are installed in ${symlinks_dir}"