summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac41
-rw-r--r--fdisk/Makefile.am2
-rw-r--r--misc-utils/Makefile.am6
-rw-r--r--text-utils/Makefile.am8
4 files changed, 37 insertions, 20 deletions
diff --git a/configure.ac b/configure.ac
index 50e8b6ffe..6ca6ec084 100644
--- a/configure.ac
+++ b/configure.ac
@@ -196,18 +196,35 @@ else
ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@Latn sr sv ta te th tr uk ur vi zh_CN zh_TW zu"
fi
-have_ncurses=no
-AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [have_ncurses=yes])
-case $have_ncurses in
-yes)
- AC_MSG_NOTICE([you have ncurses])
- AC_DEFINE(HAVE_NCURSES, 1, [Do we have -lncurses?])
- ;;
-no)
- AC_MSG_NOTICE([you do not have ncurses])
- ;;
-esac
-AM_CONDITIONAL(HAVE_NCURSES, test x$have_ncurses = xyes)
+AC_ARG_WITH([ncurses],
+ AS_HELP_STRING([--with-ncurses], [build with non-wide ncurses, default is wide version
+ (--without-ncurses disables all ncurses(w) support)]),
+ [], with_ncurses=auto
+)
+AM_CONDITIONAL(HAVE_NCURSES, false)
+
+if test "x$with_ncurses" != xno; then
+ have_ncurses=no
+ AC_CHECK_HEADERS([ncurses.h ncurses/ncurses.h], [
+ if test "x$with_ncurses" = xauto; then
+ UTIL_CHECK_LIB(ncursesw, tputs, ncurses)
+ if test "x$have_ncurses" = xyes; then
+ NCURSES_LIBS="-lncursesw"
+ fi
+ fi
+ if test x$have_ncurses = xno; then
+ UTIL_CHECK_LIB(ncurses, tputs)
+ if test x$have_ncurses = xyes; then
+ NCURSES_LIBS="-lncurses"
+ fi
+ fi
+ ])
+ if test x$have_ncurses = xno; then
+ AC_MSG_ERROR([ncurses or ncursesw selected, but library not found (--without-ncurses to disable)])
+ fi
+fi
+AC_SUBST([NCURSES_LIBS])
+
AC_ARG_WITH([slang],
AS_HELP_STRING([--with-slang], [compile cfdisk with slang]),
diff --git a/fdisk/Makefile.am b/fdisk/Makefile.am
index 3b9dec5d5..921563f8e 100644
--- a/fdisk/Makefile.am
+++ b/fdisk/Makefile.am
@@ -42,7 +42,7 @@ if HAVE_NCURSES
sbin_PROGRAMS += cfdisk
dist_man_MANS += cfdisk.8
cfdisk_SOURCES = cfdisk.c $(fdisk_common)
-cfdisk_LDADD = -lncurses
+cfdisk_LDADD = @NCURSES_LIBS@
endif
endif
diff --git a/misc-utils/Makefile.am b/misc-utils/Makefile.am
index b799462cb..5441b0157 100644
--- a/misc-utils/Makefile.am
+++ b/misc-utils/Makefile.am
@@ -18,10 +18,10 @@ dist_man_MANS = cal.1 chkdupexe.1 ddate.1 logger.1 look.1 mcookie.1 \
namei.1 script.1 whereis.1 scriptreplay.1
if HAVE_TINFO
-cal_LDADD = -ltinfo -lncurses
+cal_LDADD = -ltinfo @NCURSES_LIBS@
else
if HAVE_NCURSES
-cal_LDADD = -lncurses
+cal_LDADD = @NCURSES_LIBS@
else
if HAVE_TERMCAP
cal_LDADD = -ltermcap
@@ -41,7 +41,7 @@ endif
if HAVE_TINFO
setterm_LDADD = -ltinfo
else
-setterm_LDADD = -lncurses
+setterm_LDADD = @NCURSES_LIBS@
endif
endif
diff --git a/text-utils/Makefile.am b/text-utils/Makefile.am
index d93af7273..7c724aebc 100644
--- a/text-utils/Makefile.am
+++ b/text-utils/Makefile.am
@@ -14,12 +14,12 @@ bin_PROGRAMS = more
usrbinexec_PROGRAMS += ul pg
if HAVE_TINFO
more_LDADD = -ltinfo
-pg_LDADD = -ltinfo -lncurses
+pg_LDADD = -ltinfo @NCURSES_LIBS@
ul_LDADD = -ltinfo
else
-more_LDADD = -lncurses
-pg_LDADD = -lncurses
-ul_LDADD = -lncurses
+more_LDADD = @NCURSES_LIBS@
+pg_LDADD = @NCURSES_LIBS@
+ul_LDADD = @NCURSES_LIBS@
endif
dist_man_MANS += ul.1 more.1 pg.1
else