aboutsummaryrefslogtreecommitdiffstats
path: root/tools/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* libdeflate: Avoid circular dependenciesOlliver Schinagl2023-01-171-2/+1
| | | | | | | | | | | CMake depends on (libdeflate-)gunzip, libdeflate depends on Cmake, so we can't win. Luckily libdeflate is _very_ easy to build, without any build system, so lets just manually compile it and be done with it. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: Improve diffability/maintainabilityOlliver Schinagl2023-01-171-2/+4
| | | | | | | | | | | Like with commit ae614fb397c2 ("tools: Improve diffability/maintainability") we also want tools-core to be easy to maintain. While a smaller target, it's still usefull and makes things nice and consistent. To avoid duplicating any tools in the comment, simplify the comment instead. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* tools/lzop: add `lzop` binariesTony Butler2023-01-161-0/+5
| | | | | | | | | | | Depends: `tools/liblzo` `lzop` is the standard executable for LZO compression the initramfs generator offers the LZO option but there was no executable to support it actually working Signed-off-by: Tony Butler <spudz76@gmail.com>
* tools/liblzo: add `liblzo` libraryTony Butler2023-01-161-0/+2
| | | | | | | | | | | | | | prerequisite of upcoming `tools/lzop` addition, and subsequent initramfs and squashfs cleanups same as `packages/lzo` modified to be a HOST/tools type build, and should always be the same version and sources when either one is bumped because this (and `packages/lzo`) only provide liblzo and no executables, use the clearer name `tools/liblzo` Signed-off-by: Tony Butler <spudz76@gmail.com>
* tools/lz4: add `lz4` binariesTony Butler2023-01-161-0/+4
| | | | | | | | | | same as `packages/liblz4` modified to be a HOST/tools type build with unified liblz4 (this is also the dev package for liblz4) the image initramfs generator offers the LZ4 option but there was no executable to support it actually working Signed-off-by: Tony Butler <spudz76@gmail.com>
* tools: Add gzip-libdeflate advanced compressorMarkus Stockhausen2023-01-021-0/+2
| | | | | | | | | | | | | | | | | Several devices provide U-Boot versions with only gzip compressed kernel support (e.g. Realtek switches). This compression method produces larger images than lzma. To save space on flash and avoid going the hard way with lzma-loader we can make use of enhanced gzip tool based on libdeflate compression library from https://github.com/ebiggers/libdeflate. It keeps 100% deflate/gzip compatibility while improving compression ratio. The image can be unpacked by the default inflate routines inside U-Boot. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> [Switched to v1.15 and made it work with cmake] Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> Reviewed-by: Robert Marko <robimarko@gmail.com> Reviewed-by: Rosen Penev <rosenp@gmail.com> Reviewed-by: Sander Vanheule <sander@svanheule.net>
* tools: Improve diffability/maintainabilityOlliver Schinagl2022-12-241-5/+37
| | | | | | | | | | | | | | | | | | There's no purpose to squish multiple tools into a single line (and spread those out over multiple lines). It might look 'nice' in certain conditions, but it's annoying to maintain. For example, but not limited to: * adding/removing tools, causes hard to read diffs * Duplicates are harder to spot * Sorting can not be (easily?) automated With this proposed change, the above annoyances go away. Inserting a new tool can be done with a single line-change-diff, sorting can be done by any editor (in vi, select, :sort for example) and dupes are much easier to spot. Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
* mac80211: remove old legacy legacy driversFelix Fietkau2022-11-091-1/+1
| | | | | | | | | | | Get rid of drivers that are either limited to 802.11b/g or don't even support cfg80211/mac80211. Most of these are either limited to boards that we don't even support anymore because of firmware size, or were only used for custom hacks by a really small number of users in the past. Let's get rid of those to reduce the maintenance effort and the number of useless packages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/genext2fs: Add dependency to libtoolHauke Mehrtens2022-10-231-0/+1
| | | | | | | | This fixes the following build error: ./autogen.sh: line 13: aclocal: command not found Fixes: b6d29af9475f ("tools/genext2fs: update to 1.5.0") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: remove implicit dependenciesRosen Penev2022-10-201-4/+4
| | | | | | Small cleanup. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: add option BUILD_ALL_HOST_TOOLS to compile all host toolsChristian Marangi2022-09-301-12/+12
| | | | | | | | Add option to compile all host tools even if not needed. This can be useful to prepare a universal precompiled host tools archive to use in another buildroot and speedup compilation. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools/cmake: Build without some included libsRosen Penev2022-09-291-3/+3
| | | | | | | | | Saves a little bit of time when compiling cmake. Added patches to fix searching liblzma and zlib. The issue is that because pkgconfig is not used, the system libraries get used. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/expat: build with autotools againRosen Penev2022-09-291-3/+2
| | | | | | | Allows to set expat as a dependency to cmake and save on compilation time. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/zlib: switch to configure scriptRosen Penev2022-09-291-2/+1
| | | | | | A future commit will make tools/cmake use this. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: fix firmware-utils dependsRosen Penev2022-09-271-1/+1
| | | | | | | When firmware-utils was converted to use cmake, the dependency was not updated. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: remove xxd packagePetr Štetiar2022-09-061-1/+1
| | | | | | | | It shouldn't be needed anymore as we've now `scripts/xxdi.pl`, which should be self contained and fully compatible `xxd -i` replacement. Fixes: #10555 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tools: add 7z host packageJan Hoffmann2022-07-281-0/+1
| | | | | | | | | | | | | | Add the 7zr command line tool, which is a version of the 7z application that only supports 7z archives. 7z is one of the two compression formats supported in H3C firmware images (the alternative would be ARJ). (Alternatively, the 7zr command line tool could also be built from a current version of the public-domain LZMA SDK. That would require repackaging the source package, as it is only provided in 7z format.) Signed-off-by: Jan Hoffmann <jan@3e8.eu>
* tools/elfutils: depend on m4Stijn Tintel2022-05-181-1/+1
| | | | | | | | Some buildbots fail to build elfutils due to m4 being missing. Add m4 as a dependency for elfutils to fix this. Fixes: ad79b9271949 ("elfutils: move host build to tools") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* tools/dwarves: add host packageTony Ambardar2022-05-181-0/+2
| | | | | | | | | | | | | | | | | | dwarves is a set of tools that use the debugging information inserted in ELF binaries by compilers such as GCC. Utilities in the dwarves suite include pahole, which can be used to find alignment holes in structs and classes, and also extracts other information such as CPU cacheline alignment, helping pack those structures to achieve more cache hits. These tools are also used to encode and read the BTF type information format used with the bpf syscall, making this a Linux build dependency when using kernel BTF information. Signed-off-by: Tony Ambardar <itugrok@yahoo.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [bump to 1.23, add elfutils dep, drop host lib usage, drop cmake release target, use RM macro] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* elfutils: move host build to toolsStijn Tintel2022-05-181-0/+3
| | | | | | | | | | | The upcoming dwarves host package requires elfutils. As dependencies for tools must exist in tools, we need to move elfutils host build there. As there is at least one package that depends on this, and there is no proper way to create such dependency in the build system, build it unconditionally when not building on macOS. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* tools/mkimage: update to 2022.01Huangbin Zhan2022-03-011-1/+1
| | | | | | | | | | | | - enable dot config - enable openwrt verbose - add bison as dependency to avoid failure ``` bison -oscripts/kconfig/zconf.tab.c -t -l scripts/kconfig/zconf.y bison: /builder/shared-workdir/build/staging_dir/host/share/bison/m4sugar/m4sugar.m4: cannot open: No such file or directory ``` Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
* tools/expat: update to 2.4.6Rosen Penev2022-03-011-0/+1
| | | | | | | | | | | Switched to CMake for faster compilation and greater parallel friendliness. Added CMake options from the packages feed. This release fixes various CVEs. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/zstd: update to 1.5.2Rosen Penev2022-03-011-1/+1
| | | | | | | Switched to building with meson as it's faster and does not need a dependency on cmake, which takes a long time to build. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/ccache: add cmake dependencyRosen Penev2022-03-011-1/+1
| | | | | | | This will be needed for the next commit as ccache's cmake dependency is satisfied by zstd currenly. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* Revert "tools/zstd: update to 1.5.2"Jo-Philipp Wich2022-02-071-1/+1
| | | | | | | | This reverts commit 8de901ccf7e2b227bd970e9c477f00c15ce6aae9. Apparently this update breaks tools building. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* tools/zstd: update to 1.5.2Rosen Penev2022-02-071-1/+1
| | | | | | | Switched to building with meson as it's faster and does not need a dependency on cmake, which takes a long time to build. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: build bash on macOS and use it for ipkg-buildFelix Fietkau2022-01-271-0/+3
| | | | | | | | | On macOS, system binaries silently drop the environment variables for injecting extra shared libraries (used by fakeroot). This is done for security reasons. Work around this by building bash from source, so that it gets an ad-hoc signature and does not have these restrictions Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/llvm-bpf: move tarball packing to target/llvm-bpfFelix Fietkau2021-11-221-2/+1
| | | | | | | This ensures that the tarball is regenerated after make clean or after switching to a different target Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: include the value of CONFIG_SDK_LLVM_BPF in the stampfileFelix Fietkau2021-11-211-1/+2
| | | | | | tools/llvm-bpf needs to be checked if the value changes Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: ensure that BIN_DIR is created earlyFelix Fietkau2021-11-041-2/+5
| | | | | | Fixes llvm-bpf buildbot failure Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix bpf toolchain dependency for qosifyFelix Fietkau2021-11-011-1/+1
| | | | | | Add hidden symbols to fix defaults with CONFIG_DEVEL unset Signed-off-by: Felix Fietkau <nbd@nbd.name>
* config: add choice for selecting the LLVM toolchain typeFelix Fietkau2021-11-011-1/+1
| | | | | | This is global for all BPF based packages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPFFelix Fietkau2021-10-201-0/+2
| | | | | | Preparation for building packages that ship eBPF code Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/pkgconf: update to 1.8.0Rosen Penev2021-09-161-1/+2
| | | | | | Switch to compiling with meson for faster and more reliable compilation. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: add mesonRosen Penev2021-09-161-1/+2
| | | | | | | | | | | | | meson is a next generation build system designed to have good defaults, simpler build files, and fast compilation. It is built upon python and uses ninja for compilation. The latter provides fast by default (parallel) and problem free compilation. There are over 40 packages already successfully using meson. The next commit will convert pkgconf to use meson compilation. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/mm-macros: removeRosen Penev2021-09-161-2/+1
| | | | | | | | | | | | ccaaab1c048159611e93a181dde740f49fa12483 says that this is in the codebase because of libsigc++, which is not in the codebase anymore. Neither in base nor in packages. It doesn't seem to be needed by anything else either. GNOME packages have transitioned to using meson, which does not use m4 files. Tested local compile with CONFIG_ALL. No problems seen. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: build ninja before ccache to fix the build orderFelix Fietkau2021-06-121-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: fix dependencies of cmake packagesFelix Fietkau2021-06-121-1/+1
| | | | | | Make cmake depend on ninja, so that other cmake based tools also depend on it Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add ninja build tool and make it available for cmakeFelix Fietkau2021-06-121-1/+1
| | | | | | | | | | | | ninja is faster at building cmake packages than make, and according to reports also more reliable at handling parallel builds This commit includes a patch that adds GNU make jobserver support, in order to allow more precise control over the number of parallel tasks Enable parallel build by default for packages using ninja Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/libelf: remove unneeded host libraryTony Ambardar2021-03-131-2/+1
| | | | | | | | | | | | | | | | | | | | This old ELF library dating to 2009 used to be necessary on MacOS but is not required for building the kernel or tools since [1]. On Linux systems, libelf is already an OpenWRT build-system prerequisite [2]. Presence of the older library can mask or conflict with the system libelf and lead to build errors, as seen compiling Linux kernels since v5.8 or host tools such as dwarves (e.g. pahole). Remove the unnecessary tools/libelf library and avoid the related issues. [1] 5f8e587240 ("build: force disable stack validation during kernel build on non-linux systems") [2] https://openwrt.org/docs/guide-developer/build-system/install-buildsystem#prerequisites Tested-by: Rosen Penev <rosenp@gmail.com> (Linux) Tested-by: Georgi Valkov <gvalkov@abv.bg> (MacOS) Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* tools: add xxd (from vim)Daniel Golle2021-02-281-1/+1
| | | | | | | | | | U-Boot requires xxd to create the default environment from an external file as done in uboot-mediatek. Build xxd (only, not the rest of vim) as part of tools to make sure it is present on the buildhost. Reported-by: David Bauer <mail@david-bauer.net> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* tools: add cpioDavid Bauer2021-02-281-1/+1
| | | | | | | mediatek-mt7622 as well as mediatek-mt7623 require CPIO to create their initramfs images. So build CPIO as part of the host toolchain. Signed-off-by: David Bauer <mail@david-bauer.net>
* tools/zstd: compile with cmakeRosen Penev2021-01-301-1/+2
| | | | | | | | It's faster and more reliable. Removed ccache cmake build dependency as it's now implicit. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* qemu: remove obsolete packagePaul Spooren2021-01-101-2/+0
| | | | | | | Instead of using an ancient qemu version in-tree the building machine should just have qemu-utils installed. Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools/fakeroot: update to 1.25.3Syrone Wong2021-01-051-0/+1
| | | | | | | | use PKG_FIXUP:=autoreconf to generate configure 200-hide-dlsym-error.patch deleted due to fixed upstream in another way other patches refreshed to reflect latest changes Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
* ccache: update to 4.1Rosen Penev2020-12-311-1/+2
| | | | | | | | | | | | | | | | Upstream switched to building with CMake. Adjust accordingly. Reapplied patch as upstream changed the file format. Added HOST_BUILD_PARALLEL for faster compilation. Added cmake tool dependency and removed circular dependencies as a result. Adjusted dependent tools to use NOCACHE as they are needed to build ccache. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: always create $STAGING_DIR/usr/{include,lib}Andre Heider2020-11-271-1/+1
| | | | | | | | | | | rules.mk always passes these as -I/-L to the toolchain. Fixes rare errors like: cc1: error: staging_dir/target-aarch64_cortex-a53_musl/usr/include: No such file or directory [-Werror=missing-include-dirs] Signed-off-by: Andre Heider <a.heider@gmail.com> Acked-by: Paul Spooren <mail@aparcar.org> Acked-by: Rosen Penev <rosenp@gmail.com>
* tools/bc: use autoreconf to fix build failure on macOS with recent Xcode ↵Felix Fietkau2020-11-141-1/+1
| | | | | | versions Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: sort alphabeticallyAdrian Schmutzler2020-09-021-38/+37
| | | | | | | This sorts the added tools and builddir dependencies alphabetically to make it easier to find something in the Makefile. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools: drop unused upslug2 and wrt350nv2-builderAdrian Schmutzler2020-09-021-3/+0
| | | | | | | | | | | | | | These tools have been used by the orion target which has been removed in Jan 2020 [1]. Both were specifically meant for the WRT350Nv2, which is not supported anymore. So, let's remove them as well. [1] 89f2deb372b7 ("orion: remove unmaintained target") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>