summaryrefslogtreecommitdiff
path: root/packages/htools
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-03-16 11:55:04 +0100
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2014-03-16 11:55:04 +0100
commitbfdd86114dd739766c7df7840fc0b6b66274447d (patch)
treec3fcc17d3e412cb8e34b1cb8d2055e27e6c24f16 /packages/htools
parent966d864aefc179f1cf5c026f933283bda2ae23ff (diff)
downloadembtoolkit-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.kconfig44
-rw-r--r--packages/htools/ccache/ccache.mk79
-rw-r--r--packages/htools/hosttools-buildopts.kconfig2
-rw-r--r--packages/htools/hosttools-buildopts.mk29
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)