forked from pool/util-linux
99 lines
2.9 KiB
Diff
99 lines
2.9 KiB
Diff
|
From ad442a818c6eefabb8258a9949206e12f2296161 Mon Sep 17 00:00:00 2001
|
||
|
From: Karel Zak <kzak@redhat.com>
|
||
|
Date: Tue, 19 Sep 2017 12:55:49 +0200
|
||
|
Subject: [PATCH] build-sys: add libtinfow check
|
||
|
|
||
|
It seems some systems differentiate between tinfo and tinfow. And it
|
||
|
seems that mix ncursesw and tinfo (wide vs. non-wide char) is problem
|
||
|
for the systems.
|
||
|
|
||
|
Note that for example Fedora have ncursesw as well as ncurses, but
|
||
|
only one tinfo library. So, we need fallback this scenario.
|
||
|
|
||
|
Reported-by: Stanislav Brabec <sbrabec@suse.cz>
|
||
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
||
|
---
|
||
|
configure.ac | 24 +++++++++---------------
|
||
|
m4/ul.m4 | 27 +++++++++++++++++++++++++++
|
||
|
2 files changed, 36 insertions(+), 15 deletions(-)
|
||
|
|
||
|
diff --git a/configure.ac b/configure.ac
|
||
|
index c534b49f2..73cf22168 100644
|
||
|
--- a/configure.ac
|
||
|
+++ b/configure.ac
|
||
|
@@ -905,27 +905,21 @@ AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo
|
||
|
[], [with_tinfo=auto]
|
||
|
)
|
||
|
have_tinfo=no
|
||
|
+have_tinfow=no
|
||
|
AS_IF([test "x$with_tinfo" != xno], [
|
||
|
- dnl Try pkg-config for libtinfo
|
||
|
- PKG_CHECK_MODULES(TINFO, [tinfo], [
|
||
|
- dnl pkg-config success
|
||
|
- have_tinfo=yes
|
||
|
- UL_PKG_STATIC([TINFO_LIBS_STATIC], [tinfo])], [
|
||
|
-
|
||
|
- dnl If pkg-config failed, fall back to classic searching.
|
||
|
- AC_CHECK_LIB([tinfo], [tgetent], [
|
||
|
- have_tinfo=yes
|
||
|
- TINFO_LIBS="-ltinfo"
|
||
|
- TINFO_LIBS_STATIC="-ltinfo"
|
||
|
- TINFO_CFLAGS=""])
|
||
|
+ AS_IF([test "x$have_ncursesw" = xyes], [
|
||
|
+ UL_TINFO_CHECK([tinfow])
|
||
|
+ ])
|
||
|
+ AS_IF([test "x$have_tinfow" = xno], [
|
||
|
+ UL_TINFO_CHECK([tinfo])
|
||
|
])
|
||
|
])
|
||
|
AC_SUBST([TINFO_LIBS])
|
||
|
AC_SUBST([TINFO_LIBS_STATIC])
|
||
|
AC_SUBST([TINFO_CFLAGS])
|
||
|
-AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
|
||
|
-AS_IF([test "x$have_tinfo" = xyes], [
|
||
|
- AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])
|
||
|
+AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes -o "x$have_tinfow" = xyes])
|
||
|
+AS_IF([test "x$have_tinfo" = xyes -o "x$have_tinfow" = xyes], [
|
||
|
+ AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo or libtinfow available.])
|
||
|
])
|
||
|
|
||
|
|
||
|
diff --git a/m4/ul.m4 b/m4/ul.m4
|
||
|
index cfd2e68fc..351d9cb6b 100644
|
||
|
--- a/m4/ul.m4
|
||
|
+++ b/m4/ul.m4
|
||
|
@@ -498,3 +498,30 @@ AC_DEFUN([UL_NCURSES_CHECK], [
|
||
|
AS_IF([test "x$have_[]suffix" = xyes], [NCURSES_LIBS="-l[]suffix"])
|
||
|
])
|
||
|
])
|
||
|
+
|
||
|
+dnl
|
||
|
+dnl UL_TINFO_CHECK(NAME)
|
||
|
+dnl
|
||
|
+dnl Initializes $have_<name>, TINFO_LIBS and TINFO_CFLAGS variables.
|
||
|
+dnl
|
||
|
+dnl The expected <name> is tinfow or tinfo.
|
||
|
+dnl
|
||
|
+AC_DEFUN([UL_TINFO_CHECK], [
|
||
|
+ m4_define([suffix], $1)
|
||
|
+ m4_define([SUFFIX], m4_toupper($1))
|
||
|
+
|
||
|
+ PKG_CHECK_MODULES(SUFFIX, [$1], [
|
||
|
+ dnl pkg-config success
|
||
|
+ have_[]suffix=yes
|
||
|
+ TINFO_LIBS=${SUFFIX[]_LIBS}
|
||
|
+ TINFO_CFLAGS=${SUFFIX[]_CFLAGS}
|
||
|
+ UL_PKG_STATIC([TINFO_LIBS_STATIC], [$1])
|
||
|
+ ],[
|
||
|
+ dnl If pkg-config failed, fall back to classic searching.
|
||
|
+ AC_CHECK_LIB([$1], [tgetent], [
|
||
|
+ have_[]suffix=yes
|
||
|
+ TINFO_LIBS="-l[]suffix"
|
||
|
+ TINFO_LIBS_STATIC="-l[]suffix"
|
||
|
+ TINFO_CFLAGS=""])
|
||
|
+ ])
|
||
|
+])
|
||
|
--
|
||
|
2.14.1
|
||
|
|