summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac53
-rw-r--r--fdisks/Makemodule.am7
-rw-r--r--misc-utils/Makemodule.am12
-rw-r--r--term-utils/Makemodule.am7
-rw-r--r--text-utils/Makemodule.am27
5 files changed, 54 insertions, 52 deletions
diff --git a/configure.ac b/configure.ac
index 098692c9f..c7c66bcd8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -595,25 +595,50 @@ AM_CONDITIONAL([HAVE_NCURSES], [false])
AS_IF([test "x$with_ncurses" != xno], [
have_ncurses=no
- AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
- AS_IF([test "x$with_ncurses" = xauto], [
- UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
- AS_IF([test "x$have_ncurses" = xyes], [
- AC_CHECK_HEADERS([ncursesw/ncurses.h])
- NCURSES_LIBS="-lncursesw"
+
+ dnl First try to find the pkg-config module.
+ PKG_CHECK_MODULES(NCURSESW, [ncursesw], [
+ have_ncurses=yes
+ NCURSES_LIBS=${NCURSESW_LIBS}
+ NCURSES_CFLAGS=${NCURSESW_CFLAGS}
+ AC_DEFINE([HAVE_LIBNCURSESW])
+ ], [
+ PKG_CHECK_MODULES(NCURSES, [ncurses], [
+ have_ncurses=yes
+ AC_DEFINE([HAVE_LIBNCURSES])
+ ], [:])
+ ])
+
+ AS_IF([test "x$have_ncurses" = xyes], [
+ dnl If that worked, setup the defines that the code expects.
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $NCURSES_CFLAGS"
+ AC_CHECK_HEADERS([ncurses.h])
+ CPPFLAGS="$save_CPPFLAGS"
+ ], [
+ dnl If that failed, fall back to classic searching.
+ AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
+ AS_IF([test "x$with_ncurses" = xauto], [
+ UL_CHECK_LIB([ncursesw], [initscr], [ncurses])
+ AS_IF([test "x$have_ncurses" = xyes], [
+ AC_CHECK_HEADERS([ncursesw/ncurses.h])
+ NCURSES_LIBS="-lncursesw"
+ ])
])
- ])
- AS_IF([test "x$have_ncurses" = xno], [
- UL_CHECK_LIB(ncurses, initscr)
- AS_IF([test "x$have_ncurses" = xyes], [
- NCURSES_LIBS="-lncurses"
+ AS_IF([test "x$have_ncurses" = xno], [
+ UL_CHECK_LIB(ncurses, initscr)
+ AS_IF([test "x$have_ncurses" = xyes], [
+ NCURSES_LIBS="-lncurses"
+ ])
])
])
])
+
AS_IF([test "x$have_ncurses" = xno], [
AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
])
])
+AC_SUBST([NCURSES_CFLAGS])
AC_SUBST([NCURSES_LIBS])
@@ -642,9 +667,11 @@ AM_CONDITIONAL([HAVE_SLANG], [test "x$have_slang" = xyes])
AM_CONDITIONAL([BUILD_CFDISK], [test "x$have_slang" = xyes -o "x$have_ncurses" = xyes])
-have_tinfo=no
AC_CHECK_LIB([tinfo], [tgetent], [have_tinfo=yes])
-AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes])
+AS_IF([test "x$have_tinfo" = xyes], [
+ TINFO_LIBS="-ltinfo"
+])
+AC_SUBST([TINFO_LIBS])
AC_ARG_WITH([utempter],
diff --git a/fdisks/Makemodule.am b/fdisks/Makemodule.am
index f2c594cc3..239e8aee0 100644
--- a/fdisks/Makemodule.am
+++ b/fdisks/Makemodule.am
@@ -56,7 +56,7 @@ if BUILD_CFDISK
sbin_PROGRAMS += cfdisk
dist_man_MANS += fdisks/cfdisk.8
cfdisk_SOURCES = fdisks/cfdisk.c
-cfdisk_CFLAGS =
+cfdisk_CFLAGS = $(AM_CFLAGS)
cfdisk_LDADD = $(LDADD) libcommon.la
if BUILD_LIBBLKID
@@ -67,9 +67,8 @@ endif
if HAVE_SLANG
cfdisk_LDADD += -lslang
else
-if HAVE_NCURSES
-cfdisk_LDADD += @NCURSES_LIBS@
-endif
+cfdisk_CFLAGS += $(NCURSES_CFLAGS)
+cfdisk_LDADD += $(NCURSES_LIBS)
endif
endif # BUILD_CFDISK
diff --git a/misc-utils/Makemodule.am b/misc-utils/Makemodule.am
index fcfec7bac..70bb33988 100644
--- a/misc-utils/Makemodule.am
+++ b/misc-utils/Makemodule.am
@@ -10,19 +10,11 @@ if !HAVE_LANGINFO
cal_SOURCES += lib/langinfo.c
endif
-cal_LDADD = $(LDADD) libcommon.la
-
-if HAVE_TINFO
-cal_LDADD += -ltinfo @NCURSES_LIBS@
-else
-if HAVE_NCURSES
-cal_LDADD += @NCURSES_LIBS@
-else
+cal_CFLAGS = $(AM_CFLAGS) $(NCURSES_CFLAGS)
+cal_LDADD = $(LDADD) libcommon.la $(NCURSES_LIBS) $(TINFO_LIBS)
if HAVE_TERMCAP
cal_LDADD += -ltermcap
endif
-endif # !HAVE_NCURSES
-endif # !HAVE_TINFO
usrbin_exec_PROGRAMS += logger
diff --git a/term-utils/Makemodule.am b/term-utils/Makemodule.am
index 470987344..b1c28f2f5 100644
--- a/term-utils/Makemodule.am
+++ b/term-utils/Makemodule.am
@@ -28,11 +28,8 @@ if BUILD_SETTERM
usrbin_exec_PROGRAMS += setterm
dist_man_MANS += term-utils/setterm.1
setterm_SOURCES = term-utils/setterm.c
-if HAVE_TINFO
-setterm_LDADD = $(LDADD) -ltinfo
-else
-setterm_LDADD = $(LDADD) @NCURSES_LIBS@
-endif
+setterm_CFLAGS = $(AM_CFLAGS) $(NCURSES_CFLAGS)
+setterm_LDADD = $(LDADD) $(NCURSES_LIBS) $(TINFO_LIBS)
endif
diff --git a/text-utils/Makemodule.am b/text-utils/Makemodule.am
index d3ebfdc5b..a2b6fe9b2 100644
--- a/text-utils/Makemodule.am
+++ b/text-utils/Makemodule.am
@@ -53,11 +53,8 @@ if BUILD_PG
usrbin_exec_PROGRAMS += pg
dist_man_MANS += text-utils/pg.1
pg_SOURCES = text-utils/pg.c
-pg_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS)
-pg_LDADD = $(LDADD) libcommon.la @NCURSES_LIBS@
-if HAVE_TINFO
-pg_LDADD += -ltinfo
-endif
+pg_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS) $(NCURSES_CFLAGS)
+pg_LDADD = $(LDADD) libcommon.la $(NCURSES_LIBS) $(TINFO_LIBS)
endif # BUILD_PG
@@ -65,12 +62,8 @@ if BUILD_UL
usrbin_exec_PROGRAMS += ul
dist_man_MANS += text-utils/ul.1
ul_SOURCES = text-utils/ul.c
-ul_LDADD = $(LDADD)
-if HAVE_TINFO
-ul_LDADD += -ltinfo
-else
-ul_LDADD += @NCURSES_LIBS@
-endif
+ul_CFLAGS = $(AM_CFLAGS) $(NCURSES_CFLAGS)
+ul_LDADD = $(LDADD) $(NCURSES_LIBS) $(TINFO_LIBS)
endif # BUILD_UL
@@ -78,17 +71,11 @@ if BUILD_MORE
bin_PROGRAMS += more
dist_man_MANS += text-utils/more.1
more_SOURCES = text-utils/more.c
-more_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS)
-more_LDADD = $(LDADD)
-if HAVE_TINFO
-more_LDADD += -ltinfo
-else
-if HAVE_NCURSES
-more_LDADD += @NCURSES_LIBS@
-else
+more_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS) $(NCURSES_CFLAGS)
+more_LDADD = $(LDADD) $(NCURSES_LIBS) $(TINFO_LIBS)
+if HAVE_TERMCAP
more_LDADD += -ltermcap
endif
-endif
check_PROGRAMS += test_more
test_more_SOURCES = $(more_SOURCES)