]> err.no Git - util-linux/commitdiff
build-sys: use ncursesw (wide version) when possibe
authorKarel Zak <kzak@redhat.com>
Tue, 4 Mar 2008 23:53:24 +0000 (00:53 +0100)
committerKarel Zak <kzak@redhat.com>
Thu, 20 Mar 2008 11:25:15 +0000 (12:25 +0100)
Detect ncursesw and use it in place of ncurses when possible
(default).  Allow people to use classic (non-wide) version by
--with-ncurses or disable all ncurses/ncursesw support by
--without-ncurses.

Co-Author: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
configure.ac
fdisk/Makefile.am
misc-utils/Makefile.am
text-utils/Makefile.am

index 50e8b6ffeb9b13cac79ba98bc41bf9ec4f7e2d03..6ca6ec084599afee768e4f8098ae0653f023c7a5 100644 (file)
@@ -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]),
index 3b9dec5d59152365b991bcbb4864eea2db5864ac..921563f8e0ed49fea64bb08cdd644753fbf9b2dc 100644 (file)
@@ -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
 
index b799462cbe599c20e7816577cb5e504533054e90..5441b015762c514b5e0ca32e5aa56ea794c99196 100644 (file)
@@ -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
 
index d93af727344255c704562b48bce24f05ace2f801..7c724aebc76456354763ae31323492aca9ab6b6c 100644 (file)
@@ -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