![Thomas Petazzoni](/assets/img/avatar_default.png)
One program of udftools uses the readline library, but fails to build in static linking configurations. In order to fix this, we teach udftools configure.ac to use pkg-config to detect the readline library, and to use the proper flags provided by pkg-config. This obviously requires an autoreconf of the package, and the addition of host-pkgconf in the dependencies. Fixes: http://autobuild.buildroot.net/results/113a94049d89b8f065112e5d4482667a7b7fb843/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
61 lines
2.2 KiB
Diff
61 lines
2.2 KiB
Diff
From bdacf0101fea1dad2c89996b27cb4b9caee9109c Mon Sep 17 00:00:00 2001
|
|
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
Date: Sun, 22 Apr 2018 22:28:09 +0200
|
|
Subject: [PATCH] configure.ac: detect readline via pkg-config when possible
|
|
|
|
pkg-config automatically handles static linking situations, where for
|
|
example readline is linked against ncurses, and therefore -lncurses
|
|
needs to be passed in addition to -lreadline.
|
|
|
|
This proposal uses pkg-config when available. If pkg-config is not
|
|
found, or readline is not found via pkg-config, we fallback to the
|
|
existing AC_CHECK_LIB(). This AC_CHECK_LIB() test is modified to set
|
|
READLINE_LIBS, like PKG_CHECK_MODULES() does. The Makefile.am
|
|
consequently uses READLINE_LIBS instead of hardcoding -lreadline.
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
|
---
|
|
configure.ac | 14 ++++++++++++--
|
|
wrudf/Makefile.am | 2 +-
|
|
2 files changed, 13 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 95fbba3..62b1caa 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -9,8 +9,18 @@ AC_PROG_CC
|
|
AC_DISABLE_SHARED
|
|
AM_PROG_LIBTOOL
|
|
|
|
-dnl Checks for libraries.
|
|
-AC_CHECK_LIB(readline, readline, [ ], AC_MSG_ERROR([cannot find -lreadline.]))
|
|
+PKG_PROG_PKG_CONFIG
|
|
+
|
|
+dnl Checks for libraries, by using pkg-config when available
|
|
+if test -n "${PKG_CONFIG}" ; then
|
|
+ PKG_CHECK_MODULES([READLINE], [readline], [readline_found=yes], [readline_found=no])
|
|
+fi
|
|
+
|
|
+if test "${readline_found}" != "yes" ; then
|
|
+ AC_CHECK_LIB(readline, readline,
|
|
+ [AC_SUBST([READLINE_LIBS], [-lreadline])],
|
|
+ AC_MSG_ERROR([cannot find -lreadline.]))
|
|
+fi
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
diff --git a/wrudf/Makefile.am b/wrudf/Makefile.am
|
|
index fe1c269..e3ab85b 100644
|
|
--- a/wrudf/Makefile.am
|
|
+++ b/wrudf/Makefile.am
|
|
@@ -1,5 +1,5 @@
|
|
bin_PROGRAMS = wrudf
|
|
-wrudf_LDADD = $(top_builddir)/libudffs/libudffs.la -lreadline
|
|
+wrudf_LDADD = $(top_builddir)/libudffs/libudffs.la $(READLINE_LIBS)
|
|
wrudf_SOURCES = wrudf.c wrudf-cmnd.c wrudf-desc.c wrudf-cdrw.c wrudf-cdr.c ide-pc.c wrudf.h ide-pc.h ../include/ecma_167.h ../include/osta_udf.h ../include/bswap.h
|
|
|
|
AM_CPPFLAGS = -I$(top_srcdir)/include -D_GNU_SOURCE -DDEBUG
|
|
--
|
|
2.14.3
|
|
|