ccache-config: Source /lib/gentoo/functions.sh, bug 504380.
authorMike Gilbert <floppym@gentoo.org>
Sun, 21 Dec 2014 15:30:09 +0000 (15:30 +0000)
committerMike Gilbert <floppym@gentoo.org>
Sun, 21 Dec 2014 15:30:09 +0000 (15:30 +0000)
Package-Manager: portage-2.2.15/cvs/Linux x86_64
Manifest-Sign-Key: 0x0BBEEA1FEA4843A4

dev-util/ccache/ChangeLog
dev-util/ccache/Manifest
dev-util/ccache/ccache-3.1.9-r4.ebuild [new file with mode: 0644]
dev-util/ccache/ccache-3.2.1-r1.ebuild [new file with mode: 0644]
dev-util/ccache/files/ccache-config-3 [new file with mode: 0644]

index 01cceefa0cc82345d536733964dd89245879e60b..173dc0e49939dc2426f1f7fba6990d6c31c0acbc 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for dev-util/ccache
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ChangeLog,v 1.144 2014/12/12 07:32:40 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ChangeLog,v 1.145 2014/12/21 15:30:06 floppym Exp $
+
+*ccache-3.2.1-r1 (21 Dec 2014)
+*ccache-3.1.9-r4 (21 Dec 2014)
+
+  21 Dec 2014; Mike Gilbert <floppym@gentoo.org> +ccache-3.1.9-r4.ebuild,
+  +ccache-3.2.1-r1.ebuild, +files/ccache-config-3:
+  ccache-config: Source /lib/gentoo/functions.sh, bug 504380.
 
 *ccache-3.2.1 (12 Dec 2014)
 
index 44b950ce43098da683cf303978f1337b40e07f28..58bf8934fee1fe5b0503662205281ac2ac65d611 100644 (file)
@@ -1,5 +1,5 @@
 -----BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
+Hash: SHA256
 
 AUX ccache-2.4-profile.patch 1069 SHA256 7cd6e8fcd2fc90aac484ff83c1181c82eca4ec3e2d568c10025f67ac751a6794 SHA512 0bf467d058ea0aacb19a8c768109582e5ed7178926548304eee0c5e86cc74bcfe3aff64b1ee1d22701e2a3ffb7ffa4e13b7ddf25eb640fbdcf1cdf4844047c16 WHIRLPOOL c2e8756288cac5a57f5b04e2502474ba9a86552d18281e57830fa679130bc5050b69bbe5d48cdc647a1164955314731a51c2ad0ef546307e5415f62614e46ead
 AUX ccache-2.4-respectflags.patch 403 SHA256 f7006cc34ecc8315b023d4533273d47a7a34958e7037242811a58ee8570efbd5 SHA512 f05ebbfc30a71d0f9e2182364a9c0fed2ffe4cd382f2ff19bb2d6311d2ec086452804253aea485aea36a70871b35cf6b88e1e55260cdb898aaa8755644ba7f8a WHIRLPOOL 809a6841dd4ca9ab35fddd5258dc5781d1ebf11d7e412b7aa7611135b5aeb8fe01bd5bb2c4f1f26fef076d4c1edb34bed53870c193dd75d0d69e4c14d1fef581
@@ -11,6 +11,7 @@ AUX ccache-3.1.7-no-perl.patch 400 SHA256 5784419b79e89bda1bf0a8d053c26c9d798dc8
 AUX ccache-3.1.9-test-gcc-4.8.patch 5157 SHA256 da673ec98db54c2fee09585ffe4ac4fde3d9867a9a66f0064f8de4d7409644c1 SHA512 44cb88357b1fece0869463c4819422823d8025be577dc50eaeb435a3675c033c56e1dc0474b505830b229de7f8bd92cd6833eae72830d89a2e4a89b8a46aed6f WHIRLPOOL 88d61b411367808e0239a949e01742ed2204e8212a4af8dd919f4d6335a040769d9b33ea2e1c1b71eba69c25b81f1417d717bcb6dd4799a9d276a0ec7bfe00ff
 AUX ccache-config 2222 SHA256 02df1f8f5fbd07c0eab09f18a51c357525953163391adc95ed5e46c813bffdd0 SHA512 58a635bcfb1a682b36a67e70ecad29912fd1e5cca20ebbd1a89912b97f18ada204cf24f2bb88ddce985ab3423a94d34e2322a08f1dc0d8bd17a4b77bbcd66282 WHIRLPOOL 87086954357d3e09e7fa75395ef02a84d86fb1d74caa3d117c5bca80d1531f1b454ef715678972893fd82be43a3e3efbc8c81a14a3520dd3b84eb7141c06277d
 AUX ccache-config-2 2147 SHA256 775a4fb6f14b03bfb7a396521a7fc6606cbd84308e68712aa61139a8fddea573 SHA512 339e413cedf69cb0ca96f10b80a4959762bc02b4d0c265ecec4b16550f935574537799f624a553ac157c003d02b331283d9b21924676551ffe8a9ad72335d11e WHIRLPOOL 615ff8214549011bef667809c47611a0067d16a045273114e972cc7623c20f5b53cb32c5f69dcb2de396e8f3f5c41ca47d623a91d7eb6189caaae28e81ab24ac
+AUX ccache-config-3 2147 SHA256 9b87028bf3aae546251be72b438e9ef615a9986771cb5e7e64b2ba1dc2ff927c SHA512 05d512b001b6a2fdc947d10d810c89683144080a060c24a37422e9b587594e1ee42fa1d7607461571f196819dae92146d861e8ae116e9226e1ff97ea035b3003 WHIRLPOOL 321d4f4d28c447836b3c9bd75f1d6b564b06903a7df7139df3b27695c20f07cc3045655b3eb826418edac5b4c9fd0c7558f7b8764ea025438b352d6528e0af93
 DIST ccache-2.4.tar.gz 86363 SHA256 435f862ca5168c346f5aa9e242174bbf19a5abcaeecfceeac2f194558827aaa0 SHA512 6ab05f74eba5c0a7472a3d53cfa6c24e45f421f2c773776f713a46121eda21213deb34fcef214d4f8d2e756cd375637e4639a9bdfeb6b9a44455c5bcca246b19 WHIRLPOOL eb308222713d17f52f88ac97a5c63add454b350d60259d1d2238e3b54f1e80ad8c8700e0e045b40aa5be64b1db54846a86da600436778a64d2270efff7763380
 DIST ccache-3.1.1.tar.gz 324042 SHA256 eb0b37e25ecfdf1262e0da7fc5f01d986923589803c230dcb7213ecbead3aed1 SHA512 de1d3b6d32df08db28a6ef99ec6ce7c5d5957d7c54a0cfc6df303979eedcc198c09ca7bdd0dd1546350f83cbd87a08fa734d6f6a04272926741ef2efbf2a596f WHIRLPOOL acf700b1ede0cbf312dcfd825191aa5a16dd8a1e18669eac6a9cdc4805d92e024bf5811c5fe77dc51a9311cff2a52c72dd16ea0b81656aa554e027abda5b00c9
 DIST ccache-3.1.10.tar.xz 240932 SHA256 88439f43d3b426ab435afdf69a808511bada4de3a8a9527426bc4fbf6cb02857 SHA512 6a1c77161ec97b556a8c58592e2d6bba8e3d43cc039de3ebaa2a80fb92ae54bb7bad58eb011f52b750e29aadb0ed208220fb67d30deaf6c64aa4cfab31937fed WHIRLPOOL 5d527d986ba14a6312f82df277d7de47757bb43b7bcaf9eb6cbdbf337af862726f1f85ff7c352d0ad54344d98a8d8dc538e43de05976cdd29710b72917b42106
@@ -39,26 +40,16 @@ EBUILD ccache-3.1.7.ebuild 1868 SHA256 91c6bac92477d375382baea491d86ceb4c9e722c5
 EBUILD ccache-3.1.8.ebuild 1828 SHA256 c8cb4b4b93ad0e34cbcd2cb53da63f2c0856c5ed729d8bc7b5385a518f2fa0c9 SHA512 c258db009169e10408d5e12b6f6e111666df1d3f6a8024d3f519529a43bd0c67a915bcf36ed6951e7953c049f2009c2165a1f2f029a94d757cddff237d35531d WHIRLPOOL 8041198c0861f7f430bbd0f7837201d6aa56cf3dd4effef75be70c5f72c3e665a68c40b70c41a93df6862a7b42d208a4bf3206c0132a820edc4cee6fbb81983b
 EBUILD ccache-3.1.9-r2.ebuild 2414 SHA256 8ce6c043db2f19f2e02793cc0a7d96d638eac980f5010b0ebf787a701199feff SHA512 4b42ccdaf4e6af712185cad5d4976d0f78ef77b6a3d7f7dc676181bc7a1ebf60a49d4b51cbb18f53d802b537a17f633bef03c90513342293b318dc21c7b06474 WHIRLPOOL a1a6da113df674fec5da42d8febc6d79755cf3b5570c36644139dac3c016ba7f531b42e082f0b1d4ad585c3a6cde00471857d17684afdbf189f8fc7e95746cf3
 EBUILD ccache-3.1.9-r3.ebuild 2311 SHA256 a04470ec13d50277af4172058764ba0ca27ff5fc4bb601088959fd7978eca018 SHA512 293a645353e3a560d68b4ddba5d77c1a6a54fa23160559cc7465b37de601c5381aab9d44440c597dcd6cb52eb8487a56b6246c14e084808b48c154a257439e4f WHIRLPOOL 23534b4af2242cc1aa6d2c8bf0a2c6bff157f6603c0c86ffde781897af3e8d0e1d0c359d3b909b51c0fec39a7b8d3d2f231b392f5bc121800b390e4a302706e1
+EBUILD ccache-3.1.9-r4.ebuild 2353 SHA256 252743be2a2f6e275113d0f19d357eee5797c6caff0dc6164273d67aa1aa4071 SHA512 b887196577ba3b441cc843880b401872989b2fe8d594461c80d6c82d726e74f2e26386d1427a1025589e11095f361ed6793b8e5f445cd3fc5a1690f1b04d682e WHIRLPOOL 5bb2f4ef3ad340b24ff89fe0b50c77b1a22cdf027a5334085d301b51aa22f527ca9931ffe61df44b8de72b13c4b8ce26f3bade3ca99687367b44d83df4d38d4f
 EBUILD ccache-3.1.9.ebuild 1930 SHA256 10c374f8e0896172880bf9a7e93351c8f5676e20a9d050b9e3b1a93e76bf1411 SHA512 4a2f148cfe8526fb9fa70b0b9339810af2811ba7d077a90fdc8b8b2280ea80a4790c9e475344f88bde4e01dbeb93ffa429d8e2d417537006201abd1eb2057284 WHIRLPOOL 104505aaf61b01fc384ff8e6118dfe51fd29b50f4c541a8cf31168a661f8216735368ea280b7e1e9bde640bf5f853e45d12cb321cde648f61578ee82a08e1721
+EBUILD ccache-3.2.1-r1.ebuild 2245 SHA256 86f0f4f1d25623c8d82ecaa0ac047bf0864e32c191f09dbad51329a6d2d7615e SHA512 867eecdd7ab7c5a168cdf9000cdd08d838fba88fa909e2d65c5438dd6c426285a2d54527a47de70ef1a7813a4fb4610b0c109e0bef6bd1de0a5ee7f0b170fb5e WHIRLPOOL 50095e6c0078490cd724bc3809ab96956f8d93bc25ab755468d5ae3fe8d33afa3d985338b0a2366fa749610bb1e09f2188dd92676758f951fdf12c894e297a8d
 EBUILD ccache-3.2.1.ebuild 2213 SHA256 0f235cb087cf1774fe3864f2ce0d67ef59f840238c0c15639d84cec7a0c36d56 SHA512 acf1767e4fa032ebbb8d9420a15dda2fbc320538bd7c1fb00afa36b4f5468e31ea44b7e952105cae9012f93c22d43b1ffd9173f3c045d6ffa6cb41f9fb8599f7 WHIRLPOOL 3919ee0c689ef2de322d7edc37a048e123cdc410c4afafc85802e3d6d39370a0c75cb19117a121c0bae17c13342e9b14a5c0b615dd4c01a4ddc10d4da5fed853
-MISC ChangeLog 18560 SHA256 2cf068f99eb59f73bb7ef8b98a171b8d99ce3010aea56628f2b80df319385e28 SHA512 61bb1df78f59272bfde6de628255879274da8c30fe9fa39acbbbdc304b435dabe7bf606b5b2fc49716892fa469834c0a46dd8bc031c10a72d39cadd8b6c55040 WHIRLPOOL 5efd3540089578f073f8c4f20d13859f6870fa56a7875c35e2a0f420ea02fc8aa66fcf676890ced96166123ceee0de404f5170e96797f681c3c77090f0356b15
+MISC ChangeLog 18814 SHA256 029ed22e5c0eec064364fdbd267f651b90ee91a9edc82c822ac6bf73ac0ba1b5 SHA512 8b3133def454c036e5ec6c38577803adad97d0a7edb615f4230c29cd3ae3270ce479fe1b6c217794466f77a73de859afdbceb0315cc649b09666dd2c61469576 WHIRLPOOL 1963a2b3aae102e91222a09ec5432182a5634b83606af9d6a44cf766de62e37cc4eba99ff79f54f7384a3e849437b2bbb7a3299eb9d700a6c881b042ac251284
 MISC metadata.xml 418 SHA256 32bc83c47bf71f7b4b9ba775fe6912a973e5561257bc02e2ba8d44ea596786c8 SHA512 f5e288e9a8fa9007e8f6704e12235e1c73ad887102813ca0a573ada97304b8f4d4956c9bd9041c73d90e4b4a328b317e2aa51a026edff7f54f203a802045895f WHIRLPOOL b8ff848f8911f74c5dc3610d4fae4645ef02004b6d0c72219c5ed8e20964dac58a94275099af02e8d820c3fa533c321aef0aba6c79b31976c398f7ee55a1cc80
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0
+Version: GnuPG v2
 
-iQJ8BAEBCgBmBQJUipoZXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
-ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQyQ0JDQjFGMzBDQ0UxMjFGNENDNDgxMDdC
-OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVir8LgP/iaEiEfa+Pe8eK+VLUQVSCkk
-3y4IMHLT64BnXu+mkC5y/LE/pahtBtxRYDTAYI0xkD8oj6iF/zilhjD922KYpuL7
-c6kQStXTHVZ1IeDl8YdwcOqUmGi566KTREDcaJOWuI4QThlQSP9OJTXLCk10IX19
-nG/QfztP+hzxrc6EwOzxxjig4a4eH9Z4qA3mvdKsc5+uL6wCtyJuQux2snk4F8T+
-LfJVAcuk+PYYqnK72F1EmAT/h9DX9lG1yp2Hwe3ahlYitmVRLMHDp861iL3qJ9T0
-2v7LypMqLr1p9z42AFIYpql6NS4yUehM7QRClP0hkhuAUtwiWacdyhfHYydxMn/Q
-kLn/BBB1e9+o3KfDmJRiHvPT1owsF+T9vhbXF9XrDYbKvQZs2yCUBITLQeF427aJ
-D2DKHKPv53QvRDjSBSY+Z478TKycLPMnuhuP7RnqnjlN4UDZZXcbRwa9yHFWROxZ
-wzPkAuWKjIcmm89SgLY2hikUhS3MSZ9sXbY4/klWGZeD3TSByLnD+fAwP2XXBLaN
-3EzRpv4IEVARoO2AiYHZ4lvJf3r8hspt9W2WbW3dEESm2lAnTzSuMQDpenOXHV48
-9+5vU/grZ6JcT93nDkqlweB8Yt+Ns55IZAK5nY1uuTQ101izyTSKesOxuUcqFHQO
-6adhTmPQaBQ0p9rrxT0Z
-=jciL
+iF4EAREIAAYFAlSW54AACgkQC77qH+pIQ6TMpQD7BbdABJLF0pXlZESiWbdh10nT
+XX00V/n9d1aS2NnbcyQA/jR879oT4fQBwOjkzsUnk/ArzCE/f1kOoAnZbtgRxD4t
+=cAbT
 -----END PGP SIGNATURE-----
diff --git a/dev-util/ccache/ccache-3.1.9-r4.ebuild b/dev-util/ccache/ccache-3.1.9-r4.ebuild
new file mode 100644 (file)
index 0000000..9e2876c
--- /dev/null
@@ -0,0 +1,71 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.1.9-r4.ebuild,v 1.1 2014/12/21 15:30:06 floppym Exp $
+
+EAPI="4"
+
+inherit multilib eutils readme.gentoo
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="http://ccache.samba.org/"
+SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="app-arch/xz-utils
+       sys-libs/zlib"
+RDEPEND="${DEPEND}
+       sys-apps/gentoo-functions"
+
+src_prepare() {
+       # make sure we always use system zlib
+       rm -rf zlib
+       epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
+       epatch "${FILESDIR}"/${P}-test-gcc-4.8.patch #461966
+       sed \
+               -e "/^LIBDIR=/s:lib:$(get_libdir):" \
+               -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+               "${FILESDIR}"/ccache-config-3 > ccache-config || die
+}
+
+src_install() {
+       default
+       dodoc AUTHORS.txt MANUAL.txt NEWS.txt README.txt
+
+       dobin ccache-config
+
+       DOC_CONTENTS="
+To use ccache with **non-Portage** C compiling, add
+${EPREFIX}/usr/$(get_libdir)/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
+Portage 2.0.46-r11+ will automatically take advantage of ccache with
+no additional steps.  If this is your first install of ccache, type
+something like this to set a maximum cache size of 2GB:\\n
+# ccache -M 2G\\n
+If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
+# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
+ccache now supports sys-devel/clang and dev-lang/icc, too!"
+
+       readme.gentoo_create_doc
+}
+
+pkg_prerm() {
+       if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+               "${EROOT}"/usr/bin/ccache-config --remove-links
+               "${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
+       fi
+}
+
+pkg_postinst() {
+       "${EROOT}"/usr/bin/ccache-config --install-links
+       "${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
+
+       # nuke broken symlinks from previous versions that shouldn't exist
+       rm -f "${EROOT}/usr/$(get_libdir)/ccache/bin/${CHOST}-cc"
+       [[ -d "${EROOT}/usr/$(get_libdir)/ccache.backup" ]] && \
+               rm -rf "${EROOT}/usr/$(get_libdir)/ccache.backup"
+
+       readme.gentoo_print_elog
+}
diff --git a/dev-util/ccache/ccache-3.2.1-r1.ebuild b/dev-util/ccache/ccache-3.2.1-r1.ebuild
new file mode 100644 (file)
index 0000000..bdeb656
--- /dev/null
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/ccache/ccache-3.2.1-r1.ebuild,v 1.1 2014/12/21 15:30:06 floppym Exp $
+
+EAPI=5
+
+inherit eutils readme.gentoo
+
+DESCRIPTION="fast compiler cache"
+HOMEPAGE="http://ccache.samba.org/"
+SRC_URI="http://samba.org/ftp/ccache/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="app-arch/xz-utils
+       sys-libs/zlib"
+RDEPEND="${DEPEND}
+       sys-apps/gentoo-functions"
+
+src_prepare() {
+       # make sure we always use system zlib
+       rm -rf zlib || die
+       epatch "${FILESDIR}"/${PN}-3.1.7-no-perl.patch #421609
+       epatch "${FILESDIR}"/${PN}-3.1.10-size-on-disk.patch #456178
+       sed \
+               -e "/^EPREFIX=/s:'':'${EPREFIX}':" \
+               "${FILESDIR}"/ccache-config-3 > ccache-config || die
+}
+
+src_install() {
+       DOCS=( AUTHORS.txt MANUAL.txt NEWS.txt README.txt )
+       default
+
+       dobin ccache-config
+
+       DOC_CONTENTS="
+To use ccache with **non-Portage** C compiling, add
+${EPREFIX}/usr/lib/ccache/bin to the beginning of your path, before ${EPREFIX}usr/bin.
+Portage 2.0.46-r11+ will automatically take advantage of ccache with
+no additional steps.  If this is your first install of ccache, type
+something like this to set a maximum cache size of 2GB:\\n
+# ccache -M 2G\\n
+If you are upgrading from an older version than 3.x you should clear all of your caches like so:\\n
+# CCACHE_DIR='${CCACHE_DIR:-${PORTAGE_TMPDIR}/ccache}' ccache -C\\n
+ccache now supports sys-devel/clang and dev-lang/icc, too!"
+
+       readme.gentoo_create_doc
+}
+
+pkg_prerm() {
+       if [[ -z ${REPLACED_BY_VERSION} ]] ; then
+               "${EROOT}"/usr/bin/ccache-config --remove-links
+               "${EROOT}"/usr/bin/ccache-config --remove-links ${CHOST}
+       fi
+}
+
+pkg_postinst() {
+       "${EROOT}"/usr/bin/ccache-config --install-links
+       "${EROOT}"/usr/bin/ccache-config --install-links ${CHOST}
+
+       # nuke broken symlinks from previous versions that shouldn't exist
+       rm -f "${EROOT}"/usr/lib/ccache/bin/${CHOST}-cc || die
+       rm -rf "${EROOT}"/usr/lib/ccache.backup || die
+
+       readme.gentoo_print_elog
+}
diff --git a/dev-util/ccache/files/ccache-config-3 b/dev-util/ccache/files/ccache-config-3
new file mode 100644 (file)
index 0000000..7f604f0
--- /dev/null
@@ -0,0 +1,97 @@
+#!/bin/sh
+#
+# ccache-config - helper script for ccache and its ebuild
+#
+# Copyright 2003-2014 Superlucidity Services, LLC
+# Copyright 2013-2014 Gentoo Foundation
+# This program licensed under the GNU GPL version 2.
+#
+# This script developed by Zachary T Welch at Superlucidity Services, LLC
+#  it was cloned from the distcc-config script
+#
+# Additional features to come; this provides a starting point
+
+EPREFIX=''
+
+. "${EPREFIX}"/lib/gentoo/functions.sh 2>/dev/null || {
+       ebegin() { echo " * $* ..."; }
+       eend() {
+               local r=${1:-$?}
+               [ ${r} -eq 0 ] && echo " [ OK ]" || echo " [ !! ]"
+               return $r
+       }
+}
+
+LIBDIR="lib"
+
+# this should be getopt'd someday (override with CC_QUIET=1)
+CC_VERBOSE=1
+unset _CC_QUIET
+c_quiet() {
+       [ -n "${CC_QUIET:-${_CC_QUIET}}" ] || [ -z "${CC_VERBOSE}" ]
+}
+
+c_ebegin() { c_quiet || ebegin "$@" ; }
+c_eend()   { c_quiet || eend "$@" ; }
+
+###
+# the following functions manage the ccache symlinks
+#  they allow the user or other scripts (namely gcc-config) to
+#  automatically update ccache's links when upgrading toolchains
+#
+cc_path() {
+       echo ${ROOT%/}${EPREFIX}/usr/${LIBDIR}/ccache/bin/$1
+}
+cc_remove_link() {
+       local t=$(cc_path "$1")
+       if [ -L ${t} ]; then
+               c_ebegin "Removing ${t}"
+               rm -f "${t}"
+               c_eend
+
+               # Trim the empty dir if possible. #517242
+               t=${t%/*}
+               if rmdir "${t}" 2>/dev/null; then
+                       rmdir "${t%/*}" 2>/dev/null
+               fi
+               :
+       fi
+}
+cc_install_link() {
+       # Search the PATH for the specified compiler
+       #  then create shadow link in /usr/lib/ccache/bin to ccache
+
+       if command -v "$1" >/dev/null ; then
+               # first be sure any old link is removed
+               _CC_QUIET=1
+               cc_remove_link "$1"
+               unset _CC_QUIET
+
+               # then create the new link
+               local t=$(cc_path "$1")
+               c_ebegin "Creating ccache shadow link ${t}"
+               mkdir -p -m 0755 "${t%/*}" && ln -s "${EPREFIX}"/usr/bin/ccache "${t}"
+               c_eend
+       fi
+}
+cc_links() {
+       local a
+       for a in gcc cc c++ g++ icc icpc clang clang++ ; do
+               "cc_${1}_link" "${2}${2:+-}${a}"
+       done
+}
+
+###
+# main routine
+
+case $1 in
+       --install-links )
+               cc_links install "$2"
+               ;;
+       --remove-links )
+               cc_links remove "$2"
+               ;;
+       * )
+               echo "usage: $0 {--install-links|--remove-links} [ CHOST ]"
+               ;;
+esac