summaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* tools: refresh all patchesRosen Penev4 days9-71/+44
| | | | | | | | | | | | Refresh all tools patches now that tools/refresh correctly works. CI now checks for them and actively complain if tools have unrefreshed patches. Signed-off-by: Rosen Penev <rosenp@gmail.com> [ reword commit message ] Link: https://github.com/openwrt/openwrt/pull/15524 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools/lz4: remove patchesRosen Penev4 days2-131/+0
| | | | | | | | meson is used to build it since 291b137. No need to patch Makefiles. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/15524 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools/padjffs2: use Host/Prepare/Default instead of raw commandsChristian Marangi5 days1-2/+1
| | | | | | | | Now that Host/Prepare/Default is always defined, we can use that instead of using raw commands to move files from the src directory to HOST_BUILD_DIR. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools/missing-macros: install files from HOST_BUILD_DIR instead of srcChristian Marangi5 days1-2/+2
| | | | | | | Install files from HOST_BUILD_DIR instead of src. These files are now correctly copied to HOST_BUILD_DIR and can be referenced from there. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools: mold: update to 2.31.0Sean Khan2024-05-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New: - mold is now up to 10% faster when linking very large, debug info-enabled executables such as Blender (~1.8 GiB) or Clang (~3.8 GiB), thanks to several improvements we've made to the string merging algorithm. (53ebcd8, d714301, 40f6b17, c9faf3d) - -z start-stop-visibility=hidden is now supported so that linker-synthesized __start_<section-name> and __stop_<section-name> symbols can be completely hidden from other ELF modules. Previously, only -z start-stop-visibility=protected was supported. (99a5b15) - -Bsymbolic-non-weak and -Bsymbolic-non-weak-functions options are now supported for compatibility with LLVM lld. Just like lld, these options control which symbols are exported as dynamic symbols. -Bsymbolic-non-weak makes the linker to export only weak symbols, whereas -Bsymbolic-non-weak-functions makes it to export only weak function symbols. (7d17aa8) Bug fixes and compatibility improvements: - Previously, if a linker script contains a newline character in the beginning four bytes of a file, it was not recognized as a linker script by mold. Now, mold allows newlines at the beginning of a file. (ea054cc) - Under rare circumstances, the INPUT linker script command may have found a different file than GNU ld would. Now, mold's behavior aligns with GNU ld's. (163975d) - Previously, the --repro option produced corrupted tar files. Now the bug has been fixed. (32c4a09) - mold generally guarantees that its output is reproducible, meaning that if you run the linker with the exact same command line options and input files, the output is guaranteed to be bit-for-bit identical to the previous outputs. However, under rare circumstances, it might produce different output due to a bug. It's reported that this nondeterminism caused random crashes for some programs (#1247). This bug has been fixed. (6463a7c) - mold no longer sets the address of the .text section as the entry point address if --entry option is not given, just like LLVM lld. (020b1a7) - [RISC-V] __global_pointer$ symbol is now exported from executables as required by the processor-specific ABI. (3df7c8e) - [ARM32] --long-plt option is now recognized as known option by mold. mold ignores the option, though, because the PLTs generated by our linker is always long. (d432e98) Release Notes: https://github.com/rui314/mold/releases/tag/v2.31.0 Signed-off-by: Sean Khan <datapronix@protonmail.com> Link: https://github.com/openwrt/openwrt/pull/15403 Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: add more linux include files to fix x86 build on macosFelix Fietkau2024-05-0711-0/+897
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: pkgconf: provide prefix for host and hostpkg stagind directoryChristian Marangi2024-05-051-0/+2
| | | | | | | | | | | Some package might require to fix their pkg-config file to point to host or hostpkg file. This is the case for glib2 library that provides with pkg-config variables, tools to generates files from xml. Those tools should use the host binary instead of the targets one to correctly build packages that makes use of such tools. Link: https://github.com/openwrt/openwrt/pull/15134 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* gengetopt: backport patch fixing support for c++17Christian Marangi2024-05-012-0/+58
| | | | | | | Backport patch fixing support for c++17 that got merged upstream in gengetopt. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools/elfutils: remove dirnameRobert Marko2024-04-302-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the 0.191 update dirname was used instead of <libgen.h> to fix the poisoned basename error: /usr/include/libgen.h:35:9: error: attempt to use poisoned "basename" 35 | #define basename __xpg_basename However, doing this has lead to libelf.a pulling in xmalloc, xstrdup and friends and statically linking them thus leading to a symbol name conflict with FRR host build and anything else that links against libelf and uses xmalloc and friends. Well, it turns out that upstream has added a helper[1] for basename so it can compile with musl 1.2.5 which dropped the basename declaration, but it also means that we must NOT include <libgen.h> and that poisoned error is intentional and added to prevent duplicate basename definitions. This also means that for macOS we dont need to do any additional header inclusions as the new helper takes care of basename. So, to fix the symbol conflict we can simply drop the <dirname.h> inclusion and build from elfutils. Tested on Fedora 40 as well as macOS 14.4.1. [1] https://sourceware.org/git/?p=elfutils.git;a=commit;h=a2194f6b305bf0d0b9dd49dccd0a5c21994c8eea Fixes: #24030 Fixes: b6f025b42429 ("tools/elfutils: update to 1.91") Link: https://github.com/openwrt/openwrt/pull/15337 Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools/expat: fix PKG_CPE_IDFabrice Fontaine2024-04-271-1/+1
| | | | | | | | | | | cpe:/a:libexpat_project:libexpat is the correct CPE ID for expat: https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3:a:libexpat:libexpat Fixes: c61a2395140d92cdd37d3d6ee43a765427e8e318 (add PKG_CPE_ID ids to package and tools) Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Link: https://github.com/openwrt/openwrt/pull/15291 Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools/flex: fix PKG_CPE_IDFabrice Fontaine2024-04-271-1/+1
| | | | | | | | | cpe:/a:westes:flex is the correct CPE ID for flex: https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3:a:westes:flex Fixes: c61a2395140d92cdd37d3d6ee43a765427e8e318 (add PKG_CPE_ID ids to package and tools) Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* tools/zlib: fix PKG_CPE_IDFabrice Fontaine2024-04-271-1/+1
| | | | | | | | | cpe:/a:zlib:zlib is the correct CPE ID for zlib: https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3:a:zlib:zlib Fixes: c61a2395140d92cdd37d3d6ee43a765427e8e318 (add PKG_CPE_ID ids to package and tools) Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* tools/elfutils: refresh portability patch for macOSMichael Pratt2024-04-251-29/+5
| | | | | | | | | | | | | | | | Quilt refresh combined two sets of changes to the same file. The switch from using libgen.h to dirname.h because of function poisoning from gnulib's import of basename() was added as a new patch hunk instead of an edit to the original one. The original patch hunk was to fix build errors on an earlier version of elfutils before the "dirname" module was being imported to fix further build errors with the 0.191 version. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/elfutils: remove no-op copy of tdestroy()Michael Pratt2024-04-251-14/+0
| | | | | | | | | | | | A false tdestroy() function was added in order to make elfutils build on macOS again. A previous commit added declarations for a real version of tdestroy() into gnulib, which is already imported, as well as the preprocessor flags and the triggers for the Makefile.am conditional in order to include the source to be built. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/elfutils: use locally declared static reallocarray()Michael Pratt2024-04-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | On macOS, stdlib.h in the standard include paths does not provide reallocarray() while both elfutils and gnulib do, however they are declared differently, leading to an error: ./system.h:101:1: error: static declaration of 'reallocarray' follows non-static declaration reallocarray (void *ptr, size_t nmemb, size_t size) A normal "configure && make" build cycle results in both declarations being enabled as a result of both elfutils and gnulib having completely separate configure checks where gnulib uses an internal placeholder symbol HAVE_REALLOCARRAY, and elfutils uses a standard autoconf macro HAVE_DECL_REALLOCARRAY. Fix this by excluding the import of the reallocarray module which causes gnulib checks in the configure stage to not even consider whether to declare reallocarray later on, so the decision is only between the standard include stdlib.h and the elfutils header. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/elfutils: organize gnulib import build stageMichael Pratt2024-04-251-1/+19
| | | | | | | | | Organize the Makefile lines involved in gnulib importing and its workarounds. It improves readability and keeps git history organized. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/elfutils: override SUBDIRS variable of MakefileMichael Pratt2024-04-252-17/+20
| | | | | | | | | | | | | | | | | | Instead of editing the SUBDIRS variable with a patch, it can be overriden at the end of the command line when invoking Make. This tool has a series of recursive Makefiles in each subdirectory, therefore SUBDIRS is set to a pattern of Make functions so that the result is variable depending on the current subdirectory that Make is being invoked in. It's not necessary to have gnulib-cache.m4 in EXTRA_DIST since we don't need to re-import after packaging this in the SDK, so get rid of the entire patch hunk for ./Makefile.am Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/elfutils: update to 1.91Tony Ambardar2024-04-252-20/+65
| | | | | | | | | | | | | | | | | | | | | Release Notes: https://sourceware.org/pipermail/elfutils-devel/2024q1/006876.html Manually refresh: - 100-portability.patch Change: - replace libgen.h with gnulib "dirname" module for compilation errors: In file included from ./../libdw/libdwP.h:38, from eblobjnote.c:42: /usr/include/libgen.h:35:9: error: attempt to use poisoned "basename" 35 | #define basename __xpg_basename | ^ Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Co-Developed-by: Nick Hainke <vincent@systemli.org> Signed-off-by: Nick Hainke <vincent@systemli.org> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/coreutils: update to 9.5Michael Pratt2024-04-253-83/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update to latest stable release. The following commits in gnulib caused a conflict in locally bootstrapped coreutils with stable gnulib: 8f4b4e52c991de2233b471f8e35a068866b31f01 2749234203959df8d72cd8638d4e00a9fff450db A module (strftime) was marked deprecated and replaced by another module (nstrftime) in the version of gnulib that coreutils was released with compared to the stable branch that we use for importing. Conflicts from the previous version of coreutils are now gone, so other imported headers are now good. Refresh patch: - 000-bootstrap.patch Remove upstreamed patch: - 001-bootstrap-sync.patch Link: https://lists.gnu.org/archive/html/coreutils/2024-03/msg00132.html Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/coreutils: update to 9.4Michael Pratt2024-04-253-13/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update to latest stable release. Add configure option to disable support for the Year 2038 problem. (for now, as some versions of GCC do not yet support it) Syncing bootstrap script fails, backport an upstream patch which can be removed at next coreutils update. Several headers from the stable gnulib branch cause build failure because the changes in the imported versions are incompatible with the Makefile that gets generated for coreutils. This version of coreutils was released after being bootstrapped and autoreconf'ed with a significantly different version of gnulib compared to our local gnulib, so skip importing them (and restore the backup). While at it, organize restoring the originally shipped version of files into a Make foreach function. Refresh patch: - 000-bootstrap.patch New patch: - 001-bootstrap-sync.patch Link: https://lists.gnu.org/archive/html/coreutils/2023-08/msg00099.html Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/bison: hardcode path to m4 with STAGING_DIR_HOSTMichael Pratt2024-04-251-0/+43
| | | | | | | | | | | | | | | | | | Force bison to ignore the M4 environment variable and hardcode it to the locally built m4 during build operations using the relocatable path variable STAGING_DIR_HOST. This allows bison to continue to function while we are forcefully avoiding autoreconf and other autoconf and automake-like operations by giving a fake path to m4 with the M4 environment variable. The specific path can still be overridden independently from the environment within the line of invocation that runs bison by setting STAGING_DIR_HOST within the command, so document this in the help printout. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/gnulib: make tdestroy() fully portableMichael Pratt2024-04-251-0/+193
| | | | | | | | | | | | | | | | | | | | | The tdestroy() function, which is a GNU extension to the standard C library, is defined in gnulib in tsearch.c but is missing it's corresponding declaration in search.in.h by being completely missing... This patch is large but upstreamable, including all of the macros and conditionals and configure checks that upstream GNU would expect for portable support, like using the @@ placeholder/substitution method to determine whether or not to have declarations based on whether or not tdestroy() is already declared within the standard headers of the default include paths. There were also some typedefs and aliases missing, along with the warnings and preprocessor exceptions that need to be added for consistency with the usage of the rest of the functions in the files. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/gnulib: add macros to skip reallocarray() functionsMichael Pratt2024-04-251-0/+115
| | | | | | | | | | | | | | | | For modules that depend on the reallocarray module, like ialloc, xalloc, and safe-alloc, it was not possible to skip importing the reallocarray module as they all contained at least one function that called reallocarray() and would cause build failure if the host system didn't declare it. This upstreamable patch adds macros that toggle whether to define functions that depend on reallocarray() based on whether the reallocarray module is being imported. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/gnulib: update to branch stable-202401Tony Ambardar2024-04-252-3/+3
| | | | | | | Patches refreshed automatically. Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/missing-macros: add symlinks to makeinfoMichael Pratt2024-04-251-1/+6
| | | | | | | | | | | | | | | | | | There are other wrapper scripts released with makeinfo like texi2pdf which are required by the build prerequisites of some tools, and have a similar purpose and usage. Let the makeinfo perl script handle all of these cases. It's worth mentioning that "texi2any" is the actual program and "makeinfo" is one of it's aliases. From upstream GNU: makeinfo: texi2any rm -f $@ -$(LN_S) texi2any $@ Signed-off-by: Michael Pratt <mcpratt@pm.me> Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools/zstd: enable position independent code compilationBryan Roessler2024-04-241-0/+2
| | | | | | | | | | | | | | Currently, trying to compile LLVM-BPF will fail with: [2225/3517] Linking CXX shared library lib/libLLVM-15.so FAILED: lib/libLLVM-15.so /usr/bin/ld: staging_dir/host/lib/libzstd.a(zstd_common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: failed to set dynamic section sizes: bad value collect2: error: ld returned 1 exit status So, to fix it enable PIC for the host ZSTD. Fixes: #15247 Signed-off-by: Bryan Roessler <bryanroessler@gmail.com>
* tools: zstd: update patch with upstream versionChristian Marangi2024-04-173-98/+128
| | | | | | | | | Proposed fixup has been replaced and merged with an advanced version. install-pc-mt has been dropped and replaced for intall-pc MT=1 to generate a .pc file with multithread libs. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools: mold: update to 2.30.0Robert Marko2024-04-161-2/+2
| | | | | | | | | | Release Notes: https://github.com/rui314/mold/releases/tag/v2.3.3 https://github.com/rui314/mold/releases/tag/v2.4.0 https://github.com/rui314/mold/releases/tag/v2.4.1 https://github.com/rui314/mold/releases/tag/v2.30.0 Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: libdeflate: backport fix for AVX-VNNIRobert Marko2024-04-152-1/+33
| | | | | | | | | Trying to compile with new new enough GCC but older binutils that dont support AVX-VNNI will error out on the assembler, so backport an upstream fix for it. Fixes: 338b463e1e97 ("tools: libdeflate: update to 1.20") Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools/dwarves: add myself as PKG_MAINTAINERTony Ambardar2024-04-151-0/+1
| | | | | | Missed setting this when first adding package. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools: libdeflate: update to 1.20Robert Marko2024-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Changes: * Improved CRC-32 performance on recent x86 CPUs by adding VPCLMULQDQ-accelerated implementations using 256-bit and 512-bit vectors. * Improved Adler-32 performance on recent x86 CPUs by adding VNNI-accelerated implementations using 256-bit and 512-bit vectors. * Improved CRC-32 and Adler-32 performance on short inputs. * Optimized the portable implementation of Adler-32. * Added some basic optimizations for RISC-V. * Dropped support for gcc versions older than v4.9 (released in 2014) and clang versions older than v3.9 (released in 2016). * Dropped support for CRC-32 acceleration on 32-bit ARM using the ARMv8 pmull or crc32 instructions. This code only worked on CPUs that also have a 64-bit mode, and it was already disabled on many compiler versions due to compiler limitations. CRC-32 acceleration remains fully supported on 64-bit ARM. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: zstd: dont override CLI max levelRobert Marko2024-04-091-3/+0
| | | | | | | | Now that instead of relying on env variables for the GH download script invoking ZSTD tarball compression it passes the full arguments via tar -I we can drop the CLI max compression level override. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: zstd: add patch fixing wrong generated .pc with lib-mtChristian Marangi2024-04-062-1/+98
| | | | | | | | | | | | | The current .pc generated by make build system for zstd is wrong and always assume a single-threaded library is used. This wasn't the case for the meson build system that used his own logic to generate the pkg-config file. Add a patch to fix this by introducing install-mt-pc make target to generate the correct pkg-config gile. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* Revert "tools/mkimage: update to v2024.04"Nick Hainke2024-04-063-5/+5
| | | | | | | | | | | This reverts commit 8d934c11968de49ad17bc62366a88230e47b4f56. The update seems to be causing issues that need to be further explored [0]. Let's revert it. [0] - https://github.com/openwrt/openwrt/pull/15078 Signed-off-by: Nick Hainke <vincent@systemli.org>
* tools: zstd: install headers as wellRobert Marko2024-04-061-1/+1
| | | | | | | | We forgot to make sure install-includes is called for the libzstd in order for it to install the required headers. Fixes: 4b920e799fba ("tools: zstd: convert to make and drop meson dependency") Signed-off-by: Robert Marko <robimarko@gmail.com>
* treewide: update PKG_MIRROR_HASH to zstPaul Spooren2024-04-068-8/+8
| | | | | | | When using zst instead of xz, the hash changes. This commit fixes the hash for packages and tools in core. Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools: prefer gz or bz2 tarballsRobert Marko2024-04-0620-41/+40
| | | | | | | | | | | | | | In the light of recent XZ events, and fundamental XZ issues lets work on moving away from using XZ. So, use gz compressed tarballs as sources whenever possible. dwarves only offers bz2 compressed tarballs, so use those as size difference is minor compared to XZ. Signed-off-by: Robert Marko <robimarko@gmail.com> dwarves
* tools: libdeflate: fetch source as tarballRobert Marko2024-04-061-4/+5
| | | | | | | | | | | | | libdeflate is currently intentionally being fetched via GIT. However, with the move to using ZSTD to compress the cloned GIT repo tarballs it means that we would first need to compile ZSTD. But that means that we need to be able to unpack gzipped tarballs first which we currently do by using libdeflate-gzip. So, in order to do so lets fetch libdeflate as a tarball, use gzip to extract it and then use libdeflate as regular for all other tools. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: rework tools-core dependeciesRosen Penev2024-04-061-2/+4
| | | | | | | | | | | | ZSTD and libdeflate do not depend on SED nor flock, so instead of the whole for loop that will filter 2 out of 4 core packages just specify that patch and tar depend on sed explicitly. ZSTD now depends on libdeflate since libdeflate-gzip will then be used to unpack ZSTD as well as most tool archives. Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: make zstd tool core and xz tool non-coreChristian Marangi2024-04-061-6/+5
| | | | | | | Make zstd tool core and xz tool non-core since zstd is the new default for compression format. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools: zstd: dont override ZSTD_LEGACY_SUPPORTRobert Marko2024-04-061-1/+0
| | | | | | | | We dont really have a reason to deviate from the upstream default for ZSTD_LEGACY_SUPPORT value of 5, as it will save a bit of space but prevent decompressing data compressed with legacy ZSTD versions. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: zstd: override max safe compression levelChristian Marangi2024-04-061-0/+3
| | | | | | | | | | | | | | | ZTSD limits the safe compression level to a max of 19 as 20 to 22 cause increased RAM usage. Higher levels require --ultra arg passed. There isn't currently a way to set --ultra using ENV options similar to ZSTD_CLEVEL and ZSTD_CLEVEL is limited to 19. To fix this, we can increase the max safe compression level by providing a custom ZSTDCLI_CLEVEL_MAX value with CFLAGS. The max safe level is increased to 20. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools: zstd: convert to make and drop meson dependencyChristian Marangi2024-04-062-17/+24
| | | | | | | | | | Convert to make and drop meson dependency since it's not a core tools and can't depend on advanced build system like cmake or meson. On top of this make is the official build support and cmake/meson are supported by 3rd parties. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools/mkimage: update to v2024.04Nick Hainke2024-04-063-5/+5
| | | | | | | | | | Update to latest version. Refresh patches: - 030-allow-to-use-different-magic.patch - 095-tools-disable-TOOLS_FIT_FULL_CHECK.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* tools/bzip2: switch to cmakeFelix Fietkau2024-04-033-423/+384
| | | | | | | Fixes portability issues on macOS. CMakeLists.txt is a stripped-down backport from bzip2 upstream Signed-off-by: Felix Fietkau <nbd@nbd.name>
* zstd: update to 1.5.6Paul Spooren2024-04-021-2/+2
| | | | | | | Full changelog here: https://github.com/facebook/zstd/releases/tag/v1.5.6 Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools: b43-tools: fix compilation with GCC14Robert Marko2024-03-301-1/+1
| | | | | | | | | | | | GCC14 no longer treats integer types and pointer types as equivalent in assignments (including implied assignments of function arguments and return values), and instead fails the compilation with a type error. So, as a workaround lets disable the newly introduced error -Werror=int-conversion and just make it print a warning to enable compiling with GCC14 as Fedora 40 now defaults to it. Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools/meson: update to 1.3.2Rosen Penev2024-03-293-4/+4
| | | | | | | | Add explicit setup as implicit is deprecated. Rename pkgconfig as no hyphen is deprecated. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* Revert "tools/xz: update to 5.6.1" (CVE-2024-3094)Petr Štetiar2024-03-291-3/+4
| | | | | | | | This reverts commit 714c91d1a63f29650abaa9cf69ffa47cf2c70297 as probably the upstream xz repository and the xz tarballs have been backdoored. References: https://www.openwall.com/lists/oss-security/2024/03/29/4. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tools/cmake: disable xcode generatorFelix Fietkau2024-03-291-0/+22
| | | | | | Fixes build on latest macOS SDK Signed-off-by: Felix Fietkau <nbd@nbd.name>