]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - aclocal.m4
ncurses 5.6 - patch 20070512
[ncurses.git] / aclocal.m4
index b310792e9efc2eb000ff5256b045709d73d672b6..7b1660733373473f8c42ee8796808a62d9907902 100644 (file)
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.425 2007/02/24 23:59:46 tom Exp $
+dnl $Id: aclocal.m4,v 1.433 2007/04/28 19:26:13 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -612,6 +612,50 @@ fi
 
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_CHECK_GPM_WGETCH version: 1 updated: 2007/04/28 14:38:06
+dnl -------------------
+dnl Check if GPM is already linked with curses.  If so - and if the linkage
+dnl is not "weak" - warn about this because it can create problems linking
+dnl applications with ncurses.
+AC_DEFUN([CF_CHECK_GPM_WGETCH],[
+AC_CHECK_LIB(gpm,Gpm_Wgetch,[
+
+AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
+cf_cv_check_gpm_wgetch=unknown
+if test "$cross_compiling" != yes ; then
+
+cat >conftest.$ac_ext <<CF_EOF
+#include <gpm.h>
+int main()
+{
+       Gpm_Wgetch();
+       ${cf_cv_main_return:-return}(0);
+}
+CF_EOF
+
+       cf_save_LIBS="$LIBS"
+       # This only works if we can look at the symbol table.  If a shared
+       # library is stripped for install, we cannot use that.  So we're forced
+       # to rely on the static library, noting that some packagers may not
+       # include it.
+       LIBS="-static -lgpm -dynamic $LIBS"
+       if AC_TRY_EVAL(ac_compile) ; then
+               if AC_TRY_EVAL(ac_link) ; then
+                       cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
+                       test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
+                       test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
+               fi
+       fi
+       rm -f conftest*
+       LIBS="$cf_save_LIBS"
+fi
+])
+
+if test "$cf_cv_check_gpm_wgetch" != yes ; then
+       AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
+fi
+])])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
 dnl -----------------
 dnl Check if the C++ compiler accepts duplicate parameter initialization.  This
@@ -703,6 +747,35 @@ fi
 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_C_INLINE version: 1 updated: 2007/04/28 15:03:44
+dnl -----------
+dnl Check if the C compiler supports "inline".
+dnl $1 is the name of a shell variable to set if inline is supported
+dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
+AC_DEFUN([CF_C_INLINE],[
+AC_C_INLINE
+$1=
+if test "$ac_cv_c_inline" != no ; then
+       $1=inline
+       if test "$GCC" = yes
+       then
+               AC_CACHE_CHECK(if gcc supports options to tune inlining,cf_cv_gcc_inline,[
+                       cf_save_CFLAGS=$CFLAGS
+                       CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
+                       AC_TRY_COMPILE([inline int foo(void) { return 1; }],
+                       [${cf_cv_main_return:-return} foo()],
+                       [cf_cv_gcc_inline=yes],
+                       [cf_cv_gcc_inline=no])
+                       CFLAGS=$cf_save_CFLAGS
+               ])
+               if test "$cf_cv_gcc_inline" = yes ; then
+                       CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
+               fi
+       fi
+fi
+AC_SUBST($1)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
 dnl ----------
 dnl "dirname" is not portable, so we fake it with a shell script.
@@ -1738,6 +1811,48 @@ ifdef([AC_FUNC_FSEEKO],[
 ])
 ])
 dnl ---------------------------------------------------------------------------
+dnl CF_LDFLAGS_STATIC version: 2 updated: 2007/04/28 15:25:27
+dnl -----------------
+dnl Check for compiler/linker flags used to temporarily force usage of static
+dnl libraries.  This depends on the compiler and platform.  Use this to help
+dnl ensure that the linker picks up a given library based on its position in
+dnl the list of linker options and libraries.
+AC_DEFUN([CF_LDFLAGS_STATIC],[
+
+if test "$GCC" = yes ; then
+       LDFLAGS_STATIC=-static
+       LDFLAGS_SHARED=-dynamic
+else
+       case $cf_cv_system_name in #(
+       aix[[45]]*)     #( from ld manpage
+               LDFLAGS_STATIC=-bstatic
+               LDFLAGS_SHARED=-bdynamic
+               ;;
+       hpux*)          #( from ld manpage for hpux10.20, hpux11.11
+               # We could also use just "archive" and "shared".
+               LDFLAGS_STATIC=-Wl,-a,archive_shared
+               LDFLAGS_SHARED=-Wl,-a,shared_archive
+               ;;
+       irix*)          #( from ld manpage IRIX64
+               LDFLAGS_STATIC=-Bstatic
+               LDFLAGS_SHARED=-Bdynamic
+               ;;
+       osf[[45]]*)     #( from ld manpage osf4.0d, osf5.1
+               # alternative "-oldstyle_liblookup" (not in cc manpage)
+               LDFLAGS_STATIC=-noso 
+               LDFLAGS_SHARED=-so_archive
+               ;;
+       solaris2*)
+               LDFLAGS_STATIC=-Bstatic
+               LDFLAGS_SHARED=-Bdynamic
+               ;;
+       esac
+fi
+
+AC_SUBST(LDFLAGS_STATIC)
+AC_SUBST(LDFLAGS_SHARED)
+])
+dnl ---------------------------------------------------------------------------
 dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
 dnl ----------
 dnl Check for libutf8
@@ -1774,7 +1889,7 @@ ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 49 updated: 2007/02/24 17:12:45
+dnl CF_LIB_RULES version: 50 updated: 2007/03/24 18:26:59
 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
@@ -1958,7 +2073,8 @@ do
                                prefix=$cf_prefix \
                                suffix=$cf_suffix \
                                subset=$cf_subset \
-                               TermlibRoot=$TINFO_ARG_SUFFIX \
+                               TermlibRoot=$TINFO_NAME \
+                               TermlibSuffix=$TINFO_SUFFIX \
                                ShlibVer=$cf_cv_shlib_version \
                                ShlibVerInfix=$cf_cv_shlib_version_infix \
                                ReLink=${cf_cv_do_relink-no} \
@@ -2690,7 +2806,7 @@ AC_ARG_WITH(manpage-tbl,
 AC_MSG_RESULT($MANPAGE_TBL)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAN_PAGES version: 33 updated: 2007/02/24 14:42:36
+dnl CF_MAN_PAGES version: 35 updated: 2007/03/31 11:47:29
 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
@@ -2756,7 +2872,7 @@ NCURSES_PATCH="$NCURSES_PATCH"
 NCURSES_OSPEED="$NCURSES_OSPEED"
 TERMINFO="$TERMINFO"
 
-MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs"
+MKDIRS="sh `cd $srcdir && pwd`/mkdirs.sh"
 
 INSTALL="$INSTALL"
 INSTALL_DATA="$INSTALL_DATA"
@@ -2808,12 +2924,12 @@ case \$i in #(vi
        # replace variables in man page
        if test ! -f $cf_man_alias ; then
 cat >>$cf_man_alias <<-CF_EOF2
-               s,@DATADIR@,\$datadir,
-               s,@TERMINFO@,\$TERMINFO,
-               s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,
-               s,@NCURSES_MINOR@,\$NCURSES_MINOR,
-               s,@NCURSES_PATCH@,\$NCURSES_PATCH,
-               s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,
+               s,@DATADIR@,\$datadir,g
+               s,@TERMINFO@,\$TERMINFO,g
+               s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
+               s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
+               s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
+               s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
 CF_EOF
        ifelse($1,,,[
        for cf_name in $1
@@ -3991,6 +4107,41 @@ done
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
+dnl ---------------
+dnl signal handler, but there are some gcc depedencies in that recommendation.
+dnl Try anyway.
+AC_DEFUN([CF_SIG_ATOMIC_T],
+[
+AC_MSG_CHECKING(for signal global datatype)
+AC_CACHE_VAL(cf_cv_sig_atomic_t,[
+       for cf_type in \
+               "volatile sig_atomic_t" \
+               "sig_atomic_t" \
+               "int"
+       do
+       AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <signal.h>
+#include <stdio.h>
+
+extern $cf_type x;
+$cf_type x;
+static void handler(int sig)
+{
+       x = 5;
+}],
+               [signal(SIGINT, handler);
+                x = 1],
+               [cf_cv_sig_atomic_t=$cf_type],
+               [cf_cv_sig_atomic_t=no])
+               test "$cf_cv_sig_atomic_t" != no && break
+       done
+       ])
+AC_MSG_RESULT($cf_cv_sig_atomic_t)
+test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
 dnl -------------
 dnl Check for definitions & structures needed for window size-changing
@@ -4591,7 +4742,7 @@ if test "$with_gpm" != no ; then
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_LIBTOOL version: 13 updated: 2007/01/27 17:52:16
+dnl CF_WITH_LIBTOOL version: 18 updated: 2007/04/08 20:02:38
 dnl ---------------
 dnl Provide a configure option to incorporate libtool.  Define several useful
 dnl symbols for the makefile rules.
@@ -4640,7 +4791,7 @@ LIB_PREP="$RANLIB"
 # doing:
 LIB_CLEAN=
 LIB_COMPILE=
-LIB_LINK=
+LIB_LINK='${CC}'
 LIB_INSTALL=
 LIB_UNINSTALL=
 
@@ -4666,12 +4817,12 @@ ifdef([AC_PROG_LIBTOOL],[
                AC_MSG_ERROR(Cannot find libtool)
        fi
 ])dnl
-       LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` -o'
-       LIB_OBJECT='${OBJECTS}.o=.lo)'
+       LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} -o'
+       LIB_OBJECT='${OBJECTS:.o=.lo}'
        LIB_SUFFIX=.la
        LIB_CLEAN='${LIBTOOL} --mode=clean'
        LIB_COMPILE='${LIBTOOL} --mode=compile'
-       LIB_LINK='${LIBTOOL} --mode=link'
+       LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
        LIB_INSTALL='${LIBTOOL} --mode=install'
        LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
        LIB_PREP=:
@@ -4685,7 +4836,7 @@ ifdef([AC_PROG_LIBTOOL],[
        cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
        AC_MSG_RESULT($cf_cv_libtool_version)
        if test -z "$cf_cv_libtool_version" ; then
-               AC_MSG_ERROR(This is not libtool)
+               AC_MSG_ERROR(This is not GNU libtool)
        fi
 
        # special hack to add --tag option for C++ compiler
@@ -4706,6 +4857,7 @@ test -z "$LIBTOOL" && ECHO_LT=
 
 AC_SUBST(LIBTOOL)
 AC_SUBST(LIBTOOL_CXX)
+AC_SUBST(LIBTOOL_OPTS)
 
 AC_SUBST(LIB_CREATE)
 AC_SUBST(LIB_OBJECT)