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>
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>
Order of the `sed` expressions is important; when this was commited
to master, the order of the expressions from the original patch [1] was
changed, rendering the second expression to noop.
This made all the environment variables from the script to contain
absolute paths: long absolute paths makes verbose builds difficult
to read/follow.
We can take advantage of the fact that the PATH is updated and we
don't have to use absolute paths.
Fixed by reordering the `sed` expresions:
* first update the path of the binaries: e.g. 's%$(HOST_DIR)/bin/%%g'
* only then update remaining paths: e.g. 's%$(HOST_DIR)%\$$SDK_PATH%g'
[1] https://patchwork.ozlabs.org/project/buildroot/patch/20201027140140.47982-1-matthew.weber@rockwellcollins.com/
Signed-off-by: Mircea GLIGA <mgliga@bitdefender.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>
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>
Branches in the Rappberry Pi linux repository are often rebased, which
means that commits that are not reachable from a reference (tag,branch)
will eventually get garbage-collected.
This is probably what hapenned with the commit we are curently
referencing in our defconfig files.
Swith to using the current HEAD of the rpi-5.10.y brnch, in lieue of the
previous one.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since the mesa3d bump to version 21.0.3 [1], the
BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST option is not supported anymore
since the mesa DRI swrast driver has been removed upstream
So, switch to Gallium swrast.
[1]15a2f9b819806d38a7d8172a20f80130b1d60e63
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
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>
For an unknown reason, gerbera fails to build with -Os and gcc 9 or 10
since bump to version 1.8.0 in commit 8974596836:
[100%] Linking CXX executable gerbera
/home/giuliobenetti/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-gnu/10.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld: liblibgerbera.a(content_manager.cc.o): in function `ContentManager::_rescanDirectory(std::shared_ptr<AutoscanDirectory>&, int, std::shared_ptr<GenericTask> const&)':
content_manager.cc:(.text+0xb53b): undefined reference to `std::__shared_ptr<std::filesystem::__cxx11::_Dir, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<std::filesystem::__cxx11::_Dir, (__gnu_cxx::_Lock_policy)2>&)'
collect2: error: ld returned 1 exit status
A similar build failure has been reported as gcc bug 91067:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91067
But this bug has been fixed since gcc 9.3 and 10.1 and build failures
are raised with gcc 10.2
To fix this build failure, set optimisation to -O2 if needed
Fixes:
- http://autobuild.buildroot.org/results/a4ee8ad7ff93939716673b611c7cc3f68dafa3d0
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@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>