aboutsummaryrefslogtreecommitdiffstats
path: root/tools/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* tools: add back lzma-old for ath79David Bauer2020-08-311-1/+1
| | | | | | | | | lzma-old host package is required for building ath79 images, as mksquashfs-lzma is required for generating netgear images. Fixes commit 4e4ee4649553 ("ar71xx: drop target") Signed-off-by: David Bauer <mail@david-bauer.net>
* ar71xx: drop targetAdrian Schmutzler2020-08-301-2/+1
| | | | | | | | | | This target has been mostly replaced by ath79 and won't be included in the upcoming release anymore. Finally put it to rest. This also removes all references in packages, tools, etc. as well as the uboot-ar71xx and vsc73x5-ucode packages. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools: add fakerootThomas Petazzoni2020-08-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | SELinux support requires setting the appropriate SELinux security context to files and directories, which needs to happen at build time in order to support read-only root filesystem scenarios. In order to create these security contexts, we will have to run some SELinux-specific tools on the host machine, but that requires root access. This adds support for fakeroot, which the build process will use to run the SELinux security context creation and the image creation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Apply to current master, and adjust commit message Thomas' original work is available at http://lists.infradead.org/pipermail/openwrt-devel/2019-November/025976.html. Signed-off-by: W. Michael Petullo <mike@flyn.org> [add rules.mk FAKEROOT variable] Signed-off-by: Paul Spooren <mail@aparcar.org> [update, fix macos build] Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: add zstdMatthias Schiffer2020-05-311-1/+1
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* tools: add autoconf-archiveKarel Kočí2020-05-201-1/+1
| | | | | | | | | | | | | | | | Some autotools based build systems are using autoconf-archive scripts and are expecting them to almost always be available. This is not required for regular releases as tar balls generated for releases commonly have existing configure script. This is rather intended to be used with autotools.mk's autoreconf and in cases it is not always possible to get release tar ball. Including this adds little to no overhead in terms of build time as those are just m4 scripts copied to an appropriate location. Signed-off-by: Karel Kočí <karel.koci@nic.cz> [fixed From: to match SoB] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: fix kernel 5.4 on macosKevin Darbyshire-Bryant2020-03-141-0/+4
| | | | | | | | | | As part of the kernel build process there are utilities built to run on the host system that expect linux kernel headers to be available. Unfortunately macos/darwin doesn't have these headers. vdso2c requires types.h so provide a minimal stub to satisfy it. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* tools/pkg-config: Replace with pkgconfRosen Penev2020-03-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | pkgconf is a newer, actively maintained implementation of pkg-config that supports more aspects of the pkg-config file specification and provides a library interface that applications can use to incorporate intelligent handling of pkg-config files into themselves (such as build file generators, IDEs, and compilers). Through its pkg-config compatibility interface (activated when it is run as "pkg-config"), it also can completely replace the original implementation. It is also lighterweight and does not require glib2, as pkg-config does. On other distros, pkgconf is symlinked to pkg-config. For simplicity here, it is renamed to pkg-config.real, as in the original package. Initial results have been positive. As before, pkgconf works as long as the pkg-config files point to the proper paths. Signed-off-by: Rosen Penev <rosenp@gmail.com> [backported upstream fix for Meson] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tools: Fix "lib" symlink created inside $(STAGING_DIR_HOST)/libJeffery To2020-03-011-1/+1
| | | | | | | | | | | | | | | | | | | Currently, if "make tools/install" is called after tools have already been installed, a symbolic link named "lib" will be created inside $(STAGING_DIR_HOST)/lib, pointing to "lib" (i.e. itself). During tools/prepare, a "lib64" symlink is created inside $(STAGING_DIR_HOST) that points to "lib" (also inside $(STAGING_DIR_HOST)). If tools/prepare is called and the "lib64" symlink already exists, then ln will treat it as a directory and instead create a symlink named "lib" inside of that directory. This adds the -n option for ln so that $(STAGING_DIR_HOST)/lib64 is always treated as a normal file (the link name), not as a directory. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* rules.mk: remove "$(STAGING_DIR)/include"Sebastian Kemper2019-11-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "$(STAGING_DIR)/include" was carried over from buildroot-ng to OpenWrt in commit 60c1f0f64d23003a19a07d6b9638542130f6641d. buildroot has dropped this directory a long time ago. In OpenWrt the directory is still created by the PrepareStaging macro and is part of the default TARGET_CPPFLAGS. But nothing at all installs headers into this directory, nor should anything be installed under this path. Removing this directory from TARGET_CPPFLAGS will cut down the log noise a bit. Not only will CPPFLAGS be shorter, there will be less warnings set off by "-Wmissing-include-dirs" (or even failures when paired with "-Werror"). After all the directory does not even _exist_ in the SDKs, which are used on the build bots when building packages (see [1] and [2]). make[8]: Entering directory '/builder/shared-workdir/build/sdk/build_dir/target-aarch64_generic_musl/libmbim-1.20.0/src/common' CC libmbim_common_la-mbim-common.lo cc1: error: /builder/shared-workdir/build/sdk/staging_dir/target-aarch64_generic_musl/include: No such file or directory [-Werror=missing-include-dirs] cc1: all warnings being treated as errors [1] https://github.com/openwrt/packages/issues/10377 [2] https://github.com/openwrt/packages/pull/10378 Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net> Acked-by: Jo-Philipp Wich <jo@mein.io> Acked-by: Rosen Penev <rosenp@gmail.com>
* tools: keep stamp file in $(STAGING_DIR_HOST)Yousong Zhou2019-10-241-2/+2
| | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* scons: move to packages feedPetr Štetiar2019-09-151-1/+1
| | | | | | | | | | | | | | This patch removes scons host build tool, as commit 7087efd72a8d ("scons: move host build tool to a proper place") in the packages feed has moved scons into the new home. There are currently no packages in the master tree which would need scons, yet scons is build always as part of host tools, just in order to satisfy host build dependency of few packages in the packages feeds. Ref: https://github.com/openwrt/packages/pull/9584 Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tools: cbootimage: depend on automakeTomasz Maciej Nowak2019-04-071-1/+1
| | | | | | | Fix missing aclocal reported by buildbot. Fixes: 8595bb0 ("tools: add cbootimage for tegra") Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* tools: add cbootimage-configs for tegraTomasz Maciej Nowak2019-04-061-1/+1
| | | | | | | This provides board configuraion tables for various Tegra boards needed by cbootimage tool to create flashable bootloader images. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* tools: add cbootimage for tegraTomasz Maciej Nowak2019-04-061-0/+2
| | | | | | | | | | | | | | | | | Tegra BCT and bootable flash image generator/compiler >From documentation: This project provides a tool which compiles BCT (Boot Configuration Table) images to place into the boot flash of a Tegra-based device. The tool will either: a) Compile a textual representation of a BCT into a binary image. b) Generate an entire boot image from a previously compiled BCT and a bootloader binary. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* tools: squashfskit4 should only depend on coreutils on non-linux systemsFelix Fietkau2019-03-031-1/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/squashfskit: fix version detection on non-linux systemAlexander Couzens2019-03-031-1/+1
| | | | | | | | | | | | gnu date is present in our staging_dir which means squashfskit will fail to build. Prevent also a race condition if coreutils is build after squashfskit. To prevent a race condition, depend on coreutils. Acked-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* tools: migrate from squashfs4 to squashfskit4Alexander Couzens2019-02-281-2/+2
| | | | | | | | | squashfskit is a fork of the squashfs-tools. squashfskit creates reproducible filesystems and includes many of the distro patches. Signed-off-by: Alexander Couzens <lynxis@fe80.eu> Tested-by: Paul Spooren <mail@aparcar.org>
* gemini: Generate harddisk image for DNS-313Linus Walleij2019-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | This makes OpenWrt build an Ext2+Ext4 partitioned image for the D-Link DNS-313 with two blank partitions, a boot partition on /dev/sda3 and a rootfs partition on /dev/sda4. This uses the methods already used in apm821xx including the tricks to convert the generated Ext2 filesystem partition to version 1 so that the firmware bootloader will properly recognize it. We patch a bit around the build files to make sure we get the rootfs size set and that genext2fs is properly built. Tested on the D-Link DNS-313. Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [Fixing and tricksing] Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* tools/sed: fix incorrect dependency.Kuang Rufan2019-01-221-2/+3
| | | | | | sed shall depend on xz instead of xz depends on sed. Signed-off-by: Kuang Rufan <master@a1983.com.cn>
* tools: add zip utilityMathias Kresin2019-01-151-1/+1
| | | | | | | One image requires a zip compressed image, so add the zip util found in the packages feed, and extend it with some useful debian patches. Signed-off-by: Mathias Kresin <dev@kresin.me>
* tools: patch: Fix build by not modifing Makefile.amHauke Mehrtens2018-10-141-1/+0
| | | | | | | | | | | | | | A new test case was adding in one of the patches fixing a problem, this also included a change in the test/Makefile.am to add this test case. The build system detected a change in the Makefile.am and wants to regenerate the Makefile.in, but this fails because automake-1.15 is not installed yet. As automake depends on patch being build first, make sure we do not modify the Makefile.am. This fixes build problem seen by the build bots. Fixes: 4797dddfde6 ("patch: apply upstream cve fixes") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: patch: make patch build depend on automakeHauke Mehrtens2018-10-141-0/+1
| | | | | | | | | | The Makefile.am changed and now patch wants to use automake to regenerate the Makefile.in. Make sure automake was build before we build patch. This fixes build problem seen by the build bots. Fixes: 4797dddfde6 ("patch: apply upstream cve fixes") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: build squashfs (v3) for ath79Zoltan HERPAI2018-06-161-1/+2
| | | | | | | | | | | | | Certain Netgear and AVM devices use BE squashfs for the kernel image. As squashfs4 only supports creating LE images, add squashfs (v3) into the tools to be built for ath79. Trying to use an LE squashfs (thus trying to use squashfs4 only for building the image) for the kernel image results in the bootloader barfing and stopping. Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* tools/mtd-utils: update to version 2.0.2Hauke Mehrtens2018-04-281-1/+1
| | | | | | | | This version now uses autotools to configure the build system. They are also using the newly added zlib package. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* tools/zlib: move zlib build to toolsHauke Mehrtens2018-04-281-5/+9
| | | | | | | | | | | | | This allows us to link the other tools against our libz and we do not need the system zlib any more. Only the static linked library is copied to the staging directory so we have a statically linked library on all systems and not only on Linux. This also adds the new dependencies of the packages which are depending on zlib. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* tools/upx: Remove from repoDaniel Engberg2017-03-201-1/+0
| | | | | | Remove upx from repo, it hasn't been used for a very long time and serves little to no purpose. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* build: extend CONFIG_AUTOREMOVE to tools/Felix Fietkau2017-01-181-0/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove separate /install step for host buildsFelix Fietkau2017-01-181-40/+41
| | | | | | Reduces the number of recursive make invocations Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: remove obsolete yaffs toolFelix Fietkau2017-01-091-1/+1
| | | | | | This was added a long time ago and was apparently never used Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: reorganize dependencies, fix build after deleting staging dirFelix Fietkau2017-01-091-12/+15
| | | | | | | | | | | A lot of packages (especially those using libtool) depend on sed being available. xz fails on an incremental build pretty early if it's not there. Clean up handling if essential core tools (patch, tar, xz), build them in parallel and make them depend on sed Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: remove ubifs xz decompression supportFelix Fietkau2017-01-091-1/+1
| | | | | | | It has been unused, and less useful than squashfs for cases where flash space usage matters. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: make libressl build depend on pkg-configJo-Philipp Wich2017-01-051-0/+1
| | | | | | | Ensure that pkg-config is available before building libressl as we're going to need it for setting proper link flags in utilities requiring libcrypto. Signed-off-by: Jo-Philipp Wich <jo@mein.io>