summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/ccache
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/ccache')
-rw-r--r--meta/recipes-devtools/ccache/ccache.inc27
-rw-r--r--meta/recipes-devtools/ccache/ccache_3.6.bb12
-rw-r--r--meta/recipes-devtools/ccache/ccache_4.10.2.bb32
-rw-r--r--meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch30
-rw-r--r--meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch79
5 files changed, 32 insertions, 148 deletions
diff --git a/meta/recipes-devtools/ccache/ccache.inc b/meta/recipes-devtools/ccache/ccache.inc
deleted file mode 100644
index 7f800659a3..0000000000
--- a/meta/recipes-devtools/ccache/ccache.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-SUMMARY = "a fast C/C++ compiler cache"
-DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \
-by caching the result of previous compilations and detecting when the \
-same compilation is being done again. Supported languages are C, C\+\+, \
-Objective-C and Objective-C++."
-HOMEPAGE = "http://ccache.samba.org"
-SECTION = "devel"
-LICENSE = "GPLv3+"
-
-DEPENDS = "zlib"
-
-SRC_URI = "https://download.samba.org/pub/${BPN}/${BP}.tar.gz"
-
-inherit autotools
-
-# Remove ccache-native's dependencies, so that it can be used widely by
-# other native recipes.
-DEPENDS_class-native = ""
-EXTRA_OECONF_class-native = "--with-bundled-zlib"
-INHIBIT_AUTOTOOLS_DEPS_class-native = "1"
-PATCHTOOL = "patch"
-
-BBCLASSEXTEND = "native"
-
-do_configure_class-native() {
- oe_runconf
-}
diff --git a/meta/recipes-devtools/ccache/ccache_3.6.bb b/meta/recipes-devtools/ccache/ccache_3.6.bb
deleted file mode 100644
index 60807be0ae..0000000000
--- a/meta/recipes-devtools/ccache/ccache_3.6.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-require ccache.inc
-
-LICENSE = "GPLv3+"
-LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=70762511f9c509cc2a4e4ba2ef687ae3"
-
-SRC_URI[md5sum] = "bd6fd69db28426baf22ec0acdd5c4b2a"
-SRC_URI[sha256sum] = "a3f2b91a2353b65a863c5901251efe48060ecdebec46b5eaec8ea8e092b9e871"
-
-SRC_URI += " \
- file://0002-dev.mk.in-fix-file-name-too-long.patch \
- file://0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch \
-"
diff --git a/meta/recipes-devtools/ccache/ccache_4.10.2.bb b/meta/recipes-devtools/ccache/ccache_4.10.2.bb
new file mode 100644
index 0000000000..361c1643f9
--- /dev/null
+++ b/meta/recipes-devtools/ccache/ccache_4.10.2.bb
@@ -0,0 +1,32 @@
+SUMMARY = "a fast C/C++ compiler cache"
+DESCRIPTION = "ccache is a compiler cache. It speeds up recompilation \
+by caching the result of previous compilations and detecting when the \
+same compilation is being done again. Supported languages are C, C\+\+, \
+Objective-C and Objective-C++."
+HOMEPAGE = "http://ccache.samba.org"
+SECTION = "devel"
+
+LICENSE = "GPL-3.0-or-later & MIT & BSL-1.0 & ISC"
+LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=73b86311eaf2b66b0d093ec1a15fa60d \
+ file://src/third_party/cpp-httplib/httplib.h;endline=6;md5=5389d9f5a88a138e42ba58894bbceeac \
+ file://src/third_party/nonstd-span/nonstd/span.hpp;endline=9;md5=b4af92a7f068b38c5b3410dceb30c186 \
+ file://src/third_party/win32-compat/win32/mktemp.c;endline=17;md5=d287e9c1f1cd2bb2bd164490e1cf449a \
+ "
+
+DEPENDS = "zstd fmt xxhash"
+
+SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz"
+
+SRC_URI[sha256sum] = "108100960bb7e64573ea925af2ee7611701241abb36ce0aae3354528403a7d87"
+
+inherit cmake github-releases
+
+PATCHTOOL = "patch"
+
+BBCLASSEXTEND = "native nativesdk"
+
+PACKAGECONFIG[docs] = "-DENABLE_DOCUMENTATION=ON,-DENABLE_DOCUMENTATION=OFF,asciidoc"
+PACKAGECONFIG[redis] = "-DREDIS_STORAGE_BACKEND=ON,-DREDIS_STORAGE_BACKEND=OFF,hiredis"
+
+# ENABLE_TESTING requires doctest which is not present in oe
+EXTRA_OECMAKE += "-DENABLE_TESTING=OFF"
diff --git a/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch b/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
deleted file mode 100644
index 16a6e9d80f..0000000000
--- a/meta/recipes-devtools/ccache/files/0002-dev.mk.in-fix-file-name-too-long.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 7dab2995ed8eeccd7b0acd79668bc28f3a2427d5 Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Wed, 16 Sep 2015 19:45:40 -0700
-Subject: [PATCH] dev.mk.in: fix file name too long error
-
-The all_cppflags changes path to filename which causes file name too long
-error when the path is longer than NAME_MAX (usually 255). Strip srcdir
-to fix the problem.
-
-Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
-
----
- dev.mk.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dev.mk.in b/dev.mk.in
-index 91b0a57..583ade0 100644
---- a/dev.mk.in
-+++ b/dev.mk.in
-@@ -1,7 +1,7 @@
- # GNU make syntax reigns in this file.
-
- all_cflags += -Werror @more_warnings@
--all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d
-+all_cppflags += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$(subst $(srcdir)/,,$<))).d
-
- A2X = a2x
- ASCIIDOC = asciidoc
diff --git a/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch b/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch
deleted file mode 100644
index b3012b7e89..0000000000
--- a/meta/recipes-devtools/ccache/files/0003-Fix-Segmentation-fault-error-when-gcc-o-dev-null.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From c51b63758e95247e3c1e2f06e5f5bfb49849e66d Mon Sep 17 00:00:00 2001
-From: Robert Yang <liezhi.yang@windriver.com>
-Date: Tue, 22 Jan 2019 16:30:52 +0800
-Subject: [PATCH] Fix Segmentation fault error when gcc -o /dev/null
-
-Fixed:
-$ export CCACHE_DEBUG=1
-$ ccache gcc -c hello.c -o /dev/null
-
-Segmentation fault (core dumped)
-
-This is because failed to open /dev/null.foo (Permission denied), check file
-stream before write to it can fix the problem.
-
-Upstream-Status: Backport [https://github.com/ccache/ccache/commit/4d86e884d07ba1853a0c70507cc4d04107f57c29]
-
-Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
----
- src/ccache.c | 15 ++++++++++++---
- src/util.c | 8 ++++++--
- 2 files changed, 18 insertions(+), 5 deletions(-)
-
-diff --git a/src/ccache.c b/src/ccache.c
-index b4cdb86..8c227df 100644
---- a/src/ccache.c
-+++ b/src/ccache.c
-@@ -521,9 +521,13 @@ init_hash_debug(struct hash *hash, const char *obj_path, char type,
-
- char *path = format("%s.ccache-input-%c", obj_path, type);
- FILE *debug_binary_file = fopen(path, "wb");
-- hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file);
-+ if (debug_binary_file) {
-+ hash_enable_debug(hash, section_name, debug_binary_file, debug_text_file);
-+ exitfn_add(fclose_exitfn, debug_binary_file);
-+ } else {
-+ cc_log("Failed to open %s: %s", path, strerror(errno));
-+ }
- free(path);
-- exitfn_add(fclose_exitfn, debug_binary_file);
- }
-
- static enum guessed_compiler
-@@ -3670,8 +3674,13 @@ ccache(int argc, char *argv[])
- if (conf->debug) {
- char *path = format("%s.ccache-input-text", output_obj);
- debug_text_file = fopen(path, "w");
-+ if (debug_text_file) {
-+ exitfn_add(fclose_exitfn, debug_text_file);
-+ }
-+ else {
-+ cc_log("Failed to open %s: %s", path, strerror(errno));
-+ }
- free(path);
-- exitfn_add(fclose_exitfn, debug_text_file);
- }
-
- struct hash *common_hash = hash_init();
-diff --git a/src/util.c b/src/util.c
-index e442cc4..a49fb4c 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -219,8 +219,12 @@ void
- cc_dump_log_buffer(const char *path)
- {
- FILE *file = fopen(path, "w");
-- (void) fwrite(logbuffer, 1, logsize, file);
-- fclose(file);
-+ if (file) {
-+ (void) fwrite(logbuffer, 1, logsize, file);
-+ fclose(file);
-+ } else {
-+ cc_log("Failed to open %s: %s", path, strerror(errno));
-+ }
- }
-
- // Something went badly wrong!
---
-2.7.4
-