]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
pseudo: fix link of sqlite3 using pkg-config
authorJens Rehsack <sno@netbsd.org>
Sun, 18 Nov 2018 18:36:46 +0000 (19:36 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 20 Nov 2018 10:11:24 +0000 (10:11 +0000)
If sqlite3 is built with FTS5 it uses log() from libm, it sqlite3 is built
with READLINE it uses tgetent from a curses lib and readline from libreadline,
if it is built using deflate from libz ... , but all that linkage is lost
if we manually statically link so explicitely extract extra static linking
options from pkg-config and force them into pseudo as well.

This commit obsoletes (so include the implicit revert)
    e39fec613d pseudo: fix link with new sqlite3

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/pseudo/files/libm.patch [deleted file]
meta/recipes-devtools/pseudo/pseudo.inc
meta/recipes-devtools/pseudo/pseudo_git.bb

diff --git a/meta/recipes-devtools/pseudo/files/libm.patch b/meta/recipes-devtools/pseudo/files/libm.patch
deleted file mode 100644 (file)
index 1a82979..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-If sqlite3 is built with FTS5 enabled then it links to libm.so for log(), but if
-we statically link to libsqlite3.a then this linkage is lost.
-
-Work around this by always linking to libm.so.
-
-Upstream-Status: Submitted
-Signed-off-by: Ross Burton <ross.burton@intel.com>
-
-From 4633a8750f0966621d258548fba82bc6aa5aa997 Mon Sep 17 00:00:00 2001
-From: Ross Burton <ross.burton@intel.com>
-Date: Tue, 6 Nov 2018 12:13:17 +0000
-Subject: [PATCH] Makefile: sqlite can need libm
-
----
- Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index ad6541b..28b5ecb 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -73,7 +73,7 @@ WRAPOBJS=pseudo_wrappers.o
- # needed for anything that links with pseduo_client.o, pretty much
- CLIENT_LDFLAGS=-ldl -lpthread
--DB_LDFLAGS=@SQLITE_LDARG@ -lpthread
-+DB_LDFLAGS=@SQLITE_LDARG@ -lpthread -lm
- PSEUDO=$(BIN)/pseudo
- PSEUDODB=$(BIN)/pseudodb
--- 
-2.11.0
-
index cdc2a5823f66ce83d1f6efc7d42f1602f9f0cb60..8b05735bb1c1382c7e98b51ff5b97d1a44f0df04 100644 (file)
@@ -17,7 +17,7 @@ PROVIDES += "virtual/fakeroot"
 
 MAKEOPTS = ""
 
-inherit siteinfo
+inherit siteinfo pkgconfig
 
 do_configure () {
        :
@@ -30,10 +30,23 @@ PSEUDO_EXTRA_OPTS ?= "--enable-force-async --without-passwd-fallback --enable-ep
 
 # Compile for the local machine arch...
 do_compile () {
+        SQLITE_LDADD='$(SQLITE)/$(SQLITE_LIB)/libsqlite3.a'
+       for sqlite_link_opt in $(pkg-config sqlite3 --libs --static)
+       do
+           case "$sqlite_link_opt" in
+           -lsqlite3)
+               ;;
+           -l*)
+               SQLITE_LDADD="${SQLITE_LDADD} ${sqlite_link_opt}"
+               ;;
+           *)
+               ;;
+           esac
+       done
        if [ "${SITEINFO_BITS}" = "64" ]; then
-         ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
+         ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib${SITEINFO_BITS} --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath
        else
-         ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --enable-static-sqlite --without-rpath
+         ${S}/configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --cflags="${CFLAGS}" --bits=${SITEINFO_BITS} --with-static-sqlite="$SQLITE_LDADD" --without-rpath
        fi
        oe_runmake ${MAKEOPTS}
 }
index c9a4ecd2e2357d0a520dd7124421d0666e460864..79e0b6bd21aa21efa08f47879e8ea67262fae402 100644 (file)
@@ -2,7 +2,6 @@ require pseudo.inc
 
 SRC_URI = "git://git.yoctoproject.org/pseudo \
            file://0001-configure-Prune-PIE-flags.patch \
-           file://libm.patch \
            file://fallback-passwd \
            file://fallback-group \
            file://moreretries.patch \