diff options
Diffstat (limited to 'meta/recipes-devtools/ccache')
6 files changed, 63 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.9.1.bb b/meta/recipes-devtools/ccache/ccache_4.9.1.bb new file mode 100644 index 0000000000..0d447c4915 --- /dev/null +++ b/meta/recipes-devtools/ccache/ccache_4.9.1.bb @@ -0,0 +1,26 @@ +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" +LIC_FILES_CHKSUM = "file://LICENSE.adoc;md5=9896d6f0aee4d89b9e5ff0afaae0af06" + +DEPENDS = "zstd" + +SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ + file://0001-xxhash.h-Fix-build-with-gcc-12.patch \ + " +SRC_URI[sha256sum] = "12834ecaaaf2db069dda1d1d991f91c19e3274cc04a471af5b64195def17e90f" + +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" diff --git a/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch b/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch new file mode 100644 index 0000000000..e65b830257 --- /dev/null +++ b/meta/recipes-devtools/ccache/files/0001-xxhash.h-Fix-build-with-gcc-12.patch @@ -0,0 +1,37 @@ +From d17fdacf4892a15fafb56b0890ece05b485e89fb Mon Sep 17 00:00:00 2001 +From: Mingli Yu <mingli.yu@windriver.com> +Date: Mon, 6 Jun 2022 17:53:20 +0800 +Subject: [PATCH] xxhash.h: Fix build with gcc-12 + +Remove inline attribute to fix below build failure: + | /buildarea/tmp/work/core2-64-poky-linux/ccache/4.6.1-r0/ccache-4.6.1/src/third_party/xxhash.h:3932:1: error: inlining failed in call to 'always_inline' 'XXH3_accumulate_512_sse2': function not considered for inlining + 3932 | XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc, + | ^~~~~~~~~~~~~~~~~~~~~~~~ + /buildarea/tmp/work/core2-64-poky-linux/ccache/4.6.1-r0/ccache-4.6.1/src/third_party/xxhash.h:4369:9: note: called from here + 4369 | f_acc512(acc, + | ^~~~~~~~~~~~~ + 4370 | in, + | ~~~ + 4371 | secret + n*XXH_SECRET_CONSUME_RATE); + +Upstream-Status: Submitted [https://github.com/Cyan4973/xxHash/pull/720] + +Signed-off-by: Mingli Yu <mingli.yu@windriver.com> + +--- + src/third_party/xxhash.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/third_party/xxhash.h b/src/third_party/xxhash.h +index a18e8c7..1b72307 100644 +--- a/src/third_party/xxhash.h ++++ b/src/third_party/xxhash.h +@@ -2107,7 +2107,7 @@ static void* XXH_memcpy(void* dest, const void* src, size_t size) + # define XXH_NO_INLINE static + /* enable inlining hints */ + #elif defined(__GNUC__) || defined(__clang__) +-# define XXH_FORCE_INLINE static __inline__ __attribute__((always_inline, unused)) ++# define XXH_FORCE_INLINE static + # define XXH_NO_INLINE static __attribute__((noinline)) + #elif defined(_MSC_VER) /* Visual Studio */ + # define XXH_FORCE_INLINE static __forceinline 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 - |