summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac14
-rw-r--r--m4/ul.m435
2 files changed, 41 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 61264b1c2..66601ecf3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -778,14 +778,12 @@ AC_ARG_WITH([ncursesw],
)
have_ncursesw=no
AS_IF([test "x$with_ncursesw" != xno], [
- PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
- have_ncursesw=yes
- NCURSES_LIBS=${NCURSESW_LIBS}
- NCURSES_CFLAGS=${NCURSESW_CFLAGS}
+ UL_NCURSES_CHECK([ncursesw])
+ AS_IF([test "x$have_ncursesw" = xyes], [
AC_DEFINE([HAVE_LIBNCURSESW], [1], [Define if ncursesw library available])
CURSES_LIB_NAME="ncursesw"
AC_CHECK_HEADERS([ncursesw/ncurses.h ncurses.h])
- ], [have_ncursesw=no])
+ ])
])
AS_CASE([$with_ncursesw:$have_ncursesw],
[yes:no], [AC_MSG_ERROR([ncursesw selected, but library not found])])
@@ -802,12 +800,12 @@ AS_CASE([$with_ncurses:$build_widechar],
[yes:yes], [AC_MSG_ERROR([wide-char support enabled, but non-wide ncurses selects])])
AS_IF([test "x$have_ncursesw" = xno -a "x$with_ncurses" != xno ], [
- PKG_CHECK_MODULES(NCURSES, [ncurses], [
- have_ncurses=yes
+ UL_NCURSES_CHECK([ncurses])
+ AS_IF([test "x$have_ncurses" = xyes], [
AC_DEFINE([HAVE_LIBNCURSES], [1], [Define if ncurses library available])
CURSES_LIB_NAME="ncurses"
AC_CHECK_HEADERS([ncurses/ncurses.h ncurses.h])
- ],[have_ncurses=no])
+ ])
])
AS_CASE([$with_ncurses:$have_ncurses],
[yes:no], [AC_MSG_ERROR([ncurses selected, but library not found])])
diff --git a/m4/ul.m4 b/m4/ul.m4
index 6c439511d..280e422ae 100644
--- a/m4/ul.m4
+++ b/m4/ul.m4
@@ -428,3 +428,38 @@ AC_DEFUN([UL_DEFAULT_ENABLE], [
enable_[]suffix=$2
fi
])
+
+dnl UL_NCURSES_CHECK(NAME)
+dnl
+dnl Initializes $have_<name>, NCURSES_LIBS and NCURSES_CFLAGS variables according to
+dnl <name>{6,5}_config output.
+dnl
+dnl The expected <name> is ncurses or ncursesw.
+dnl
+AC_DEFUN([UL_NCURSES_CHECK], [
+ m4_define([suffix], $1)
+
+ # ncurses-config should be everywhere, pkg-config is not supported by default
+ # by ncurses upstream
+ #
+ AC_MSG_CHECKING([$1])
+ if AC_RUN_LOG([suffix[]6-config --version >/dev/null]); then
+ have_[]suffix=yes
+ NCURSES_LIBS=`suffix[]6-config --libs`
+ NCURSES_CFLAGS=`suffix[]6-config --cflags`
+ AC_MSG_RESULT([(v6) yes])
+ elif AC_RUN_LOG([suffix[]5-config --version 2>/dev/null]); then
+ have_[]suffix=yes
+ NCURSES_LIBS=`suffix[]5-config --libs`
+ NCURSES_CFLAGS=`suffix[]5-config --cflags`
+ AC_MSG_RESULT([(v5) yes])
+ else
+ AC_MSG_RESULT([no])
+
+ # fallback
+ AC_CHECK_LIB([$1], [initscr], [have_[]suffix=yes], [have_[]suffix=no])
+ AS_IF([test "x$have_[]suffix" = xyes], [
+ NCURSES_LIBS="-l[]suffix"
+ ])
+ fi
+])