]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/configure.in
ncurses 5.3
[ncurses.git] / test / configure.in
index d61d477d691c71934f84b68e480dbd06fe074a69..87b409a02b5816cf78f21262622a859062ee4bdd 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2000,2002 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -26,9 +26,9 @@ dnl sale, use or other dealings in this Software without prior written       *
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl Author: Thomas E. Dickey 1996,1997,1998,2000
+dnl Author: Thomas E. Dickey 1996, etc.
 dnl
-dnl $Id: configure.in,v 1.31 2000/10/15 18:46:17 tom Exp $
+dnl $Id: configure.in,v 1.36 2002/09/07 16:55:23 tom Exp $
 dnl This is a simple configuration-script for the ncurses test programs that
 dnl allows the test-directory to be separately configured against a reference
 dnl system (i.e., sysvr4 curses)
@@ -36,7 +36,7 @@ dnl
 dnl If you're configuring ncurses, you shouldn't need to use this script.
 dnl It's only for testing purposes.
 dnl
-dnl See http://dickey.his.com/autoconf/ for additional information.
+dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.13.20000819)
 AC_INIT(ncurses.c)
@@ -77,6 +77,57 @@ AC_ARG_WITH(5lib,
        [LIBS="-L/usr/5lib $LIBS"
         CPPFLAGS="$CPPFLAGS -I/usr/5include"])
 
+dnl ---------------------------------------------------------------------------
+dnl Check for libutf8
+AC_DEFUN([CF_LIBUTF8],
+[
+AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
+       cf_save_LIBS="$LIBS"
+       LIBS="-lutf8 $LIBS"
+AC_TRY_LINK([
+#include <libutf8.h>],[putwc(0,0);],
+       [cf_cv_libutf8=yes],
+       [cf_cv_libutf8=no])
+       LIBS="$cf_save_LIBS"
+])
+
+if test "$cf_cv_libutf8" = yes ; then
+       AC_DEFINE(HAVE_LIBUTF8_H)
+       LIBS="-lutf8 $LIBS"
+fi
+])dnl
+
+dnl ---------------------------------------------------------------------------
+dnl NcursesW, installed in conventional location
+AC_ARG_WITH(ncursesw,
+       [  --with-ncursesw         use wide ncurses-libraries (installed)],
+       [
+        AC_DEFINE(_GNU_SOURCE)
+        AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
+        AC_CHECK_FUNC(initscr,,[
+        AC_CHECK_LIB(gpm,Gpm_Open)
+        LIB_NAME=ncursesw
+        AC_CHECK_FUNC(putwc,,[CF_LIBUTF8])
+        for p in $HOME /usr/local /usr
+        do
+               if test -f $p/include/ncursesw/curses.h
+               then
+                       CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
+                       test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
+                       test $p != /usr && LIBS="-L$p/lib $LIBS"
+                       break
+               elif test $p != /usr
+               then
+                       if test -f $p/include/curses.h
+                       then
+                               CPPFLAGS="$CPPFLAGS -I$p/include"
+                               LIBS="-L$p/lib $LIBS"
+                               break
+                       fi
+               fi
+        done
+       ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
+
 dnl Ncurses, installed in conventional location
 AC_ARG_WITH(ncurses,
        [  --with-ncurses          use ncurses-libraries (installed)],
@@ -121,8 +172,10 @@ AC_HEADER_TIME
 AC_CHECK_HEADERS( \
 form.h \
 getopt.h \
+locale.h \
 menu.h \
 nc_alloc.h \
+nomacros.h \
 panel.h \
 sys/ioctl.h \
 sys/select.h \
@@ -132,8 +185,10 @@ unistd.h \
 )
 
 AC_CHECK_FUNCS( \
+getnstr \
 gettimeofday \
 napms \
+resize_term \
 resizeterm \
 strdup \
 use_default_colors \
@@ -141,6 +196,7 @@ vsscanf \
 wresize \
 )
 
+dnl ---------------------------------------------------------------------------
 dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
 dnl It's a character string "SVR4", not documented.
 AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
@@ -159,21 +215,93 @@ rm -f core])
 test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
 
 dnl ---------------------------------------------------------------------------
+dnl Check for likely values of acs_map[]:
+AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
+cf_cv_curses_acs_map=unknown
+for name in acs_map _acs_map __acs_map _nc_acs_map
+do
+AC_TRY_LINK([
+#include <curses.h>
+],[
+$name['k'] = ACS_PLUS
+],[cf_cv_curses_acs_map=$name; break])
+done
+])
+
+test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
+
+dnl ---------------------------------------------------------------------------
+dnl Check for likely values of wacs_map[]:
+AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
+cf_cv_curses_wacs_map=unknown
+for name in wacs_map _wacs_map __wacs_map _nc_wacs
+do
+AC_TRY_LINK([
+#ifndef _XOPEN_SOURCE_EXTENDED
+#define _XOPEN_SOURCE_EXTENDED
+#endif
+#include <curses.h>
+],[
+$name['k'] = *WACS_PLUS        
+],[cf_cv_curses_wacs_map=$name; break])
+done
+])
+
+test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
+
+dnl --------------------------------------------------------------------------- 
+dnl Make an uppercase version of a variable 
+dnl $1=uppercase($2) 
+AC_DEFUN([CF_UPPER], 
+[ 
+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+])dnl 
+
+dnl ---------------------------------------------------------------------------
+dnl Check if curses.h defines the given type
+AC_DEFUN([CF_CURSES_TYPE],
+[
+AC_MSG_CHECKING(for type $1 in curses.h)
+AC_TRY_COMPILE([
+#ifndef _XOPEN_SOURCE_EXTENDED
+#define _XOPEN_SOURCE_EXTENDED
+#endif
+#include <curses.h>],[
+$1 foo
+],cf_result=yes,cf_result=no)
+AC_MSG_RESULT($cf_result)
+if test $cf_result = yes ; then
+       CF_UPPER(cf_result,have_type_$1)
+       AC_DEFINE_UNQUOTED($cf_result)
+else
+       AC_DEFINE_UNQUOTED($1,$2)
+fi
+])dnl
+
+CF_CURSES_TYPE(attr_t,long)
+CF_CURSES_TYPE(mbstate_t,long)
+
+dnl ---------------------------------------------------------------------------
+dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
+dnl older SCO configurations.
 dnl [CF_SYS_TIME_SELECT]
-AC_MSG_CHECKING(if sys/time.h conflicts with sys/select.h)
+
+AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
 AC_CACHE_VAL(cf_cv_sys_time_select,[
 AC_TRY_COMPILE([
-#if HAVE_SYS_TIME_H
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
-#if HAVE_SYS_SELECT_H
+#ifdef HAVE_SYS_SELECT_H
 #include <sys/select.h>
 #endif
 ],[],[cf_cv_sys_time_select=yes],
      [cf_cv_sys_time_select=no])
      ])
 AC_MSG_RESULT($cf_cv_sys_time_select)
-test $cf_cv_sys_time_select = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
+test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
+
 dnl ---------------------------------------------------------------------------
 
 AC_OUTPUT(Makefile,[