Skip to content

Commit

Permalink
dtc: fix compilation with both libraries
Browse files Browse the repository at this point in the history
Upstream backports.

Signed-off-by: Rosen Penev <[email protected]>
  • Loading branch information
neheb authored and aparcar committed Mar 29, 2024
1 parent d08ff66 commit cd5c005
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
2 changes: 1 addition & 1 deletion package/utils/dtc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
48 changes: 48 additions & 0 deletions package/utils/dtc/patches/010-both-libraries.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
From da39ee0e68b6d9293133a7c41c6cf73354dce337 Mon Sep 17 00:00:00 2001
From: Rosen Penev <[email protected]>
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 <[email protected]>
Signed-off-by: David Gibson <[email protected]>
---
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(

0 comments on commit cd5c005

Please sign in to comment.