summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-02-10 16:02:53 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2011-02-10 16:02:53 +0100
commit3ccce9f9a1b7bb22878c61de1256cb5ec3413d5a (patch)
tree213ce696ef38b4ade15b36b4b12483115915e582
parentb4fe3943815cb5306ed062e593547d7698dfd0b7 (diff)
add basic ccache support
-rw-r--r--TODO1
-rw-r--r--mk/vars.mk6
-rw-r--r--package/openssl/Makefile1
-rw-r--r--scripts/scan-pkgs.sh7
-rw-r--r--target/config/Config.in.adk6
5 files changed, 18 insertions, 3 deletions
diff --git a/TODO b/TODO
index 155948644..e0163c47e 100644
--- a/TODO
+++ b/TODO
@@ -3,7 +3,6 @@
- add and test brcm 2.6 wireless support
- man pages in ipkg/tgz packages (automatic)
- automate /etc handling via conffiles
-- ccache support for speedup
- distcc evaluation
- LTO GCC evaluation
- fix qemu package
diff --git a/mk/vars.mk b/mk/vars.mk
index b6484a14a..420e71248 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -10,7 +10,6 @@ MAKEFLAGS= $(EXTRA_MAKEFLAGS)
BUILD_USER= $(shell id -un)
BUILD_GROUP= $(shell id -gn)
-
BASE_DIR:= $(TOPDIR)
DISTDIR?= ${BASE_DIR}/dl
BUILD_DIR:= ${BASE_DIR}/build_${ADK_TARGET_SYSTEM}_${CPU_ARCH}_${ADK_TARGET_LIBC}
@@ -37,6 +36,7 @@ TARGET_DIR_PFX:= $(BASE_DIR)/root_*
TARGET_PATH= ${SCRIPT_DIR}:${TOOLS_DIR}:${STAGING_HOST_DIR}/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
REAL_GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux-$(ADK_TARGET_SUFFIX)
GNU_TARGET_NAME= $(CPU_ARCH)-$(ADK_VENDOR)-linux
+
ifeq ($(ADK_NATIVE),y)
TARGET_CROSS:=
TARGET_COMPILER_PREFIX?=
@@ -45,6 +45,10 @@ TARGET_CROSS:= $(STAGING_HOST_DIR)/bin/$(REAL_GNU_TARGET_NAME)-
TARGET_COMPILER_PREFIX?=${TARGET_CROSS}
endif
+ifneq ($(strip ${ADK_USE_CCACHE}),)
+TARGET_COMPILER_PREFIX=ccache ${TARGET_CROSS}
+endif
+
# target compiler flags
TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc
TARGET_CXX:= ${TARGET_COMPILER_PREFIX}g++
diff --git a/package/openssl/Makefile b/package/openssl/Makefile
index 472362adc..b6ba26f02 100644
--- a/package/openssl/Makefile
+++ b/package/openssl/Makefile
@@ -59,7 +59,6 @@ do-configure:
do-build:
$(MAKE) -C $(WRKBUILD) \
- MAKEDEPPROG="$(TARGET_CC)" \
OPTIMIZATION_FLAGS="$(TARGET_CFLAGS) -fPIC" \
depend
$(MAKE) -C $(WRKBUILD) \
diff --git a/scripts/scan-pkgs.sh b/scripts/scan-pkgs.sh
index 956892e5f..c92c6c107 100644
--- a/scripts/scan-pkgs.sh
+++ b/scripts/scan-pkgs.sh
@@ -326,4 +326,11 @@ if [[ -n $NEED_PYTHON ]]; then
fi
fi
+if [[ -n $ADK_USE_CCACHE ]]; then
+ if ! which ccache >/dev/null 2>&1; then
+ echo >&2 You have selected to build with ccache, but ccache could not be found.
+ out=1
+ fi
+fi
+
exit $out
diff --git a/target/config/Config.in.adk b/target/config/Config.in.adk
index 5eb2ad319..50fef2866 100644
--- a/target/config/Config.in.adk
+++ b/target/config/Config.in.adk
@@ -32,6 +32,12 @@ config ADK_STATIC
help
Useful for toolchain only target devices.
+config ADK_USE_CCACHE
+ bool "Use ccache to speedup recompilation"
+ default n
+ help
+ Useful if you have enough space for the cache and need speedup compilation.
+
config ADK_MAKE_JOBS
int
default 1 if ! ADK_MAKE_PARALLEL