]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - aclocal.m4
ncurses 5.9 - patch 20120804
[ncurses.git] / aclocal.m4
index 5ed2ce57f941c813b0029c5ebf2a93f0d40a19be..c5ec5e0f8e48d053acd993e9990b1d1af511a172 100644 (file)
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.609 2012/03/17 16:08:47 tom Exp $
+dnl $Id: aclocal.m4,v 1.619 2012/08/04 18:04:12 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -996,6 +996,39 @@ then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39
+dnl -----------------
+dnl Check if the given compiler is really clang.  clang's C driver defines
+dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does
+dnl not ignore some gcc options.
+dnl
+dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to
+dnl ensure that it is not mistaken for gcc/g++.  It is normally invoked from
+dnl the wrappers for gcc and g++ warnings.
+dnl
+dnl $1 = GCC (default) or GXX
+dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS
+dnl $3 = CFLAGS (default) or CXXFLAGS
+AC_DEFUN([CF_CLANG_COMPILER],[
+ifelse([$2],,CLANG_COMPILER,[$2])=no
+
+if test "$ifelse([$1],,[$1],GCC)" = yes ; then
+       AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler)
+       cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])"
+       ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments"
+       AC_TRY_COMPILE([],[
+#ifdef __clang__
+#else
+make an error
+#endif
+],[ifelse([$2],,CLANG_COMPILER,[$2])=yes
+cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments"
+],[])
+       ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS"
+       AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2]))
+fi
+])
+dnl ---------------------------------------------------------------------------
 dnl CF_CPP_PARAM_INIT version: 5 updated: 2011/12/03 16:54:03
 dnl -----------------
 dnl Check if the C++ compiler accepts duplicate parameter initialization.  This
@@ -1135,7 +1168,7 @@ cerr << "testing" << endl;
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_C_INLINE version: 3 updated: 2010/05/01 15:14:41
+dnl CF_C_INLINE version: 4 updated: 2012/06/16 14:55:39
 dnl -----------
 dnl Check if the C compiler supports "inline".
 dnl $1 is the name of a shell variable to set if inline is supported
@@ -1146,6 +1179,9 @@ $1=
 if test "$ac_cv_c_inline" != no ; then
   $1=inline
   if test "$INTEL_COMPILER" = yes
+  then
+    :
+  elif test "$CLANG_COMPILER" = yes
   then
     :
   elif test "$GCC" = yes
@@ -1296,7 +1332,7 @@ if test "$cf_disable_rpath_hack" = no ; then
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_ENABLE_PC_FILES version: 7 updated: 2011/12/10 18:58:47
+dnl CF_ENABLE_PC_FILES version: 9 updated: 2012/08/04 13:59:54
 dnl ------------------
 dnl This is the "--enable-pc-files" option, which is available if there is a
 dnl pkg-config configuration on the local machine.
@@ -1305,16 +1341,15 @@ AC_REQUIRE([CF_PKG_CONFIG])
 AC_REQUIRE([CF_WITH_PKG_CONFIG_LIBDIR])
 
 if test "$PKG_CONFIG" != none ; then
-       if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
-               AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
-               AC_ARG_ENABLE(pc-files,
-                       [  --enable-pc-files       generate and install .pc files for pkg-config],
-                       [enable_pc_files=$enableval],
-                       [enable_pc_files=no])
-               AC_MSG_RESULT($enable_pc_files)
-       elif test -z "$PKG_CONFIG_LIBDIR" || test "$PKG_CONFIG_LIBDIR" != no; then
-               enable_pc_files=no
-               AC_MSG_WARN(did not find $PKG_CONFIG library)
+       AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
+       AC_ARG_ENABLE(pc-files,
+               [  --enable-pc-files       generate and install .pc files for pkg-config],
+               [enable_pc_files=$enableval],
+               [enable_pc_files=no])
+       AC_MSG_RESULT($enable_pc_files)
+       if test "$enable_pc_files" != no
+       then
+               CF_PATH_SYNTAX(PKG_CONFIG_LIBDIR)
        fi
 else
        enable_pc_files=no
@@ -1540,6 +1575,25 @@ ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_FIXUP_ADAFLAGS version: 1 updated: 2012/03/31 18:48:10
+dnl -----------------
+dnl make ADAFLAGS consistent with CFLAGS
+AC_DEFUN([CF_FIXUP_ADAFLAGS],[
+       AC_MSG_CHECKING(optimization options for ADAFLAGS)
+       case "$CFLAGS" in
+       *-g*)
+               CF_ADD_ADAFLAGS(-g)
+               ;;
+       esac
+       case "$CFLAGS" in
+       *-O*)
+               cf_O_flag=`echo "$CFLAGS" |sed -e 's/^.*-O/-O/' -e 's/[[        ]].*//'`
+               CF_ADD_ADAFLAGS($cf_O_flag)
+               ;;
+       esac
+       AC_MSG_RESULT($ADAFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_FUNC_DLSYM version: 2 updated: 2010/05/29 16:31:02
 dnl -------------
 dnl Test for dlsym() and related functions, as well as libdl.
@@ -1668,14 +1722,17 @@ AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
 ])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_POLL version: 5 updated: 2012/01/25 17:55:38
+dnl CF_FUNC_POLL version: 7 updated: 2012/06/09 16:22:17
 dnl ------------
 dnl See if the poll function really works.  Some platforms have poll(), but
 dnl it does not work for terminals or files.
 AC_DEFUN([CF_FUNC_POLL],[
 AC_CACHE_CHECK(if poll really works,cf_cv_working_poll,[
 AC_TRY_RUN([
+#include <stdlib.h>
 #include <stdio.h>
+#include <unistd.h>
+#include <fcntl.h>
 #ifdef HAVE_POLL_H
 #include <poll.h>
 #else
@@ -1686,7 +1743,7 @@ int main() {
        int ret;
 
        /* check for Darwin bug with respect to "devices" */
-       myfds.fd = open("/dev/null", 1);
+       myfds.fd = open("/dev/null", 1);        /* O_WRONLY */
        if (myfds.fd < 0)
                myfds.fd = 0;
        myfds.events = POLLIN;
@@ -1697,18 +1754,22 @@ int main() {
        if (ret < 0 || (myfds.revents & POLLNVAL)) {
                ret = -1;
        } else {
+               int fd = 0;
+               if (!isatty(fd)) {
+                       fd = open("/dev/tty", 2);       /* O_RDWR */
+               }
 
-               /* also check with standard input */
-               myfds.fd = 0;
-               myfds.events = POLLIN;
-               myfds.revents = 0;
-
-               ret = poll(&myfds, 1, 100);
-               if (ret < 0) {
-                       ret = 0;
+               if (fd >= 0) {
+                       /* also check with standard input */
+                       myfds.fd = fd;
+                       myfds.events = POLLIN;
+                       myfds.revents = 0;
+                       ret = poll(&myfds, 1, 100);
+               } else {
+                       ret = -1;
                }
        }
-       ${cf_cv_main_return:-return}(ret != 0);
+       ${cf_cv_main_return:-return}(ret < 0);
 }],
        [cf_cv_working_poll=yes],
        [cf_cv_working_poll=no],
@@ -1914,7 +1975,7 @@ if test "$GCC" = yes ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GCC_WARNINGS version: 27 updated: 2010/10/23 15:52:32
+dnl CF_GCC_WARNINGS version: 29 updated: 2012/06/16 14:55:39
 dnl ---------------
 dnl Check if the compiler supports useful warning options.  There's a few that
 dnl we don't use, simply because they're too noisy:
@@ -1937,6 +1998,7 @@ AC_DEFUN([CF_GCC_WARNINGS],
 [
 AC_REQUIRE([CF_GCC_VERSION])
 CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
+CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS)
 
 cat > conftest.$ac_ext <<EOF
 #line __oline__ "${as_me:-configure}"
@@ -2012,6 +2074,13 @@ then
                                        continue;;
                                esac
                                ;;
+                       Wpointer-arith) #(vi
+                               case $GCC_VERSION in
+                               [[12]].*)
+                                       CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
+                                       continue;;
+                               esac
+                               ;;
                        esac
                        EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
                fi
@@ -2413,21 +2482,21 @@ if test "$GXX" = yes; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GXX_VERSION version: 6 updated: 2010/10/23 15:44:18
+dnl CF_GXX_VERSION version: 7 updated: 2012/06/16 14:55:39
 dnl --------------
 dnl Check for version of g++
 AC_DEFUN([CF_GXX_VERSION],[
 AC_REQUIRE([AC_PROG_CPP])
 GXX_VERSION=none
 if test "$GXX" = yes; then
-       AC_MSG_CHECKING(version of g++)
+       AC_MSG_CHECKING(version of ${CXX:-g++})
        GXX_VERSION="`${CXX:-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
        test -z "$GXX_VERSION" && GXX_VERSION=unknown
        AC_MSG_RESULT($GXX_VERSION)
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_GXX_WARNINGS version: 6 updated: 2010/08/14 18:25:37
+dnl CF_GXX_WARNINGS version: 7 updated: 2012/06/16 14:55:39
 dnl ---------------
 dnl Check if the compiler supports useful warning options.
 dnl
@@ -2450,6 +2519,7 @@ AC_DEFUN([CF_GXX_WARNINGS],
 [
 
 CF_INTEL_COMPILER(GXX,INTEL_CPLUSPLUS,CXXFLAGS)
+CF_CLANG_COMPILER(GXX,CLANG_CPLUSPLUS,CXXFLAGS)
 
 AC_REQUIRE([CF_GXX_VERSION])
 
@@ -3060,7 +3130,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 64 updated: 2012/02/25 15:20:07
+dnl CF_LIB_RULES version: 65 updated: 2012/06/30 17:25:25
 dnl ------------
 dnl Append definitions and rules for the given models to the subdirectory
 dnl Makefiles, and the recursion rule for the top-level Makefile.  If the
@@ -3224,7 +3294,7 @@ do
                mv $cf_dir/Makefile.out $cf_dir/Makefile
 
                $AWK -f $srcdir/mk-0th.awk \
-                       libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" \
+                       libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
                        $srcdir/$cf_dir/modules >>$cf_dir/Makefile
 
                for cf_subset in $cf_subsets
@@ -4647,7 +4717,7 @@ ifelse([$1],,,[$1=$PATH_SEPARATOR])
        AC_SUBST(PATH_SEPARATOR)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
+dnl CF_PATH_SYNTAX version: 14 updated: 2012/06/19 20:58:54
 dnl --------------
 dnl Check the argument to see that it looks like a pathname.  Rewrite it if it
 dnl begins with one of the prefix/exec_prefix variables, and then again if the
@@ -4667,7 +4737,7 @@ case ".[$]$1" in #(vi
   ;;
 .[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
   ;;
-.\[$]{*prefix}*) #(vi
+.\[$]{*prefix}*|.\[$]{*dir}*) #(vi
   eval $1="[$]$1"
   case ".[$]$1" in #(vi
   .NONE/*)