]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/aclocal.m4
ncurses 6.0 - patch 20180106
[ncurses.git] / test / aclocal.m4
index 960156903dc9037ecfedcf8caa2c4590e2d6daf6..761e412535cedbef9e4ed712457d59085233440a 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 2003-2016,2017 Free Software Foundation, Inc.              *
+dnl Copyright (c) 2003-2017,2018 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,7 +26,7 @@ dnl sale, use or other dealings in this Software without prior written       *
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl $Id: aclocal.m4,v 1.139 2017/08/12 12:12:49 tom Exp $
+dnl $Id: aclocal.m4,v 1.155 2018/01/05 01:37:04 tom Exp $
 dnl
 dnl Author: Thomas E. Dickey
 dnl
@@ -386,7 +386,7 @@ ifelse([$3],,[    :]dnl
 ])dnl
 ])])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CC_ENV_FLAGS version: 7 updated: 2017/02/25 18:57:40
+dnl CF_CC_ENV_FLAGS version: 8 updated: 2017/09/23 08:50:24
 dnl ---------------
 dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content
 dnl into CC.  This will not help with broken scripts that wrap the compiler
@@ -410,7 +410,7 @@ case "$CC" in
        AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options)
        # humor him...
        cf_prog=`echo "$CC" | sed -e 's/        / /g' -e 's/[[ ]]* / /g' -e 's/[[ ]]*[[ ]]-[[^ ]].*//'`
-       cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", substr([$]0,1+length(prog))); }'`
+       cf_flags=`echo "$CC" | ${AWK:-awk} -v prog="$cf_prog" '{ printf("%s", [substr]([$]0,1+length(prog))); }'`
        CC="$cf_prog"
        for cf_arg in $cf_flags
        do
@@ -490,17 +490,61 @@ AC_TRY_LINK([#include <stdio.h>],[printf("Hello world");],,
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_CURSES_LIB version: 1 updated: 2015/04/25 20:53:11
+dnl CF_CHECK_CURSES_LIB version: 2 updated: 2018/01/03 04:47:33
 dnl -------------------
 dnl $1 = nominal library name, used also for header lookup
 dnl $2 = suffix to append to library name
 dnl $3 = function to check for using AC_CHECK_LIB
+dnl $4 = optional parameter list for $3
 AC_DEFUN([CF_CHECK_CURSES_LIB],
 [
-AC_CHECK_LIB($1$2,$3,[
-CF_UPPER(cf_upper,have_lib$1)
-CF_ADD_LIBS(-l$1$2)
-AC_DEFINE_UNQUOTED($cf_upper,1)])
+AC_REQUIRE([CF_PKG_CONFIG])
+
+cf_have_curses_lib=no
+
+: ${NCURSES_CONFIG_PKG:=none}
+if test "x${NCURSES_CONFIG_PKG}" = xnone; then
+       :
+elif test "x${PKG_CONFIG:=none}" != xnone; then
+       AC_MSG_CHECKING(pkg-config for $1$2)
+       if "$PKG_CONFIG" --exists $1$2 ; then
+               AC_MSG_RESULT(yes)
+
+               AC_MSG_CHECKING(if the $1$2 package files work)
+
+               cf_save_CPPFLAGS="$CPPFLAGS"
+               cf_save_LIBS="$LIBS"
+
+               CF_ADD_CFLAGS(`$PKG_CONFIG --cflags $1$2`)
+               CF_ADD_LIBS(`$PKG_CONFIG --libs $1$2`)
+
+               AC_TRY_LINK([#include <$1.h>],
+                       [(void) $3 ( ]ifelse([$4],,,[[$4]])[ );],
+                       [AC_TRY_RUN([#include <$1.h>
+                               int main(void)
+                               { (void) $3 ( ]ifelse([$4],,,[[$4]])[ ); return 0; }],
+                               [cf_have_curses_lib=yes],
+                               [cf_have_curses_lib=no],
+                               [cf_have_curses_lib=maybe])],
+                       [cf_have_curses_lib=no])
+               AC_MSG_RESULT($cf_have_curses_lib)
+               test "$cf_have_curses_lib" = maybe && cf_have_curses_lib=yes
+               if test "$cf_have_curses_lib" != "yes"
+               then
+                       CPPFLAGS="$cf_save_CPPFLAGS"
+                       LIBS="$cf_save_LIBS"
+               else
+                       CF_UPPER(cf_upper,have_lib$1)
+                       AC_DEFINE_UNQUOTED($cf_upper,1)
+               fi
+       fi
+fi
+if test "$cf_have_curses_lib" = no; then
+       AC_CHECK_LIB($1$2,$3,[
+               CF_UPPER(cf_upper,have_lib$1)
+               CF_ADD_LIBS(-l$1$2)
+               AC_DEFINE_UNQUOTED($cf_upper,1)])
+fi
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35
@@ -557,7 +601,7 @@ done
 test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map,[Define as needed to override ncurses prefix _nc_])
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_CHECK_DATA version: 6 updated: 2017/07/28 19:05:31
+dnl CF_CURSES_CHECK_DATA version: 7 updated: 2018/01/03 04:47:33
 dnl --------------------
 dnl Check if curses.h defines the given data/variable.
 dnl Use this after CF_NCURSES_CONFIG or CF_CURSES_CONFIG.
@@ -589,7 +633,7 @@ extern char $cf_data;
 int main(void)
 {
        void *foo = &($cf_data);
-       fprintf(stderr, "testing linkage of $cf_data:%p\n", foo);
+       fprintf(stderr, "testing linkage of $cf_data:%p\n", (void *)foo);
        ${cf_cv_main_return:-return}(foo == 0);
 }],[cf_result=yes
 ],[cf_result=no],[
@@ -598,7 +642,7 @@ int main(void)
 [extern char $cf_data;],[
        do {
                void *foo = &($cf_data);
-               fprintf(stderr, "testing linkage of $cf_data:%p\n", foo);
+               fprintf(stderr, "testing linkage of $cf_data:%p\n", (void *)foo);
                ${cf_cv_main_return:-return}(foo == 0);
        } while (0)
 ],[cf_result=yes],[cf_result=no])
@@ -678,7 +722,7 @@ CF_CURSES_HEADER
 CF_TERM_HEADER
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_FUNCS version: 18 updated: 2014/07/19 18:44:41
+dnl CF_CURSES_FUNCS version: 19 updated: 2018/01/03 04:47:33
 dnl ---------------
 dnl Curses-functions are a little complicated, since a lot of them are macros.
 AC_DEFUN([CF_CURSES_FUNCS],
@@ -699,9 +743,9 @@ do
                        [
 #ifndef ${cf_func}
 long foo = (long)(&${cf_func});
-fprintf(stderr, "testing linkage of $cf_func:%p\n", foo);
-if (foo + 1234 > 5678)
-       ${cf_cv_main_return:-return}(foo);
+fprintf(stderr, "testing linkage of $cf_func:%p\n", (void *)foo);
+if (foo + 1234L > 5678L)
+       ${cf_cv_main_return:-return}(foo != 0);
 #endif
                        ],
                        [cf_result=yes],
@@ -745,7 +789,7 @@ fi
 AC_CHECK_HEADERS($cf_cv_ncurses_header)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CURSES_LIBS version: 39 updated: 2015/05/10 19:52:14
+dnl CF_CURSES_LIBS version: 41 updated: 2017/12/31 19:23:43
 dnl --------------
 dnl Look for the curses libraries.  Older curses implementations may require
 dnl termcap/termlib to be linked as well.  Call CF_CURSES_CPPFLAGS first.
@@ -827,7 +871,10 @@ if test ".$ac_cv_func_initscr" != .yes ; then
                AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
                        for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown
                        do
-                               AC_CHECK_LIB($cf_term_lib,tgoto,[break])
+                               AC_CHECK_LIB($cf_term_lib,tgoto,[
+                                       : ${cf_nculib_root:=$cf_term_lib}
+                                       break
+                               ])
                        done
                ])
        fi
@@ -838,36 +885,35 @@ if test ".$ac_cv_func_initscr" != .yes ; then
        then
                for cf_curs_lib in $cf_check_list xcurses jcurses pdcurses unknown
                do
-                       AC_CHECK_LIB($cf_curs_lib,initscr,[break])
+                       LIBS="-l$cf_curs_lib $cf_save_LIBS"
+                       if test "$cf_term_lib" = unknown || test "$cf_term_lib" = "$cf_curs_lib" ; then
+                               AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
+                               AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+                                       [initscr()],
+                                       [cf_result=yes],
+                                       [cf_result=no])
+                               AC_MSG_RESULT($cf_result)
+                               test $cf_result = yes && break
+                       elif test "$cf_curs_lib" = "$cf_term_lib" ; then
+                               cf_result=no
+                       elif test "$cf_term_lib" != predefined ; then
+                               AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
+                               AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+                                       [initscr(); tgoto((char *)0, 0, 0);],
+                                       [cf_result=no],
+                                       [
+                                       LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
+                                       AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+                                               [initscr()],
+                                               [cf_result=yes],
+                                               [cf_result=error])
+                                       ])
+                               AC_MSG_RESULT($cf_result)
+                               test $cf_result != error && break
+                       fi
                done
        fi
        test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found)
-
-       LIBS="-l$cf_curs_lib $cf_save_LIBS"
-       if test "$cf_term_lib" = unknown ; then
-               AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
-               AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
-                       [initscr()],
-                       [cf_result=yes],
-                       [cf_result=no])
-               AC_MSG_RESULT($cf_result)
-               test $cf_result = no && AC_MSG_ERROR(Cannot link curses library)
-       elif test "$cf_curs_lib" = "$cf_term_lib" ; then
-               :
-       elif test "$cf_term_lib" != predefined ; then
-               AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
-               AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
-                       [initscr(); tgoto((char *)0, 0, 0);],
-                       [cf_result=no],
-                       [
-                       LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
-                       AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
-                               [initscr()],
-                               [cf_result=yes],
-                               [cf_result=error])
-                       ])
-               AC_MSG_RESULT($cf_result)
-       fi
 fi
 fi
 
@@ -1179,7 +1225,7 @@ if test "x$with_string_hacks" = "xyes"; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_WARNINGS version: 4 updated: 2009/07/26 17:53:03
+dnl CF_ENABLE_WARNINGS version: 5 updated: 2017/09/29 20:01:16
 dnl ------------------
 dnl Configure-option to enable gcc warnings
 AC_DEFUN([CF_ENABLE_WARNINGS],[
@@ -1194,7 +1240,7 @@ AC_MSG_RESULT($with_warnings)
 if test "$with_warnings" = "yes"
 then
        CF_GCC_ATTRIBUTES
-       CF_GCC_WARNINGS
+       CF_GCC_WARNINGS($1)
 fi
 fi
 ])dnl
@@ -2058,7 +2104,7 @@ printf("old\n");
        ,[$1=no])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CONFIG version: 18 updated: 2017/07/23 18:30:00
+dnl CF_NCURSES_CONFIG version: 20 updated: 2018/01/03 04:47:33
 dnl -----------------
 dnl Tie together the configure-script macros for ncurses, preferring these in
 dnl order:
@@ -2105,8 +2151,8 @@ if test "x${PKG_CONFIG:=none}" != xnone; then
                else
                        AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries])
                        NCURSES_CONFIG_PKG=$cf_ncuconfig_root
+                       CF_TERM_HEADER
                fi
-               CF_TERM_HEADER
 
        else
                AC_MSG_RESULT(no)
@@ -2117,11 +2163,11 @@ else
 fi
 
 if test "x$cf_have_ncuconfig" = "xno"; then
-       echo "Looking for ${cf_ncuconfig_root}-config"
+       cf_ncurses_config="${cf_ncuconfig_root}${NCURSES_CONFIG_SUFFIX}-config"; echo "Looking for ${cf_ncurses_config}"
 
        CF_ACVERSION_CHECK(2.52,
-               [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncuconfig_root}-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
-               [AC_PATH_PROGS(NCURSES_CONFIG,  ${cf_ncuconfig_root}-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
+               [AC_CHECK_TOOLS(NCURSES_CONFIG, ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)],
+               [AC_PATH_PROGS(NCURSES_CONFIG,  ${cf_ncurses_config} ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}6-config ${cf_ncuconfig_root}5-config, none)])
 
        if test "$NCURSES_CONFIG" != none ; then
 
@@ -3462,6 +3508,92 @@ CF_NO_LEAKS_OPTION(valgrind,
        [USE_VALGRIND])
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_WITH_X11_RGB version: 1 updated: 2017/11/25 17:32:16
+dnl ---------------
+dnl Handle configure option "--with-x11-rgb", setting these shell
+dnl variables:
+dnl
+dnl $RGB_PATH is the option value, used for finding the X11 rgb file.
+dnl $no_x11_rgb is a "#" (comment) if "--without-x11-rgb" is given.
+dnl
+dnl Most Linux's use this:
+dnl    /usr/share/X11/rgb.txt
+dnl Debian uses this:
+dnl    /etc/X11/rgb.txt
+dnl DragonFlyBSD ports uses this:
+dnl    /usr/pkg/lib/X11/rgb.txt
+dnl FreeBSD ports use these:
+dnl    /usr/local/lib/X11/rgb.txt
+dnl    /usr/local/share/X11/rgb.txt
+dnl Mandriva has these:
+dnl    /usr/lib/X11/rgb.txt
+dnl    /usr/lib64/X11/rgb.txt
+dnl NetBSD has these
+dnl    /usr/X11R7/lib/X11/rgb.txt
+dnl OpenSolaris uses
+dnl    32-bit:
+dnl    /usr/X11/etc/X11/rgb.txt
+dnl    /usr/X11/share/X11/rgb.txt
+dnl    /usr/X11/lib/X11/rgb.txt
+dnl OSX uses
+dnl            /opt/local/share/X11/rgb.txt (MacPorts)
+dnl            /opt/X11/share/X11/rgb.txt (non-ports)
+dnl    64-bit:
+dnl    /usr/X11/etc/X11/rgb.txt
+dnl    /usr/X11/share/X11/rgb.txt (perhaps)
+dnl    /usr/X11/lib/amd64/X11/rgb.txt
+dnl Solaris10 uses (in this order):
+dnl    /usr/openwin/lib/X11/rgb.txt
+dnl    /usr/X11/lib/X11/rgb.txt
+AC_DEFUN([CF_WITH_X11_RGB],[
+AC_MSG_CHECKING(for X11 rgb file)
+AC_ARG_WITH(x11-rgb,
+       [  --with-x11-rgb=FILE   file containing X11 rgb information (EPREFIX/lib/X11/rgb.txt)],
+       [RGB_PATH=$withval],
+       [RGB_PATH=auto])
+
+if test "x[$]RGB_PATH" = xauto
+then
+       RGB_PATH='${exec_prefix}/lib/X11/rgb.txt'
+       for cf_path in \
+               /opt/local/share/X11/rgb.txt \
+               /opt/X11/share/X11/rgb.txt \
+               /usr/share/X11/rgb.txt \
+               /usr/X11/share/X11/rgb.txt \
+               /usr/X11/lib/X11/rgb.txt \
+               /usr/lib/X11/rgb.txt \
+               /etc/X11/rgb.txt \
+               /usr/pkg/lib/X11/rgb.txt \
+               /usr/X11R7/lib/X11/rgb.txt \
+               /usr/X11R6/lib/X11/rgb.txt \
+               /usr/X11R5/lib/X11/rgb.txt \
+               /usr/X11R4/lib/X11/rgb.txt \
+               /usr/local/lib/X11/rgb.txt \
+               /usr/local/share/X11/rgb.txt \
+               /usr/lib64/X11/rgb.txt
+       do
+               if test -f "$cf_path" ; then
+                       RGB_PATH="$cf_path"
+                       break
+               fi
+       done
+else
+       cf_path=$RGB_PATH
+       CF_PATH_SYNTAX(cf_path)
+fi
+
+AC_MSG_RESULT($RGB_PATH)
+AC_SUBST(RGB_PATH)
+AC_DEFINE_UNQUOTED(RGB_PATH,"$cf_path")
+
+no_x11_rgb=
+if test "$RGB_PATH" = no
+then
+       no_x11_rgb="#"
+fi
+AC_SUBST(no_x11_rgb)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_XOPEN_CURSES version: 13 updated: 2015/12/12 20:59:52
 dnl ---------------
 dnl Test if we should define X/Open source for curses, needed on Digital Unix