changeset 926:8a31dd49130d

configure: Improve ncurses detection (use ncursesw if available)
author Mikael Berthe <mikael@lilotux.net>
date Sun, 02 Jul 2006 23:20:07 +0200
parents 442e2f9e8bfb
children ec1e14702d8a
files mcabber/configure.ac
diffstat 1 files changed, 26 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/configure.ac	Sun Jul 02 22:56:06 2006 +0200
+++ b/mcabber/configure.ac	Sun Jul 02 23:20:07 2006 +0200
@@ -26,8 +26,31 @@
 fi
 
 # Checks for libraries.
-AC_CHECK_LIB([ncurses], [initscr], , AC_MSG_ERROR([NCURSES library needed]))
-AC_CHECK_LIB([panel], [new_panel])
+
+AC_CHECK_FUNC(initscr,,
+[
+    cf_ncurses="ncurses"
+    for lib in ncursesw ncurses
+    do
+        AC_CHECK_LIB($lib, waddnwstr, [cf_ncurses="$lib"; break])
+    done
+    AC_CHECK_LIB($cf_ncurses, initscr,
+        [LIBS="$LIBS -l$cf_ncurses"
+         if test "$cf_ncurses" = ncursesw; then
+            AC_CHECK_HEADERS([ncursesw/ncurses.h ncursesw/panel.h],,
+                             AC_MSG_ERROR([Missing header file]))
+         else
+             AC_CHECK_HEADERS([ncurses/ncurses.h ncurses/panel.h],,
+                 [AC_CHECK_HEADERS([ncurses.h panel.h],,
+                                   AC_MSG_ERROR([Missing header file]))])
+         fi
+        ],
+        [CF_CURSES_LIBS])
+])
+
+AC_CHECK_LIB([panelw], [new_panel],,
+             AC_CHECK_LIB([panel], [new_panel])
+            )
 
 AC_CHECK_DECLS([strptime],,,
 [#define _GNU_SOURCE
@@ -38,8 +61,7 @@
 AC_CHECK_HEADERS([arpa/inet.h fcntl.h locale.h netdb.h netinet/in.h stddef.h \
                   stdlib.h string.h strings.h sys/socket.h sys/time.h \
                   syslog.h termios.h unistd.h getopt.h])
-AC_CHECK_HEADERS([ncurses.h panel.h getopt.h], ,
-                 AC_MSG_ERROR([Missing header file]))
+AC_CHECK_HEADERS([getopt.h], , AC_MSG_ERROR([Missing header file]))
 AC_VAR_TIMEZONE_EXTERNALS
 
 # Checks for typedefs, structures, and compiler characteristics.