ncurses: Prevent LDFLAGS being emitted in .pc files

By default ncurses includes the values of LDFLAGS in its output
pkgconfig .pc files. This causes issues because OE includes options that
are specific to either the build host, or build configuration. These
options are not expected to be embedded in the pkgconfig output that is
installed.

Specifically this change resolves issues with uninative, where uninative
includes '-Wl,--dynamic-linker=' in LDFLAGS in order to force the
building and execution of native binaries against the dynamic linker
provided by uninative. This path is specific to TMPDIR at the time of
build, such that the installed files (and the associated sstate) have
this path. This prevents the sstate from being portable across build
directories/hosts.

(From OE-Core rev: 7b84c9ea009b5452a21233483516de5e070fbe82)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ef960d14bd9cecb9a3b50994636fbd455f06104a)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Nathan Rossi
2020-12-15 08:32:00 +00:00
committed by Richard Purdie
parent d88212ed2c
commit f6afbc7d9e
2 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
From 3b3e87934bb6d8511261d7c3d6e39b4f71849272 Mon Sep 17 00:00:00 2001
From: Nathan Rossi <nathan@nathanrossi.com>
Date: Mon, 14 Dec 2020 13:39:02 +1000
Subject: [PATCH] gen-pkgconfig.in: Do not include LDFLAGS in generated pc
files
Including the LDFLAGS in the pkgconfig output is problematic as OE
includes build host specific paths and options (e.g. uninative and
'-Wl,--dynamic-linker=').
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
---
misc/gen-pkgconfig.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in
index 8f00b824b9..009d215663 100644
--- a/misc/gen-pkgconfig.in
+++ b/misc/gen-pkgconfig.in
@@ -80,7 +80,7 @@ if [ "$includedir" != "/usr/include" ]; then
fi
lib_flags=
-for opt in -L$libdir @LDFLAGS@ @EXTRA_LDFLAGS@ @LIBS@
+for opt in -L$libdir @LIBS@
do
case $opt in
-l*) # LIBS is handled specially below

View File

@@ -2,6 +2,7 @@ require ncurses.inc
SRC_URI += "file://0001-tic-hang.patch \
file://0002-configure-reproducible.patch \
file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \
"
# commit id corresponds to the revision in package version
SRCREV = "a669013cd5e9d6434e5301348ea51baf306c93c4"