diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2014-03-16 11:55:04 +0100 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2014-03-16 11:55:04 +0100 |
commit | bfdd86114dd739766c7df7840fc0b6b66274447d (patch) | |
tree | c3fcc17d3e412cb8e34b1cb8d2055e27e6c24f16 /packages/htools | |
parent | 966d864aefc179f1cf5c026f933283bda2ae23ff (diff) | |
download | embtoolkit-bfdd86114dd739766c7df7840fc0b6b66274447d.tar.gz embtoolkit-bfdd86114dd739766c7df7840fc0b6b66274447d.tar.bz2 embtoolkit-bfdd86114dd739766c7df7840fc0b6b66274447d.tar.xz |
Build system: move ccache under packages/htools/
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
Diffstat (limited to 'packages/htools')
-rw-r--r-- | packages/htools/ccache/ccache.kconfig | 44 | ||||
-rw-r--r-- | packages/htools/ccache/ccache.mk | 79 | ||||
-rw-r--r-- | packages/htools/hosttools-buildopts.kconfig | 2 | ||||
-rw-r--r-- | packages/htools/hosttools-buildopts.mk | 29 |
4 files changed, 153 insertions, 1 deletions
diff --git a/packages/htools/ccache/ccache.kconfig b/packages/htools/ccache/ccache.kconfig new file mode 100644 index 0000000..c8dab4f --- /dev/null +++ b/packages/htools/ccache/ccache.kconfig @@ -0,0 +1,44 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2011-2012 Abdoulaye Walsimou GAYE. +# +# This program is free software; you can distribute it and/or modify it +## +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +################################################################################ +# +# \file ccache.kconfig +# \brief Here we install ccache to speed up +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \date July 2011 +################################################################################ + +config EMBTK_HAVE_CCACHE + bool + default y + help + ccache is a compiler cache. It speeds up recompilation by + caching previous compilations and detecting when the same + compilation is being done again. Supported languages are C, + C++, Objective-C and Objective-C++. + +config EMBTK_CCACHE_VERSION_STRING + string + default "3.1.9" + +config EMBTK_CCACHE_NEED_PATCH + bool +config EMBTK_CCACHE_NEED_AUTORECONF + bool diff --git a/packages/htools/ccache/ccache.mk b/packages/htools/ccache/ccache.mk new file mode 100644 index 0000000..2c93f33 --- /dev/null +++ b/packages/htools/ccache/ccache.mk @@ -0,0 +1,79 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2009-2013 Abdoulaye Walsimou GAYE. +# +# This program is free software; you can distribute it and/or modify it +## +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +################################################################################ +# +# \file ccache.mk +# \brief ccache.mk of Embtoolkit. Here we install ccache to speed up +# \brief recompilation. +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \date May 2009 +################################################################################ + +CCACHE_NAME := ccache +CCACHE_VERSION := $(call embtk_get_pkgversion,ccache) +CCACHE_SITE := http://samba.org/ftp/ccache +CCACHE_SITE_MIRROR3 := ftp://ftp.embtoolkit.org/embtoolkit.org/packages-mirror +CCACHE_PATCH_SITE := ftp://ftp.embtoolkit.org/embtoolkit.org/ccache/$(CCACHE_VERSION) +CCACHE_PACKAGE := ccache-$(CCACHE_VERSION).tar.bz2 +CCACHE_SRC_DIR := $(embtk_toolsb)/ccache-$(CCACHE_VERSION) +CCACHE_BUILD_DIR := $(embtk_toolsb)/ccachehost-build + +CCACHE_DIR := $(EMBTK_ROOT)/.ccache +CCACHE_BIN := $(embtk_htools)/usr/bin/ccache + +# Variables for use in env +__ccache_clang_cflags := $(if $(embtk_hostcc_clang-y),-Qunused-arguments -fcolor-diagnostics) +__HOSTCC_CACHED := $(CCACHE_BIN) $(HOSTCC) $(__ccache_clang_cflags) +HOSTCC_CACHED := "$(__HOSTCC_CACHED)" +__HOSTCXX_CACHED := $(CCACHE_BIN) $(HOSTCXX) $(__ccache_clang_cflags) +HOSTCXX_CACHED := "$(__HOSTCXX_CACHED)" + +CROSS_COMPILE_CACHED := "$(CCACHE_BIN) $(CROSS_COMPILE)" +TARGETCC_CACHED := "$(CCACHE_BIN) $(TARGETCC)" +TARGETCXX_CACHED := "$(CCACHE_BIN) $(TARGETCXX)" + +TARGETGCC_CACHED := "$(CCACHE_BIN) $(TARGETGCC)" +TARGETGCXX_CACHED := "$(CCACHE_BIN) $(TARGETGCXX)" + +TARGETCLANG_CACHED := "$(CCACHE_BIN) $(TARGETCLANG)" +TARGETCLANGXX_CACHED := "$(CCACHE_BIN) $(TARGETCLANGXX)" + +# Variables for use directly +hostcc_cached := $(CCACHE_BIN) $(HOSTCC) +hostcxx_cached := $(CCACHE_BIN) $(HOSTCXX) + +targetcc_cached := $(CCACHE_BIN) $(TARGETCC) +targetcxx_cached := $(CCACHE_BIN) $(TARGETCXX) + +targetgcc_cached := $(CCACHE_BIN) $(TARGETGCC) +targetgcxx_cached := $(CCACHE_BIN) $(TARGETGCXX) + +targetclang_cached := $(CCACHE_BIN) $(TARGETCLANG) +targetclangxx_cached := $(CCACHE_BIN) $(TARGETCLANGXX) + +export CCACHE_DIR HOSTCC_CACHED HOSTCXX_CACHED TARGETCC_CACHED TARGETCXX_CACHED + +define embtk_install_ccache + $(call __embtk_install_hostpkg,ccache) +endef + +define embtk_postinstallonce_ccache + CCACHE_DIR=$(CCACHE_DIR) $(CCACHE_BIN) --max-size=2GB +endef diff --git a/packages/htools/hosttools-buildopts.kconfig b/packages/htools/hosttools-buildopts.kconfig index 0c15332..07c8b6a 100644 --- a/packages/htools/hosttools-buildopts.kconfig +++ b/packages/htools/hosttools-buildopts.kconfig @@ -102,7 +102,7 @@ source kconfig/mpc.kconfig # # ccache # -source kconfig/ccache.kconfig +source packages/htools/ccache/ccache.kconfig # # Autotools diff --git a/packages/htools/hosttools-buildopts.mk b/packages/htools/hosttools-buildopts.mk new file mode 100644 index 0000000..916e5d7 --- /dev/null +++ b/packages/htools/hosttools-buildopts.mk @@ -0,0 +1,29 @@ +################################################################################ +# Embtoolkit +# Copyright(C) 2014 Abdoulaye Walsimou GAYE. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +################################################################################ +# +# \file hosttools-buildopts.mk +# \brief packages needed for both toolchain and rootfs packages. +# \author Abdoulaye Walsimou GAYE <awg@embtoolkit.org> +# \date Marsh 2014 +################################################################################ + +embtk_pkgincdir := packages/htools + +# cache +$(call embtk_include_hostpkg,ccache) |