summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/utils/dtc/Makefile2
-rw-r--r--package/utils/dtc/patches/010-both-libraries.patch48
2 files changed, 49 insertions, 1 deletions
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 <rosenp@gmail.com>
+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 <rosenp@gmail.com>
+Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
+---
+ 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(