SUMMARY="A fast compiler cache"
DESCRIPTION="ccache speeds up recompilation by caching previous \
compilations and detecting when same compilation is being done again. \
Supported languages are C, C++, Objective-C and Objective-C++."
HOMEPAGE="https://ccache.samba.org/"
COPYRIGHT="2002-2007 Andrew Tridgell
	2009-2019 Joel Rosdahl"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://github.com/ccache/ccache/releases/download/v$portVersion/ccache-$portVersion.tar.xz"
CHECKSUM_SHA256="73e2633ac9bca387b5a39c72a8f85634670c4091dab639228c433898163c86c0"
PATCHES="ccache-$portVersion.patchset"

ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"

GLOBAL_WRITABLE_FILES="settings/ccache.conf keep-old"
USER_SETTINGS_FILES="settings/ccache.conf"

# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
	commandSuffix=
	commandBinDir=$prefix/bin
fi

PROVIDES="
	ccache$secondaryArchSuffix = $portVersion
	cmd:ccache$commandSuffix
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:awk
	cmd:gcc$secondaryArchSuffix
	cmd:make
	cmd:xargs
	"

TEST_REQUIRES="
	cmd:cmp
	cmd:perl
	"

BUILD()
{
	runConfigure --omit-dirs "binDir sysconfDir" ./configure \
		--bindir=$commandBinDir \
		--sysconfdir="`finddir B_SYSTEM_SETTINGS_DIRECTORY`"
	make $jobArgs
}

INSTALL()
{
	make install
	echo "# System-wide configuration for ccache" > $settingsDir/ccache.conf
}

TEST()
{
	make check
}
