This commit reworks how BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS is
defined to more clearly map with the list of platforms supported by
Rust as listed at
https://doc.rust-lang.org/nightly/rustc/platform-support.html. Indeed,
the situation is not as simple as a list of architectures, all
supported for both glibc and musl.
So instead, we take the approach of directly mapping with what's
described at
https://doc.rust-lang.org/nightly/rustc/platform-support.html, which
means:
* A list of Tier 1 platforms (in fact just 3 platforms)
* A list of Tier 2 platforms with host tools (i.e where rustc and
cargo themselves are available for the target, something that isn't
relevant for Buildroot)
* A list of Tier 2 platforms with no host tools support.
For each platform, we add as a comment its Rust tuple name, as listed
at https://doc.rust-lang.org/nightly/rustc/platform-support.html, and
then the corresponding Buildroot architecture/libc dependency.
This is obviously more verbose than it was, but it is also a lot
easier to maintain.
With this, a total of 16 new platforms are supported, 13 of which are
musl-based. The additional non-musl platforms are ARMv5TE, RISC-V
64-bit and Sparc64.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The current rustc package only supports configurations based on glibc
and hardcodes this requirement. This patch prepares the addition of
support for musl-based platforms by using $(LIBC) instead of
hardcoding "gnu" as the C library specifier when defining
RUSTC_TARGET_NAME.
Signed-off-by: Nathaniel Husted <nathaniel.husted@outlook.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
ajs124 [1] has 2 fixes over than original [2].
[1] https://gitlab.com/ajs124/abootimg
[2] https://github.com/ggrandou/abootimg.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
[yann.morin.1998@free.fr: also change homepage in Config.in]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
ebizzy has been fixed in 20200930 (commit 967612c45).
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Instead of passing -latomic through LDFLAGS as done in commit
4ed540ddf5, properly check for it in
configure.ac and add it to numa.pc or numactl users won't be able to get
it
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Qemu 6.0.0 no longer segfaults when running qemu-riscv32. As such, it's now
possible to allow riscv32 to compile gobject-introspection.
This partially reverts commit c94a212390.
The symbol BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS is kept, even
though it is now equivalent to BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS,
because it's likely that architecture dependencies will pop up again in
the future.
The configuration of a previously failing autobuilder [1] now passes.
[1] http://autobuild.buildroot.org/results/668397b1df42297505e6fc8353c4752290a5628d
Signed-off-by: Adam Duskett <aduskett@rivian.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Other changes:
- Drop patch 0003-hw-usb-host-libusb.c-fix-build-with-kernel-5.0.patch as it
is part of 6.0.0.
- Rename 0004-meson-add-tests-option.patch to
0003-meson-add-tests-option.patch and refresh it for 6.0.0
Signed-off-by: Adam Duskett <aduskett@rivian.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
openblas has options 'NO_STATIC' and 'NO_SHARED' to steer the installation
of libopenblas.a and libopenblas.so. But this does not impact anything in
the build process, other than copying the respective file to the output
directory.
As openblas is very large (e.g. 3MB on ARM) but applications may only use a
small part of it, such applications may want to link statically with
openblas, even though the global BR2_STATIC_LIBS is not set and not desired.
One approach would have been to introduce options
BR2_PACKAGE_OPENBLAS_BUILD_SHARED_LIB and
BR2_PACKAGE_OPENBLAS_BUILD_STATIC_LIB which could be freely selected
regardless of BR2_STATIC_LIBS / BR2_SHARED_LIBS.
But since the installation of a static library does not have any negative
impact except for some disk space on the host system (.a files are removed
from the target in target-finalize anyway), change the installation rules to
install the static library unconditionally.
NO_SHARED is still passed for static-libs-only systems, because the
dynamic library would unnecessarily take up target disk space for such
systems.
Users that only need the static library would still need to remove the
shared library from a post-build script to actually save space.
Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The "fb" framebuffer driver needs GPM (mouse support) to compile,
but not DirectFB or Xorg.
The .mk file already has an optional dependency on GPM, so it doesn't
need to be added there.
Also added a Kconfig comment for easier discovery of the GPM
requirement.
Signed-off-by: Urja Rannikko <urjaman@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Update to version 0.1.3, which is a matenance release which does not
add any new features but can be built against wlroots 0.13.0. A new
build option to toggle man pages is set to always disabled.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Enable using libseat for seat management when possible.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Add commands to the seatd package to install the systemd unit included
in the source tarball and a SysV init script, and ensure that the
"video" group gets created.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
[yann.morin.1998@free.fr:
- model the init script after package/busybox/S01syslogd
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Introduce a seatd package, which can be used by wlroots 0.12.0 and
newer. The package includes both a library (always built) and an
optional seat management daemon.
The library can use systemd-logind, the seatd daemon, or a simple
builtin in-process mode. Build options are introduced for the daemon
and the built-in mode, as to allow selecting the built-in mode as
default when both the daemon and systemd-logind are not being built.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Update wlroots to version 0.13.0. This is a release which changes
API/ABI, applications which use wlroots need to be rebuilt. Currently in
Buildroot there is only cage, to be updated by a follow-up patch of the
series.
Additionally, remove usage of the xcb-icccm build option, which is no
longer available and update the dependencies needed by the X11 support.
Note that the dependencies neded by the X11 backend are a superset of
the ones needed for XWayland support, so we can make toggle both Meson
options at once.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Update to a new major release which brings in improvements and a few new
features. Release notes:
https://wpewebkit.org/release/wpewebkit-2.32.0.htmlhttps://wpewebkit.org/release/wpewebkit-2.32.1.html
None of the new features in WPE WebKit 2.32.x need additional
dependencies.
The existing patch for Musl compatibility is not needed anymore because
a better solution has been accepted upstream and backported to be
included in the 2.32.1 release.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Release notes:
https://wpewebkit.org/release/libwpe-1.10.0.html
The patch is removed, as it has been included upstream.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
poke bundle gnulib that doesn't support the case where
host_os='linux-uclibc'. When cross-compiling, the guessed
answers are mostly wrong and gnulib will try to replace
snprintf with rpl_snprintf. This lead to "undefined reference
to `rpl_snprintf'" errors.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
From [1]:
"The poke machine-interface uses a protocol to communicate with
clients, which is based on JSON. poke uses the json-c library to
parse and build JSON strings.
If this library is not found, poke will build without machine-interface
support."
[1] https://git.savannah.nongnu.org/cgit/poke.git/tree/DEPENDENCIES?h=releases/poke-1.2#n55
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Jose E. Marchesi <jemarch@gnu.org>
Cc: Luca Saiu <positron@gnu.org>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Backport a patch to disable tcl/tk dependencies when gui support
is disabled.
Backport and rebase a patch to avoid host poisoning while
cross-compiling.
Add another local patch when HELP2MAN is missing.
Disable uClibc-ng toolchain for now due to issues with
bundled gnulib.
The license of gnulib is not easy to describe because
it bundle several sources files with different license [1][2].
Even if not SPDX compliant, use "gnulib license".
[1] https://git.savannah.gnu.org/cgit/gnulib.git/tree/COPYING
[2] https://src.fedoraproject.org/rpms/gnulib/blob/rawhide/f/gnulib.spec#_53
See:
http://www.jemarch.net/poke-1.0-relnotes.htmlhttp://www.jemarch.net/poke-1.1-relnotes.htmlhttp://www.jemarch.net/poke-1.2-relnotes.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Jose E. Marchesi <jemarch@gnu.org>
Cc: Luca Saiu <positron@gnu.org>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr:
- propagate BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS dependency to comment
- select busybos-show-others
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
- Bump kernel to version 5.10.30-ti-r3.
- Bump U-Boot to version 2021.04.
Add mdev to the beaglebone_defconfig. This gives us automatic USB support,
as the omap2plus kernel has most drivers as modules.
While at it, enable VFPv3 with 32 registers (instead of 16) and add a few
comments to the defconfig.
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Lothar Felten <lothar.felten@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The getrandom() detection from meson.build failes with the following error
message:
.../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:35: error: unknown type name 'size_t'
27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
| ^~~~~~
.../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:8:1: note: 'size_t' is defined in header '<stddef.h>'; did you forget to '#include <stddef.h>'?
Fix it by adding stddef.h include to the meson getrandom() detection.
Fixes:
- http://autobuild.buildroot.net/results/7e131bec458bf5c263ee1858d38ed5dc3cf704a6
../src/pipewire/impl-core.c:54:9: error: conflicting types for ‘getrandom’
54 | ssize_t getrandom(void *buf, size_t buflen, unsigned int flags) {
| ^~~~~~~~~
In file included from ../src/pipewire/impl-core.c:34:
.../host/x86_64-buildroot-linux-uclibc/sysroot/usr/include/sys/random.h:27:12: note: previous declaration of ‘getrandom’ was here
27 | extern int getrandom(void *__buf, size_t count, unsigned int flags)
| ^~~~~~~~~
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch adds support for the Globalscale EspressoBin Ultra, which is
an evolution of the EspressoBin family. Same SoC and switchcore, more
Ethernet ports, including one PoE PD port.
Tested-by: Atallah Amine <amine_atallah@outlook.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
GCC support enabling secureplt for powerpc64.
From [1]
"PowerPC has two PLT models: BSS-PLT and Secure-PLT. BSS-PLT uses
runtime code generation to generate the PLT stubs. Secure-PLT was
introduced with GCC 4.1 and Binutils 2.17 (base has GCC 4.2.1 and
Binutils 2.17), and is a more secure PLT format, using a read-only
linkage table, with the dynamic linker populating a non-executable
index table."
This option is always enabled by glibc testing script
called build-many-glibcs.py [1]. This script exist since
glibc 2.25.
Runtime tested with qemu_ppc64_e5500_defconfig.
[1] https://reviews.freebsd.org/D20598
[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=scripts/build-many-glibcs.py;h=9c08ab7b326e6385abb835eb32dd143952a71942;hb=9826b03b747b841f5fc6de2054bf1ef3f5c4bdf3#l345
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Matt Weber <matthew.weber@collins.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Backport from upstream mailing list patch from Heiko Thiery which fixes
missing {name_to,open_by}_handle_at() on uclibc-ng < 1.0.35.
Drop patch from v5.8.0.
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Dick Olsson <hi@senzilla.io>
[yann.morin.1998@free.fr: drop files from patches not applied]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Boot a QEMU sbsa-ref machine with ATF, EDK2, GRUB2 and a minimal
kernel. This is a simple but effective test of a compliant setup.
Signed-off-by: Dick Olsson <hi@senzilla.io>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This introduces a configuration for the SBSA reference machine under
QEMU that is intended for developing and testing firmware. It consists
of ATF that load EDK2 as BL33 which in turn will load GRUB2.
Included with the board files is a minimal kernel configuration, almost
identical to that of board/qemu/aarch64-virt/linux.config. The main
difference is the addition of ACPI which is preferred over DTB for
booting an UEFI system.
Signed-off-by: Dick Olsson <hi@senzilla.io>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
EDK2 is a modern, feature-rich, cross-platform firmware development
environment for the UEFI and PI specifications.
The initial version of this bootloader package makes it possible to
build firmware for the following seven configurations:
* QEMU x86-64 pc machine
* QEMU aarch64 virt machine, booting directly from flash
* QEMU aarch64 virt machine, booting via the kernel protocol
* QEMU aarch64 sbsa-ref machine
* ARM FVP vexpress machine
* Socionext SynQuacer Developerbox
* SolidRun MacchiatoBin
Support the use of EDK2 UEFI payloads as BL33 in ARM Trusted Firmware.
Signed-off-by: Dick Olsson <hi@senzilla.io>
[yann.morin.1998@free.fr:
- duplicate defaults in Config.in
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
EDK2 firmware is usually built from two sources; the core EDK2
environment, and additional platform description files maintained
separately. This package adds the latter set of description files to
staging so that the core EDK2 package can build with these for certain
platforms during the building process.
Signed-off-by: Dick Olsson <hi@senzilla.io>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The riscv support has been added since v7.6.4 release.
137643f141
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
[yann.morin.1998@free.fr:
- split the long line
- reorder the archs alphabetically, and group related ones
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Backport an upstream patch fixing a link issue with libgc.so on RISC-V
riscv64-buildroot-linux-musl/sysroot/usr/lib/libgc.so: undefined reference to `__data_start'
https://gitlab.com/kubu93/buildroot/-/jobs/1229888983
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>