mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-08-07 08:16:58 +02:00
tools/util-linux: build with meson
Simplifies Makefile by quite a bit. Added an upstream backport fixing compilation with older OS. Added a curses patch so -Dauto_features=disabled can work properly. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/19598 Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
parent
fd123d6d13
commit
e15d5cf752
@ -14,42 +14,14 @@ PKG_SOURCE_URL:=@KERNEL/linux/utils/$(PKG_NAME)/v2.41
|
|||||||
PKG_HASH:=be9ad9a276f4305ab7dd2f5225c8be1ff54352f565ff4dede9628c1aaa7dec57
|
PKG_HASH:=be9ad9a276f4305ab7dd2f5225c8be1ff54352f565ff4dede9628c1aaa7dec57
|
||||||
PKG_CPE_ID:=cpe:/a:kernel:util-linux
|
PKG_CPE_ID:=cpe:/a:kernel:util-linux
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
|
||||||
|
|
||||||
HOST_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/host-build.mk
|
include $(INCLUDE_DIR)/host-build.mk
|
||||||
|
include $(INCLUDE_DIR)/meson.mk
|
||||||
|
|
||||||
HOST_CONFIGURE_ARGS += \
|
MESON_HOST_ARGS += \
|
||||||
--with-pic \
|
-Dauto_features=disabled \
|
||||||
--disable-shared \
|
-Dbuild-hexdump=enabled \
|
||||||
--disable-nls \
|
-Dbuild-libuuid=enabled \
|
||||||
--disable-all-programs \
|
-Dncurses=enabled \
|
||||||
--enable-hexdump \
|
-Dprogram-tests=false
|
||||||
--enable-libuuid \
|
|
||||||
--without-util \
|
|
||||||
--without-selinux \
|
|
||||||
--without-audit \
|
|
||||||
--without-udev \
|
|
||||||
--without-ncursesw \
|
|
||||||
--without-ncurses \
|
|
||||||
--without-slang \
|
|
||||||
--without-tinfo \
|
|
||||||
--without-readline \
|
|
||||||
--without-utempter \
|
|
||||||
--without-cap-ng \
|
|
||||||
--without-libz \
|
|
||||||
--without-libmagic \
|
|
||||||
--without-user \
|
|
||||||
--without-btrfs \
|
|
||||||
--without-systemd \
|
|
||||||
--without-smack \
|
|
||||||
--without-econf \
|
|
||||||
--without-python \
|
|
||||||
--without-cryptsetup
|
|
||||||
|
|
||||||
define Host/Uninstall
|
|
||||||
-$(call Host/Compile/Default,uninstall)
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call HostBuild))
|
$(eval $(call HostBuild))
|
||||||
|
24
tools/util-linux/patches/010-meson-curses.patch
Normal file
24
tools/util-linux/patches/010-meson-curses.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
From c1ca5ec4a5c6a0e4acbdcc6ff4e4fa2109c1ec24 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rosen Penev <rosenp@gmail.com>
|
||||||
|
Date: Wed, 30 Jul 2025 14:13:07 -0700
|
||||||
|
Subject: [PATCH] meson: use curses for the non wide version
|
||||||
|
|
||||||
|
The curses dependency in meson in special in that it uses a combination
|
||||||
|
of pkg-config, config-tool, and various system lookups to find it.
|
||||||
|
|
||||||
|
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
||||||
|
---
|
||||||
|
meson.build | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -289,7 +289,7 @@ if lib_ncursesw.found()
|
||||||
|
lib_ncurses = disabler()
|
||||||
|
else
|
||||||
|
lib_ncurses = dependency(
|
||||||
|
- 'ncurses',
|
||||||
|
+ 'curses',
|
||||||
|
disabler : true,
|
||||||
|
required : get_option('ncurses'))
|
||||||
|
headers += ['ncurses.h',
|
@ -0,0 +1,23 @@
|
|||||||
|
From 946c0b9c6f6481ed9370b8bd0f54a622a0c4a574 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martin Valgur <martin.valgur@gmail.com>
|
||||||
|
Date: Tue, 15 Apr 2025 16:19:21 +0300
|
||||||
|
Subject: [PATCH] meson: fix a bug in posixipc_libs configuration
|
||||||
|
|
||||||
|
Should append instead of assigning. Otherwise fails with
|
||||||
|
|
||||||
|
meson.build:1482:22: ERROR: Object <[ExternalLibraryHolder] holds [ExternalLibrary]: <ExternalLibrary rt: True>> of type ExternalLibrary does not support the `+` operator.
|
||||||
|
---
|
||||||
|
meson.build | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -1473,7 +1473,7 @@ has_seminfo_type = cc.has_type('struct s
|
||||||
|
|
||||||
|
posixipc_libs = []
|
||||||
|
if not cc.has_function('shm_open') and conf.get('HAVE_SYS_MMAN_H').to_string() == '1'
|
||||||
|
- posixipc_libs = cc.find_library('rt', required : true)
|
||||||
|
+ posixipc_libs += cc.find_library('rt', required : true)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if not cc.has_function('sem_close') and conf.get('HAVE_SEMAPHORE_H').to_string() == '1'
|
@ -1,23 +0,0 @@
|
|||||||
From 15bc69131a1e08019096251ea848104e57d99a12 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rosen Penev <rosenp@gmail.com>
|
|
||||||
Date: Sun, 27 Jul 2025 11:55:56 -0700
|
|
||||||
Subject: [PATCH] move libpthread to Libs
|
|
||||||
|
|
||||||
OpewWrt uses static host libraries and as such dependant libraries must
|
|
||||||
be moved to public Libs. meson handles this automatically but Autotools
|
|
||||||
does not.
|
|
||||||
|
|
||||||
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
||||||
---
|
|
||||||
libuuid/uuid.pc.in | 3 +--
|
|
||||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/libuuid/uuid.pc.in
|
|
||||||
+++ b/libuuid/uuid.pc.in
|
|
||||||
@@ -7,5 +7,4 @@ Name: uuid
|
|
||||||
Description: Universally unique id library
|
|
||||||
Version: @LIBUUID_VERSION@
|
|
||||||
Cflags: -I${includedir}/uuid
|
|
||||||
-Libs.private: @SOCKET_LIBS@ -lpthread
|
|
||||||
-Libs: -L${libdir} -luuid
|
|
||||||
+Libs: -L${libdir} -luuid @SOCKET_LIBS@ -lpthread
|
|
Loading…
Reference in New Issue
Block a user