]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - aclocal.m4
ncurses 5.7 - patch 20100403
[ncurses.git] / aclocal.m4
index 392f57bbfad032e6c1cbb265a9f0da13a817f721..1efb9e2036414a21414871c5e9cbd06a55bb48fc 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
-dnl Copyright (c) 1998-2008,2009 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2009,2010 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            *
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.488 2009/07/17 09:14:49 tom Exp $
+dnl $Id: aclocal.m4,v 1.507 2010/04/04 00:07:57 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -62,13 +62,13 @@ AC_DEFUN([AM_LANGINFO_CODESET],
   fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADA_INCLUDE_DIRS version: 5 updated: 2006/10/14 15:23:15
+dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
 dnl -------------------
 dnl Construct the list of include-options for the C programs in the Ada95
 dnl binding.
 AC_DEFUN([CF_ADA_INCLUDE_DIRS],
 [
-ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
+ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
 if test "$srcdir" != "."; then
        ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
 fi
@@ -86,7 +86,7 @@ fi
 AC_SUBST(ACPPFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ADD_CFLAGS version: 8 updated: 2009/01/06 19:33:30
+dnl CF_ADD_CFLAGS version: 9 updated: 2010/01/09 11:05:50
 dnl -------------
 dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS
 dnl The second parameter if given makes this macro verbose.
@@ -112,8 +112,8 @@ no)
                        cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'`
 
                        test "${cf_add_cflags}" != "${cf_tst_cflags}" \
-                       && test -z "${cf_tst_cflags}" \
-                       && cf_fix_cppflags=yes
+                               && test -z "${cf_tst_cflags}" \
+                               && cf_fix_cppflags=yes
 
                        if test $cf_fix_cppflags = yes ; then
                                cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags"
@@ -128,6 +128,12 @@ no)
                *$cf_add_cflags) #(vi
                        ;;
                *) #(vi
+                       case $cf_add_cflags in #(vi
+                       -D*)
+                               cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'`
+                               CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags)
+                               ;;
+                       esac
                        cf_new_cppflags="$cf_new_cppflags $cf_add_cflags"
                        ;;
                esac
@@ -143,8 +149,8 @@ yes)
        cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'`
 
        test "${cf_add_cflags}" != "${cf_tst_cflags}" \
-       && test -z "${cf_tst_cflags}" \
-       && cf_fix_cppflags=no
+               && test -z "${cf_tst_cflags}" \
+               && cf_fix_cppflags=no
        ;;
 esac
 done
@@ -979,7 +985,7 @@ done
 AC_SUBST(DIRS_TO_MAKE)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_DISABLE_LEAKS version: 4 updated: 2006/12/16 15:10:42
+dnl CF_DISABLE_LEAKS version: 5 updated: 2010/03/13 15:14:55
 dnl ----------------
 dnl Combine no-leak checks with the libraries or tools that are used for the
 dnl checks.
@@ -992,7 +998,7 @@ AC_REQUIRE([CF_WITH_VALGRIND])
 AC_MSG_CHECKING(if you want to perform memory-leak testing)
 AC_ARG_ENABLE(leaks,
        [  --disable-leaks         test: free permanent memory, analyze leaks],
-       [with_no_leaks=yes],
+       [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
        : ${with_no_leaks:=no})
 AC_MSG_RESULT($with_no_leaks)
 
@@ -1001,18 +1007,18 @@ if test "$with_no_leaks" = yes ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_RPATH version: 1 updated: 2008/09/13 10:22:30
+dnl CF_ENABLE_RPATH version: 2 updated: 2010/03/27 18:39:42
 dnl ---------------
 dnl Check if the rpath option should be used, setting cache variable
-dnl cf_cv_ld_rpath if so.
+dnl cf_cv_enable_rpath if so.
 AC_DEFUN([CF_ENABLE_RPATH],
 [
 AC_MSG_CHECKING(if rpath option should be used)
 AC_ARG_ENABLE(rpath,
 [  --enable-rpath          use rpath option when generating shared libraries],
-[cf_cv_ld_rpath=$enableval],
-[cf_cv_ld_rpath=no])
-AC_MSG_RESULT($cf_cv_ld_rpath)
+[cf_cv_enable_rpath=$enableval],
+[cf_cv_enable_rpath=no])
+AC_MSG_RESULT($cf_cv_enable_rpath)
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39
@@ -1053,7 +1059,7 @@ AC_MSG_RESULT($cf_result)
 CXXFLAGS="$cf_save_CXXFLAGS"
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_FIND_LINKAGE version: 13 updated: 2008/12/24 07:59:55
+dnl CF_FIND_LINKAGE version: 15 updated: 2010/04/03 18:35:33
 dnl ---------------
 dnl Find a library (specifically the linkage used in the code fragment),
 dnl searching for it if it is not already in the library path.
@@ -1082,9 +1088,19 @@ cf_cv_library_path_$3=
 
 CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
 
-AC_TRY_LINK([$1],[$2],
-    cf_cv_find_linkage_$3=yes,[
+AC_TRY_LINK([$1],[$2],[
+       cf_cv_find_linkage_$3=yes
+],[
+
+cf_save_LIBS="$LIBS"
+LIBS="-l$3 $7 $cf_save_LIBS"
+
+AC_TRY_LINK([$1],[$2],[
+       cf_cv_find_linkage_$3=yes
+       cf_cv_library_file_$3="-l$3"
+],[
     cf_cv_find_linkage_$3=no
+       LIBS="$cf_save_LIBS"
 
     CF_VERBOSE(find linkage for $3 library)
     CF_MSG_LOG([Searching for headers in [FIND_LINKAGE]($3,$6)])
@@ -1154,6 +1170,7 @@ AC_TRY_LINK([$1],[$2],
       cf_cv_find_linkage_$3=no
     fi
     ],$7)
+])
 
 if test "$cf_cv_find_linkage_$3" = yes ; then
 ifelse([$4],,[
@@ -1397,7 +1414,7 @@ esac
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_ATTRIBUTES version: 11 updated: 2007/07/29 09:55:12
+dnl CF_GCC_ATTRIBUTES version: 13 updated: 2009/08/11 20:19:56
 dnl -----------------
 dnl Test for availability of useful gcc __attribute__ directives to quiet
 dnl compiler warnings.  Though useful, not all are supported -- and contrary
@@ -1443,26 +1460,61 @@ extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
 extern void foo(void) GCC_NORETURN;
 int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
 EOF
+       cf_printf_attribute=no
+       cf_scanf_attribute=no
        for cf_attribute in scanf printf unused noreturn
        do
                CF_UPPER(cf_ATTRIBUTE,$cf_attribute)
                cf_directive="__attribute__(($cf_attribute))"
                echo "checking for $CC $cf_directive" 1>&AC_FD_CC
-               case $cf_attribute in
-               scanf|printf)
-               cat >conftest.h <<EOF
+
+               case $cf_attribute in #(vi
+               printf) #(vi
+                       cf_printf_attribute=yes
+                       cat >conftest.h <<EOF
 #define GCC_$cf_ATTRIBUTE 1
 EOF
                        ;;
-               *)
-               cat >conftest.h <<EOF
+               scanf) #(vi
+                       cf_scanf_attribute=yes
+                       cat >conftest.h <<EOF
+#define GCC_$cf_ATTRIBUTE 1
+EOF
+                       ;;
+               *) #(vi
+                       cat >conftest.h <<EOF
 #define GCC_$cf_ATTRIBUTE $cf_directive
 EOF
                        ;;
                esac
+
                if AC_TRY_EVAL(ac_compile); then
                        test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
                        cat conftest.h >>confdefs.h
+                       case $cf_attribute in #(vi
+                       printf) #(vi
+                               if test "$cf_printf_attribute" = no ; then
+                                       cat >>confdefs.h <<EOF
+#define GCC_PRINTFLIKE(fmt,var) /* nothing */
+EOF
+                               else
+                                       cat >>confdefs.h <<EOF
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+EOF
+                               fi
+                               ;;
+                       scanf) #(vi
+                               if test "$cf_scanf_attribute" = no ; then
+                                       cat >>confdefs.h <<EOF
+#define GCC_SCANFLIKE(fmt,var) /* nothing */
+EOF
+                               else
+                                       cat >>confdefs.h <<EOF
+#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+EOF
+                               fi
+                               ;;
+                       esac
                fi
        done
 else
@@ -1712,7 +1764,7 @@ make an error
 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GPP_LIBRARY version: 8 updated: 2003/02/02 01:41:46
+dnl CF_GPP_LIBRARY version: 9 updated: 2009/12/19 13:46:49
 dnl --------------
 dnl If we're trying to use g++, test if libg++ is installed (a rather common
 dnl problem :-).  If we have the compiler but no library, we'll be able to
@@ -1731,7 +1783,7 @@ esac
 if test "$GXX" = yes; then
        AC_MSG_CHECKING([for lib$cf_gpp_libname])
        cf_save="$LIBS"
-       LIBS="$LIBS -l$cf_gpp_libname"
+       LIBS="-l$cf_gpp_libname $LIBS"
        AC_TRY_LINK([
 #include <$cf_gpp_libname/builtin.h>
        ],
@@ -2031,7 +2083,7 @@ done
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_HEADER_PATH version: 9 updated: 2008/12/07 19:38:31
+dnl CF_HEADER_PATH version: 10 updated: 2010/01/17 20:36:17
 dnl --------------
 dnl Construct a search-list of directories for a nonstandard header-file
 dnl
@@ -2040,6 +2092,7 @@ dnl       $1 = the variable to return as result
 dnl    $2 = the package name
 AC_DEFUN([CF_HEADER_PATH],
 [
+$1=
 cf_header_path_list=""
 if test -n "${CFLAGS}${CPPFLAGS}" ; then
        for cf_header_path in $CPPFLAGS $CFLAGS
@@ -2247,7 +2300,61 @@ AC_SUBST(LDFLAGS_STATIC)
 AC_SUBST(LDFLAGS_SHARED)
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_LIBRARY_PATH version: 8 updated: 2008/12/07 19:38:31
+dnl CF_LD_RPATH_OPT version: 2 updated: 2010/03/27 19:27:54
+dnl ---------------
+dnl For the given system and compiler, find the compiler flags to pass to the
+dnl loader to use the "rpath" feature.
+AC_DEFUN([CF_LD_RPATH_OPT],
+[
+AC_REQUIRE([CF_CHECK_CACHE])
+
+LD_RPATH_OPT=
+AC_MSG_CHECKING(for an rpath option)
+case $cf_cv_system_name in #(vi
+irix*) #(vi
+       if test "$GCC" = yes; then
+               LD_RPATH_OPT="-Wl,-rpath,"
+       else
+               LD_RPATH_OPT="-rpath "
+       fi
+       ;;
+linux*|gnu*|k*bsd*-gnu) #(vi
+       LD_RPATH_OPT="-Wl,-rpath,"
+       ;;
+openbsd[[2-9]].*) #(vi
+       LD_RPATH_OPT="-Wl,-rpath,"
+       ;;
+freebsd*) #(vi
+       LD_RPATH_OPT="-rpath "
+       ;;
+netbsd*) #(vi
+       LD_RPATH_OPT="-Wl,-rpath,"
+       ;;
+osf*|mls+*) #(vi
+       LD_RPATH_OPT="-rpath "
+       ;;
+solaris2*) #(vi
+       LD_RPATH_OPT="-R"
+       ;;
+*)
+       ;;
+esac
+AC_MSG_RESULT($LD_RPATH_OPT)
+
+case "x$LD_RPATH_OPT" in #(vi
+x-R*)
+       AC_MSG_CHECKING(if we need a space after rpath option)
+       cf_save_LIBS="$LIBS"
+       LIBS="${LD_RPATH_OPT}$libdir $LIBS"
+       AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
+       LIBS="$cf_save_LIBS"
+       AC_MSG_RESULT($cf_rpath_space)
+       test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
+       ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_LIBRARY_PATH version: 9 updated: 2010/03/28 12:52:50
 dnl ---------------
 dnl Construct a search-list of directories for a nonstandard library-file
 dnl
@@ -2256,6 +2363,7 @@ dnl       $1 = the variable to return as result
 dnl    $2 = the package name
 AC_DEFUN([CF_LIBRARY_PATH],
 [
+$1=
 cf_library_path_list=""
 if test -n "${LDFLAGS}${LIBS}" ; then
        for cf_library_path in $LDFLAGS $LIBS
@@ -3018,16 +3126,20 @@ CF_EOF
 AC_SUBST(cf_cv_makeflags)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
+dnl CF_MAKE_TAGS version: 5 updated: 2010/04/03 20:07:32
 dnl ------------
 dnl Generate tags/TAGS targets for makefiles.  Do not generate TAGS if we have
 dnl a monocase filesystem.
 AC_DEFUN([CF_MAKE_TAGS],[
 AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
-AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
+
+AC_CHECK_PROGS(CTAGS, exctags ctags)
+AC_CHECK_PROGS(ETAGS, exetags etags)
+
+AC_CHECK_PROG(MAKE_LOWER_TAGS, ${CTAGS-ctags}, yes, no)
 
 if test "$cf_cv_mixedcase" = yes ; then
-       AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
+       AC_CHECK_PROG(MAKE_UPPER_TAGS, ${ETAGS-etags}, yes, no)
 else
        MAKE_UPPER_TAGS=no
 fi
@@ -3037,13 +3149,17 @@ if test "$MAKE_UPPER_TAGS" = yes ; then
 else
        MAKE_UPPER_TAGS="#"
 fi
-AC_SUBST(MAKE_UPPER_TAGS)
 
 if test "$MAKE_LOWER_TAGS" = yes ; then
        MAKE_LOWER_TAGS=
 else
        MAKE_LOWER_TAGS="#"
 fi
+
+AC_SUBST(CTAGS)
+AC_SUBST(ETAGS)
+
+AC_SUBST(MAKE_UPPER_TAGS)
 AC_SUBST(MAKE_LOWER_TAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
@@ -3262,7 +3378,7 @@ AC_ARG_WITH(manpage-tbl,
 AC_MSG_RESULT($MANPAGE_TBL)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAN_PAGES version: 35 updated: 2007/03/31 11:47:29
+dnl CF_MAN_PAGES version: 36 updated: 2010/03/13 13:41:01
 dnl ------------
 dnl Try to determine if the man-pages on the system are compressed, and if
 dnl so, what format is used.  Use this information to construct a script that
@@ -3393,7 +3509,7 @@ CF_EOF
                cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
                cf_name=`echo $cf_name|sed "$program_transform_name"`
 cat >>$cf_edit_man <<-CF_EOF
-               s,@$cf_NAME@,$cf_name,
+               s,@$cf_NAME@,$cf_name,g
 CF_EOF
        done
        ])
@@ -3582,7 +3698,7 @@ chmod 755 $cf_edit_man
 
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
+dnl CF_MATH_LIB version: 6 updated: 2009/12/19 13:46:49
 dnl -----------
 dnl Checks for libraries.  At least one UNIX system, Apple Macintosh
 dnl Rhapsody 5.5, does not have -lm.  We cannot use the simpler
@@ -3601,7 +3717,7 @@ AC_CACHE_CHECK(if -lm needed for math functions,
 if test "$cf_cv_need_libm" = yes
 then
 ifelse($1,,[
-       LIBS="$LIBS -lm"
+       LIBS="-lm $LIBS"
 ],[$1=-lm])
 fi
 ])
@@ -3860,7 +3976,7 @@ fi
 AC_SUBST(PKG_CONFIG)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_POSIX_C_SOURCE version: 6 updated: 2005/07/14 20:25:10
+dnl CF_POSIX_C_SOURCE version: 7 updated: 2010/01/09 11:05:50
 dnl -----------------
 dnl Define _POSIX_C_SOURCE to the given level, and _POSIX_SOURCE if needed.
 dnl
@@ -3928,12 +4044,7 @@ make an error
 if test "$cf_cv_posix_c_source" != no ; then
        CFLAGS="$cf_trim_CFLAGS"
        CPPFLAGS="$cf_trim_CPPFLAGS"
-       if test "$cf_cv_cc_u_d_options" = yes ; then
-               cf_temp_posix_c_source=`echo "$cf_cv_posix_c_source" | \
-                               sed -e 's/-D/-U/g' -e 's/=[[^   ]]*//g'`
-               CPPFLAGS="$CPPFLAGS $cf_temp_posix_c_source"
-       fi
-       CPPFLAGS="$CPPFLAGS $cf_cv_posix_c_source"
+       CF_ADD_CFLAGS($cf_cv_posix_c_source)
 fi
 
 ])dnl
@@ -4153,49 +4264,88 @@ fi
 AC_SUBST(LDCONFIG)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PROG_LINT version: 1 updated: 2006/09/16 11:40:59
+dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14
 dnl ------------
 AC_DEFUN([CF_PROG_LINT],
 [
-AC_CHECK_PROGS(LINT, tdlint lint alint)
+AC_CHECK_PROGS(LINT, tdlint lint alint splint lclint)
 AC_SUBST(LINT_OPTS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
+dnl CF_REGEX version: 6 updated: 2010/03/27 13:41:56
 dnl --------
 dnl Attempt to determine if we've got one of the flavors of regular-expression
 dnl code that we can support.
 AC_DEFUN([CF_REGEX],
 [
-AC_MSG_CHECKING([for regular-expression headers])
-AC_CACHE_VAL(cf_cv_regex,[
-AC_TRY_LINK([#include <sys/types.h>
-#include <regex.h>],[
-       regex_t *p;
-       int x = regcomp(p, "", 0);
-       int y = regexec(p, "", 0, 0, 0);
-       regfree(p);
-       ],[cf_cv_regex="regex.h"],[
-       AC_TRY_LINK([#include <regexp.h>],[
-               char *p = compile("", "", "", 0);
-               int x = step("", "");
-       ],[cf_cv_regex="regexp.h"],[
-               cf_save_LIBS="$LIBS"
-               LIBS="-lgen $LIBS"
-               AC_TRY_LINK([#include <regexpr.h>],[
-                       char *p = compile("", "", "");
+
+cf_regex_func=no
+
+AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[
+       for cf_regex_lib in regex re
+       do
+               AC_CHECK_LIB($cf_regex_lib,regcomp,[
+                               LIBS="-l$cf_regex_lib $LIBS"
+                               cf_regex_func=regcomp
+                               break])
+       done
+])
+
+if test "$cf_regex_func" = no ; then
+       AC_CHECK_FUNC(compile,[cf_regex_func=compile],[
+               AC_CHECK_LIB(gen,compile,[
+                               LIBS="-lgen $LIBS"
+                               cf_regex_func=compile])])
+fi
+
+if test "$cf_regex_func" = no ; then
+       AC_MSG_WARN(cannot find regular expression library)
+fi
+
+AC_CACHE_CHECK(for regular-expression headers,cf_cv_regex_hdrs,[
+
+cf_cv_regex_hdrs=no
+case $cf_regex_func in #(vi
+compile) #(vi
+       for cf_regex_hdr in regexp.h regexpr.h
+       do
+               AC_TRY_LINK([#include <$cf_regex_hdr>],[
+                       char *p = compile("", "", "", 0);
                        int x = step("", "");
-               ],[cf_cv_regex="regexpr.h"],[LIBS="$cf_save_LIBS"])])])
+               ],[
+                       cf_cv_regex_hdrs=$cf_regex_hdr
+                       break
+               ])
+       done
+       ;;
+*)
+       for cf_regex_hdr in regex.h
+       do
+               AC_TRY_LINK([#include <sys/types.h>
+#include <$cf_regex_hdr>],[
+                       regex_t *p;
+                       int x = regcomp(p, "", 0);
+                       int y = regexec(p, "", 0, 0, 0);
+                       regfree(p);
+               ],[
+                       cf_cv_regex_hdrs=$cf_regex_hdr
+                       break
+               ])
+       done
+       ;;
+esac
+
 ])
-AC_MSG_RESULT($cf_cv_regex)
-case $cf_cv_regex in
-       regex.h)   AC_DEFINE(HAVE_REGEX_H_FUNCS) ;;
-       regexp.h)  AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;;
-       regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
+
+case $cf_cv_regex_hdrs in #(vi
+    no)               AC_MSG_WARN(no regular expression header found) ;; #(vi
+    regex.h)   AC_DEFINE(HAVE_REGEX_H_FUNCS) ;; #(vi
+    regexp.h)  AC_DEFINE(HAVE_REGEXP_H_FUNCS) ;; #(vi
+    regexpr.h) AC_DEFINE(HAVE_REGEXPR_H_FUNCS) ;;
 esac
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_REMOVE_DEFINE version: 2 updated: 2005/07/09 16:12:18
+dnl CF_REMOVE_DEFINE version: 3 updated: 2010/01/09 11:05:50
 dnl ----------------
 dnl Remove all -U and -D options that refer to the given symbol from a list
 dnl of C compiler options.  This works around the problem that not all
@@ -4207,10 +4357,9 @@ dnl $2 = source (including '$')
 dnl $3 = symbol to remove
 define([CF_REMOVE_DEFINE],
 [
-# remove $3 symbol from $2
 $1=`echo "$2" | \
-       sed     -e 's/-[[UD]]$3\(=[[^   ]]*\)\?[[       ]]/ /g' \
-               -e 's/-[[UD]]$3\(=[[^   ]]*\)\?[$]//g'`
+       sed     -e 's/-[[UD]]'"$3"'\(=[[^       ]]*\)\?[[       ]]/ /g' \
+               -e 's/-[[UD]]'"$3"'\(=[[^       ]]*\)\?[$]//g'`
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
@@ -4226,58 +4375,59 @@ define([CF_REMOVE_LIB],
 $1=`echo "$2" | sed -e 's/-l$3[[       ]]//g' -e 's/-l$3[$]//'`
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_RPATH_HACK version: 4 updated: 2008/09/13 12:53:26
+dnl CF_RPATH_HACK version: 7 updated: 2010/04/02 20:27:47
 dnl -------------
 AC_DEFUN([CF_RPATH_HACK],
 [
-AC_REQUIRE([CF_SHARED_OPTS])
+AC_REQUIRE([CF_LD_RPATH_OPT])
 AC_MSG_CHECKING(for updated LDFLAGS)
-if test -n "$LDFLAGS" ; then
-AC_MSG_RESULT(maybe)
-CF_VERBOSE(...checking LDFLAGS $LDFLAGS)
-CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
-case "$EXTRA_LDFLAGS" in #(vi
--Wl,-rpath,*) #(vi
-       cf_rpath_hack="-Wl,-rpath,"
-       ;;
--R\ *)
-       cf_rpath_hack="-R "
-       ;;
--R*)
-       cf_rpath_hack="-R"
-       ;;
-*)
-       cf_rpath_hack=
-       ;;
-esac
-if test -n "$cf_rpath_hack" ; then
-       cf_rpath_dst=
-       for cf_rpath_src in $LDFLAGS
-       do
-               CF_VERBOSE(Filtering $cf_rpath_src)
-               case $cf_rpath_src in #(vi
-               -L*) #(vi
-                       if test "$cf_rpath_hack" = "-R " ; then
-                               cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e 's%-L%-R %'`
-                       else
-                               cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e s%-L%$cf_rpath_hack%`
-                       fi
-                       CF_VERBOSE(...Filter $cf_rpath_tmp)
-                       EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
-                       ;;
-               esac
-               cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
-       done
-       LDFLAGS=$cf_rpath_dst
-       CF_VERBOSE(...checked LDFLAGS $LDFLAGS)
+if test -n "$LD_RPATH_OPT" ; then
+       AC_MSG_RESULT(maybe)
+
+       CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
+
+       CF_RPATH_HACK_2(LDFLAGS)
+       CF_RPATH_HACK_2(LIBS)
+
        CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
 fi
-else
-AC_MSG_RESULT(no)
-fi
+AC_SUBST(EXTRA_LDFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_RPATH_HACK_2 version: 3 updated: 2010/04/02 20:27:47
+dnl ---------------
+dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to
+dnl EXTRA_LDFLAGS for each -L option found.
+dnl
+dnl $1 = variable name to update.  The LDFLAGS variable should be the only one,
+dnl      but LIBS often has misplaced -L options.
+AC_DEFUN([CF_RPATH_HACK_2],
+[
+CF_VERBOSE(...checking $1 [$]$1)
+
+cf_rpath_dst=
+for cf_rpath_src in [$]$1
+do
+       case $cf_rpath_src in #(vi
+       -L*) #(vi
+               if test "$LD_RPATH_OPT" = "-R " ; then
+                       cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e 's%-L%-R %'`
+               else
+                       cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e s%-L%$LD_RPATH_OPT%`
+               fi
+               CF_VERBOSE(...Filter $cf_rpath_src ->$cf_rpath_tmp)
+               EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
+               ;;
+       esac
+       cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
+done
+$1=$cf_rpath_dst
+
+CF_VERBOSE(...checked $1 [$]$1)
+AC_SUBST(EXTRA_LDFLAGS)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 57 updated: 2009/01/17 16:10:05
+dnl CF_SHARED_OPTS version: 62 updated: 2010/03/28 16:12:30
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -4304,13 +4454,15 @@ dnl Some loaders leave 'so_locations' lying around.  It's nice to clean up.
 AC_DEFUN([CF_SHARED_OPTS],
 [
        AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+       AC_REQUIRE([CF_LD_RPATH_OPT])
        LOCAL_LDFLAGS=
        LOCAL_LDFLAGS2=
-       LD_RPATH_OPT=
        LD_SHARED_OPTS=
        INSTALL_LIB="-m 644"
 
        cf_cv_do_symlinks=no
+       cf_ld_rpath_opt=
+       test "$cf_cv_enable_rpath" = yes && cf_ld_rpath_opt="$LD_RPATH_OPT"
 
        AC_MSG_CHECKING(if release/abi version should be used for shared libs)
        AC_ARG_WITH(shlib-version,
@@ -4349,17 +4501,17 @@ AC_DEFUN([CF_SHARED_OPTS],
 
        cf_cv_shlib_version_infix=no
 
-       case $cf_cv_system_name in
-       aix[[56]]*)
+       case $cf_cv_system_name in #(vi
+       aix[[56]]*) #(vi
                if test "$GCC" = yes; then
                        CC_SHARED_OPTS=
                        MK_SHARED_LIB="$(CC) -shared"
                fi
                ;;
-       beos*)
+       beos*) #(vi
                MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
                ;;
-       cygwin*)
+       cygwin*) #(vi
                CC_SHARED_OPTS=
                MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                cf_cv_shlib_version=cygdll
@@ -4378,7 +4530,7 @@ EOF
 CF_EOF
                chmod +x mk_shared_lib.sh
                ;;
-       darwin*)
+       darwin*) #(vi
                EXTRA_CFLAGS="-no-cpp-precomp"
                CC_SHARED_OPTS="-dynamic"
                MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
@@ -4393,7 +4545,7 @@ CF_EOF
                        LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
                fi
                ;;
-       hpux*)
+       hpux*) #(vi
                # (tested with gcc 2.7.2 -- I don't have c89)
                if test "$GCC" = yes; then
                        LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
@@ -4406,15 +4558,9 @@ CF_EOF
                # readonly to exploit a quirk in the memory manager.
                INSTALL_LIB="-m 555"
                ;;
-       irix*)
-               if test "$cf_cv_ld_rpath" = yes ; then
-                       if test "$GCC" = yes; then
-                               LD_RPATH_OPT="-Wl,-rpath,"
-                               EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
-                       else
-                               LD_RPATH_OPT="-rpath "
-                               EXTRA_LDFLAGS="-rpath \${libdir} $EXTRA_LDFLAGS"
-                       fi
+       irix*) #(vi
+               if test "$cf_cv_enable_rpath" = yes ; then
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
                fi
                # tested with IRIX 5.2 and 'cc'.
                if test "$GCC" != yes; then
@@ -4425,54 +4571,50 @@ CF_EOF
                fi
                cf_cv_rm_so_locs=yes
                ;;
-       linux*|gnu*|k*bsd*-gnu)
+       linux*|gnu*|k*bsd*-gnu) #(vi
                if test "$DFT_LWR_MODEL" = "shared" ; then
-                       LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
+                       LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
-               if test "$cf_cv_ld_rpath" = yes ; then
-                       LD_RPATH_OPT="-Wl,-rpath,"
-                       EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
+               if test "$cf_cv_enable_rpath" = yes ; then
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
                fi
                CF_SHARED_SONAME
                MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
                ;;
-       openbsd[[2-9]].*)
+       openbsd[[2-9]].*) #(vi
                if test "$DFT_LWR_MODEL" = "shared" ; then
-                       LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
+                       LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
-               if test "$cf_cv_ld_rpath" = yes ; then
-                       LD_RPATH_OPT="-Wl,-rpath,"
-                       EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
+               if test "$cf_cv_enable_rpath" = yes ; then
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
                fi
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                CF_SHARED_SONAME
                MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
                ;;
-       nto-qnx*|openbsd*|freebsd[[12]].*)
+       nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
                MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
                test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
-       freebsd*)
+       freebsd*) #(vi
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-               if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
-                       LOCAL_LDFLAGS="-rpath \$(LOCAL_LIBDIR)"
-                       LOCAL_LDFLAGS2="-rpath \${libdir} $LOCAL_LDFLAGS"
-                       LD_RPATH_OPT="-rpath "
-                       EXTRA_LDFLAGS="-rpath \${libdir} $EXTRA_LDFLAGS"
+               if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+                       LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
+                       LOCAL_LDFLAGS2="${cf_ld_rpath_opt}\${libdir} $LOCAL_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
                fi
                CF_SHARED_SONAME
                MK_SHARED_LIB='${LD} -shared -Bshareable -soname=`basename $[@]` -o $[@]'
                ;;
-       netbsd*)
+       netbsd*) #(vi
                CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
-               test "$cf_cv_ld_rpath" = yes && LD_RPATH_OPT="-Wl,-rpath,"
-               if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
-                       LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
+               if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_enable_rpath" = yes ; then
+                       LOCAL_LDFLAGS="${cf_ld_rpath_opt}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
-                       EXTRA_LDFLAGS="-Wl,-rpath,\${libdir} $EXTRA_LDFLAGS"
+                       EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
                        if test "$cf_cv_shlib_version" = auto; then
                        if test -f /usr/libexec/ld.elf_so; then
                                cf_cv_shlib_version=abi
@@ -4486,34 +4628,30 @@ CF_EOF
                        MK_SHARED_LIB='${LD} -shared -Bshareable -o $[@]'
                fi
                ;;
-       osf*|mls+*)
+       osf*|mls+*) #(vi
                # tested with OSF/1 V3.2 and 'cc'
                # tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
                # link with shared libs).
                MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
-               case $host_os in
+               case $host_os in #(vi
                osf4*)
                        MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
                        ;;
                esac
                MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
                if test "$DFT_LWR_MODEL" = "shared" ; then
-                       LOCAL_LDFLAGS="-Wl,-rpath,\$(LOCAL_LIBDIR)"
+                       LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
-               if test "$cf_cv_ld_rpath" = yes ; then
-                       LD_RPATH_OPT="-rpath"
-                       # EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
-               fi
                cf_cv_rm_so_locs=yes
                ;;
-       sco3.2v5*)  # (also uw2* and UW7) hops 13-Apr-98
+       sco3.2v5*)  # (also uw2* and UW7: hops 13-Apr-98
                # tested with osr5.0.5
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-belf -KPIC'
                fi
                MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
-               if test "$cf_cv_ld_rpath" = yes ; then
+               if test "$cf_cv_enable_rpath" = yes ; then
                        # only way is to set LD_RUN_PATH but no switch for it
                        RUN_PATH=$libdir
                fi
@@ -4521,7 +4659,7 @@ CF_EOF
                LINK_PROGS='LD_RUN_PATH=${libdir}'
                LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
                ;;
-       sunos4*)
+       sunos4*) #(vi
                # tested with SunOS 4.1.1 and gcc 2.7.0
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
@@ -4529,16 +4667,15 @@ CF_EOF
                MK_SHARED_LIB='${LD} -assert pure-text -o $[@]'
                test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
                ;;
-       solaris2*)
+       solaris2*) #(vi
                # tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
                # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
                if test "$DFT_LWR_MODEL" = "shared" ; then
                        LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
                        LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
                fi
-               if test "$cf_cv_ld_rpath" = yes ; then
-                       LD_RPATH_OPT="-R"
-                       EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
+               if test "$cf_cv_enable_rpath" = yes ; then
+                       EXTRA_LDFLAGS="-R \${libdir} $EXTRA_LDFLAGS"
                fi
                CF_SHARED_SONAME
                if test "$GCC" != yes; then
@@ -4555,7 +4692,7 @@ CF_EOF
                        MK_SHARED_LIB='${CC} -shared -dy -G -h '$cf_cv_shared_soname' -o $[@]'
                fi
                ;;
-       sysv5uw7*|unix_sv*)
+       sysv5uw7*|unix_sv*) #(vi
                # tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
                if test "$GCC" != yes; then
                        CC_SHARED_OPTS='-KPIC'
@@ -4572,7 +4709,7 @@ CF_EOF
        case "$cf_cv_shlib_version" in #(vi
        rel|abi)
                case "$MK_SHARED_LIB" in #(vi
-               *'-o $[@]')
+               *'-o $[@]') #(vi
                        test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
                        ;;
                *)
@@ -4582,15 +4719,8 @@ CF_EOF
                ;;
        esac
 
-       if test -n "$LD_RPATH_OPT" ; then
-               AC_MSG_CHECKING(if we need a space after rpath option)
-               cf_save_LIBS="$LIBS"
-               LIBS="$LIBS ${LD_RPATH_OPT}$libdir"
-               AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
-               LIBS="$cf_save_LIBS"
-               AC_MSG_RESULT($cf_rpath_space)
-               test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
-               MK_SHARED_LIB="$MK_SHARED_LIB $LD_RPATH_OPT\${libdir}"
+       if test -n "$cf_ld_rpath_opt" ; then
+               MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
        fi
 
        AC_SUBST(CC_SHARED_OPTS)
@@ -4896,7 +5026,7 @@ if test -n "$ADA_SUBDIRS"; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_STDCPP_LIBRARY version: 5 updated: 2000/08/12 23:18:52
+dnl CF_STDCPP_LIBRARY version: 6 updated: 2009/12/19 13:46:49
 dnl -----------------
 dnl Check for -lstdc++, which is GNU's standard C++ library.
 AC_DEFUN([CF_STDCPP_LIBRARY],
@@ -4912,7 +5042,7 @@ os2*) #(vi
 esac
 AC_CACHE_CHECK(for library $cf_stdcpp_libname,cf_cv_libstdcpp,[
        cf_save="$LIBS"
-       LIBS="$LIBS -l$cf_stdcpp_libname"
+       LIBS="-l$cf_stdcpp_libname $LIBS"
 AC_TRY_LINK([
 #include <strstream.h>],[
 char buf[80];
@@ -5223,6 +5353,36 @@ if test "$cf_cv_utf8_lib" = "add-on" ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_VA_COPY version: 2 updated: 2010/03/04 05:37:29
+dnl ----------
+dnl check for va_copy, part of stdarg.h
+dnl Also, workaround for glibc's __va_copy, by checking for both.
+AC_DEFUN([CF_VA_COPY],[
+AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
+AC_TRY_LINK([
+#include <stdarg.h>
+],[
+       static va_list dst;
+       static va_list src;
+       va_copy(dst, src)],
+       cf_cv_have_va_copy=yes,
+       cf_cv_have_va_copy=no)])
+
+test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY)
+
+AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
+AC_TRY_LINK([
+#include <stdarg.h>
+],[
+       static va_list dst;
+       static va_list src;
+       __va_copy(dst, src)],
+       cf_cv_have___va_copy=yes,
+       cf_cv_have___va_copy=no)])
+
+test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY)
+])
+dnl ---------------------------------------------------------------------------
 dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
 dnl ----------
 dnl Use AC_VERBOSE w/o the warnings
@@ -5693,7 +5853,7 @@ CF_NO_LEAKS_OPTION(valgrind,
        [USE_VALGRIND])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 29 updated: 2009/07/16 21:07:04
+dnl CF_XOPEN_SOURCE version: 33 updated: 2010/03/28 15:35:52
 dnl ---------------
 dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
 dnl or adapt to the vendor's definitions to get equivalent functionality,
@@ -5704,14 +5864,19 @@ dnl     $1 is the nominal value for _XOPEN_SOURCE
 dnl    $2 is the nominal value for _POSIX_C_SOURCE
 AC_DEFUN([CF_XOPEN_SOURCE],[
 
-AC_REQUIRE([CF_PROG_CC_U_D])
-
 cf_XOPEN_SOURCE=ifelse($1,,500,$1)
 cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2)
+cf_xopen_source=
 
 case $host_os in #(vi
 aix[[456]]*) #(vi
-       CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
+       cf_xopen_source="-D_ALL_SOURCE"
+       ;;
+darwin[[0-8]].*) #(vi
+       cf_xopen_source="-D_APPLE_C_SOURCE"
+       ;;
+darwin*) #(vi
+       cf_xopen_source="-D_DARWIN_C_SOURCE"
        ;;
 freebsd*|dragonfly*) #(vi
        # 5.x headers associate
@@ -5719,16 +5884,16 @@ freebsd*|dragonfly*) #(vi
        #       _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
        cf_POSIX_C_SOURCE=200112L
        cf_XOPEN_SOURCE=600
-       CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+       cf_xopen_source="-D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
        ;;
 hpux11*) #(vi
-       CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
+       cf_xopen_source="-D_HPUX_SOURCE -D_XOPEN_SOURCE=500"
        ;;
 hpux*) #(vi
-       CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
+       cf_xopen_source="-D_HPUX_SOURCE"
        ;;
 irix[[56]].*) #(vi
-       CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
+       cf_xopen_source="-D_SGI_SOURCE"
        ;;
 linux*|gnu*|mint*|k*bsd*-gnu) #(vi
        CF_GNU_SOURCE
@@ -5743,16 +5908,19 @@ openbsd*) #(vi
        # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
        ;;
 osf[[45]]*) #(vi
-       CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
+       cf_xopen_source="-D_OSF_SOURCE"
        ;;
 nto-qnx*) #(vi
-       CPPFLAGS="$CPPFLAGS -D_QNX_SOURCE"
+       cf_xopen_source="-D_QNX_SOURCE"
        ;;
 sco*) #(vi
        # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
        ;;
-solaris*) #(vi
-       CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
+solaris2.1[[0-9]]) #(vi
+       cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
+       ;;
+solaris2.[[1-9]]) #(vi
+       cf_xopen_source="-D__EXTENSIONS__"
        ;;
 *)
        AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
@@ -5775,11 +5943,14 @@ make an error
        if test "$cf_cv_xopen_source" != no ; then
                CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE)
                CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE)
-               test "$cf_cv_cc_u_d_options" = yes && \
-                       CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE"
-               CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_cv_xopen_source"
+               cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source"
+               CF_ADD_CFLAGS($cf_temp_xopen_source)
        fi
        CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
        ;;
 esac
+
+if test -n "$cf_xopen_source" ; then
+       CF_ADD_CFLAGS($cf_xopen_source)
+fi
 ])