From cd5c0054bdd4fae6b6d56fd1c3eee0dce734396e Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Wed, 21 Feb 2024 22:22:02 -0800 Subject: [PATCH] dtc: fix compilation with both libraries Upstream backports. Signed-off-by: Rosen Penev --- package/utils/dtc/Makefile | 2 +- .../dtc/patches/010-both-libraries.patch | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 package/utils/dtc/patches/010-both-libraries.patch diff --git a/package/utils/dtc/Makefile b/package/utils/dtc/Makefile index afec6fbae5..ea970e200a 100644 --- a/package/utils/dtc/Makefile +++ b/package/utils/dtc/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dtc PKG_VERSION:=1.7.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_HASH:=29edce3d302a15563d8663198bbc398c5a0554765c83830d0d4c0409d21a16c4 diff --git a/package/utils/dtc/patches/010-both-libraries.patch b/package/utils/dtc/patches/010-both-libraries.patch new file mode 100644 index 0000000000..ccc547b349 --- /dev/null +++ b/package/utils/dtc/patches/010-both-libraries.patch @@ -0,0 +1,48 @@ +From da39ee0e68b6d9293133a7c41c6cf73354dce337 Mon Sep 17 00:00:00 2001 +From: Rosen Penev +Date: Wed, 21 Feb 2024 13:57:56 -0800 +Subject: [PATCH] libfdt: rework shared/static libraries + +Instead of creating 2 libraries manualy, just call both_libraries and +link to the appropriate one as requested. + +Fixes compilation when passing -Ddefault_libraries=both as the +static_library name is duplicated. + +Signed-off-by: Rosen Penev +Signed-off-by: David Gibson +--- + libfdt/meson.build | 17 +++++------------ + 1 file changed, 5 insertions(+), 12 deletions(-) + +--- a/libfdt/meson.build ++++ b/libfdt/meson.build +@@ -16,7 +16,7 @@ sources = files( + 'fdt_wip.c', + ) + +-libfdt = library( ++libfdt = both_libraries( + 'fdt', sources, + version: '1.6.0', + link_args: ['-Wl,--no-undefined', version_script], +@@ -24,17 +24,12 @@ libfdt = library( + install: true, + ) + +-libfdt_a = static_library( +- 'fdt', sources, +- install: true, +-) +- + libfdt_inc = include_directories('.') + + if static_build +- link_with = libfdt_a ++ link_with = libfdt.get_static_lib() + else +- link_with = libfdt ++ link_with = libfdt.get_shared_lib() + endif + + libfdt_dep = declare_dependency(