Commit Graph

44 Commits

Author SHA1 Message Date
Felix Fietkau
14f3dbb8b0 tools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF
Preparation for building packages that ship eBPF code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-10-24 00:08:23 +08:00
Rosen Penev
41b0200487 tools/pkgconf: update to 1.8.0
Switch to compiling with meson for faster and more reliable compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-19 00:09:29 +08:00
Rosen Penev
3246dc7f15 tools/pkg-config: Replace with pkgconf
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>
2021-09-19 00:05:57 +08:00
Rosen Penev
e06ab0c6b3 tools: add meson
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>
2021-09-18 23:53:55 +08:00
Rosen Penev
f0dff7533c tools/mm-macros: remove
ccaaab1c04 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>
2021-09-18 23:51:55 +08:00
Paul Spooren
8979ce7cad
qemu: remove obsolete package
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>
(cherry picked from commit 5876ba6460)
2021-06-17 19:11:38 +08:00
Felix Fietkau
7f041100ae
tools: build ninja before ccache to fix the build order
Fixes: #405

Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit fa0aea53b2)
2021-06-15 17:26:57 +08:00
Felix Fietkau
056b026135 build: add ninja build tool and make it available for cmake
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>
2021-06-13 11:59:14 +08:00
Tony Ambardar
53cf3eca6e tools/libelf: remove unneeded host library
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")

Tested-by: Rosen Penev <rosenp@gmail.com> (Linux)
Tested-by: Georgi Valkov <gvalkov@abv.bg> (MacOS)
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2021-03-14 11:29:50 +08:00
Daniel Golle
49df615743 tools: add xxd (from vim)
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>
2021-03-01 12:11:56 +08:00
David Bauer
9b3f149e43 tools: add cpio
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>
2021-03-01 12:08:11 +08:00
Rosen Penev
24867d68bf tools/zstd: compile with cmake
It's faster and more reliable.

Removed ccache cmake build dependency as it's now implicit.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-01-31 22:18:38 +08:00
Syrone Wong
4bfb7abcbd tools/fakeroot: update to 1.25.3
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>
2021-01-06 17:28:33 +08:00
Rosen Penev
fdb260efa7
ccache: update to 4.1
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>
2020-12-31 17:50:39 +08:00
Andre Heider
080e560374
tools: always create $STAGING_DIR/usr/{include,lib}
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>
2020-11-28 19:13:55 +08:00
Felix Fietkau
50f369c26d
tools/bc: use autoreconf to fix build failure on macOS with recent Xcode versions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-11-21 17:41:58 +08:00
CN_SZTL
0ca4621ca8
tools: add missing ar71xx utils 2020-09-04 17:46:09 +08:00
Adrian Schmutzler
44e96327e1
tools: sort alphabetically
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>
2020-09-04 16:25:03 +08:00
Thomas Petazzoni
be9155455e tools: add fakeroot
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>
2020-08-10 21:14:32 +08:00
Matthias Schiffer
7d9f88d92f tools: add zstd
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2020-05-31 19:37:02 +08:00
Karel Kočí
e18deba60d
tools: add autoconf-archive
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>
2020-05-23 19:20:29 +08:00
CN_SZTL
c964926f52
Revert "tools/pkg-config: Replace with pkgconf"
This reverts commit 71b76cded2.
2020-03-12 03:40:27 +08:00
CN_SZTL
71b76cded2
tools/pkg-config: Replace with pkgconf 2020-03-02 17:54:57 +08:00
ElonH
453c427daf upx: fix dependence
reduce error on parallel build
2020-02-19 02:01:59 +08:00
CN_SZTL
7e1b4e652a
subconverter/jpcre/rapidjson: add packages 2020-02-18 20:24:18 +08:00
CN_SZTL
07e939f834
tools/jpcre2: add package 2020-02-18 19:01:41 +08:00
CN_SZTL
ab8135ce7d
Merge Lean's source 2020-02-15 15:32:19 +08:00
coolsnowwolf
a237f50d1d Add and Upgrade upx to v3.96 2020-02-15 13:56:56 +08:00
AmadeusGhost
91822bf59c
squashfs-tools: fix build error (#2902) 2020-01-31 21:46:37 +08:00
CN_SZTL
580d990dcd
Merge Lean's source 2019-12-14 12:18:29 +08:00
LEAN-ESX
7ea08e97fe ramips: mt7621: add support for Netgear R6800 2019-12-13 08:25:54 -08:00
CN_SZTL
69ecf24afd
tools: keep stamp file in $(STAGING_DIR_HOST) 2019-10-26 08:29:12 +08:00
CN_SZTL
da77e79e02
update mpfr 2019-08-17 12:23:42 +08:00
CN_SZTL
ce8ed9121b
add luci-app-haproxy & luci-app-udpspeederv2 2019-05-25 21:05:51 +08:00
coolsnowwolf
472192311a fix vhdx and kvm qcow2 support 2019-01-03 21:06:34 +08:00
coolsnowwolf
347daa04b2 Merge branch master of https://github.com/coolsnowwolf/lede 2019-01-03 19:29:28 +08:00
coolsnowwolf
fa33774bdc Enable x86/x64 to Generate EFI grub images 2018-10-09 00:13:34 +08:00
coolsnowwolf
806f5db174 sync with OpenWrt trunk 2018-09-07 13:43:55 +08:00
coolsnowwolf
9ba04fd0d7 sync with OpenWrt v18.06.1 stable new R8.1 version 2018-08-23 17:40:23 +08:00
coolsnowwolf
8fe0636b8a Merge branch 'master' of github.com:lede-project/source 2018-04-23 18:50:49 +08:00
coolsnowwolf
2881c86f2b enable EFI+GPT grub2 images for x86/x64 platforms (such as Atom N2600) 2018-03-29 22:41:20 +08:00
coolsnowwolf
229cde62a4 Merge branch 'master' of https://github.com/lede-project/source 2018-01-09 14:38:15 +08:00
coolsnowwolf
c682ebad62 enable generate EFI+GPT grub2 ext4 images for x86/x64 platforms 2017-10-20 13:23:12 +08:00
coolsnowwolf
97a4ffcc12 update source 2017-09-06 19:19:45 +08:00