endif
noinst_LTLIBRARIES += libtcolors.la
-libtcolors_la_CFLAGS = $(AM_CFLAGS) $(TINFO_CFLAGS)
-libtcolors_la_LIBADD = $(TINFO_LIBS)
+libtcolors_la_CFLAGS = $(AM_CFLAGS)
libtcolors_la_SOURCES = lib/colors.c lib/color-names.c include/colors.h include/color-names.h
+libtcolors_la_LIBADD =
+# tinfo or ncurses are optional
+if HAVE_TINFO
+libtcolors_la_LIBADD += $(TINFO_LIBS)
+libtcolors_la_CFLAGS += $(TINFO_CFLAGS)
+else
+if HAVE_NCURSES
+libtcolors_la_LIBADD += $(NCURSES_LIBS)
+libtcolors_la_CFLAGS += $(NCURSES_CFLAGS)
+endif
+endif # !HAVE_TINFO
dist_man_MANS += lib/terminal-colors.d.5
#include <sys/types.h>
#include <dirent.h>
#include <ctype.h>
-#ifdef HAVE_LIBTINFO
-# include <curses.h>
-# include <term.h>
+
+#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW)
+# ifdef HAVE_TERM_H
+# include <term.h>
+# elif defined(HAVE_NCURSES_TERM_H)
+# include <ncurses/term.h>
+# elif defined(HAVE_NCURSESW_TERM_H)
+# include <ncursesw/term.h>
+# endif
#endif
#include "c.h"
if (isatty(STDOUT_FILENO) != 1)
goto none;
-#ifdef HAVE_LIBTINFO
+#if defined(HAVE_LIBNCURSES) || defined(HAVE_LIBNCURSESW)
{
int ret;
- if (setupterm(NULL, STDOUT_FILENO, &ret) != OK || ret != 1)
+ if (setupterm(NULL, STDOUT_FILENO, &ret) != 0 || ret != 1)
goto none;
ncolors = tigetnum("colors");
if (ncolors <= 2)
goto none;
}
#endif
- DBG(CONF, ul_debug("terminal is ready (supports %d colors)", ncolors));
- return 1;
+ if (ncolors != -1) {
+ DBG(CONF, ul_debug("terminal is ready (supports %d colors)", ncolors));
+ return 1;
+ }
none:
DBG(CONF, ul_debug("terminal is NOT ready"));
return 0;