ncurses 5.6 - patch 20070324
[ncurses.git] / aclocal.m4
index 43be1cfb50c4226f7ad890ba64c957f2a2f8ea4e..10b33ab67ad0417b9fc2fe03dfff0c7811087cc7 100644 (file)
@@ -28,7 +28,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.413 2007/01/13 19:46:41 tom Exp $
+dnl $Id: aclocal.m4,v 1.427 2007/03/24 22:29:27 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -703,84 +703,6 @@ fi
 test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
-dnl -----------------
-dnl Check if the g++ compiler supports vscan function (not a standard feature).
-AC_DEFUN([CF_CPP_VSCAN_FUNC],
-[
-if test -n "$CXX"; then
-
-AC_LANG_SAVE
-AC_LANG_CPLUSPLUS
-AC_CHECK_HEADERS(strstream.h)
-
-AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[
-       for cf_vscan_func in strstream strstream_cast stdio
-       do
-       case $cf_vscan_func in #(vi
-       stdio)          cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi
-       strstream)      cf_vscan_defs=USE_STRSTREAM_VSCAN ;;
-       strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
-       esac
-       AC_TRY_LINK([
-#include <stdio.h>
-#include <stdarg.h>
-#define $cf_vscan_defs 1
-#if defined(USE_STDIO_VSCAN)
-#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN)
-#include <strstream.h>
-#endif
-
-int scanw(const char* fmt, ...)
-{
-    int result = -1;
-    char buf[BUFSIZ];
-
-    va_list args;
-    va_start(args, fmt);
-#if defined(USE_STDIO_VSCAN)
-    if (::vsscanf(buf, fmt, args) != -1)
-       result = 0;
-#elif defined(USE_STRSTREAM_VSCAN)
-    strstreambuf ss(buf, sizeof(buf));
-    if (ss.vscan(fmt, args) != -1)
-       result = 0;
-#elif defined(USE_STRSTREAM_VSCAN_CAST)
-    strstreambuf ss(buf, sizeof(buf));
-    if (ss.vscan(fmt, (_IO_va_list)args) != -1)
-       result = 0;
-#else
-#error case $cf_vscan_func failed
-#endif
-    va_end(args);
-    return result;
-}
-],[int tmp, foo = scanw("%d", &tmp)],
-       [cf_cv_cpp_vscan_func=$cf_vscan_func; break],
-       [cf_cv_cpp_vscan_func=no])
-       test "$cf_cv_cpp_vscan_func" != no && break
-       done
-])
-
-AC_LANG_RESTORE
-fi
-
-case $cf_cv_cpp_vscan_func in #(vi
-stdio) #(vi
-       AC_DEFINE(CPP_HAS_VSCAN_FUNC)
-       AC_DEFINE(USE_STDIO_VSCAN)
-       ;;
-strstream)
-       AC_DEFINE(CPP_HAS_VSCAN_FUNC)
-       AC_DEFINE(USE_STRSTREAM_VSCAN)
-       ;;
-strstream_cast)
-       AC_DEFINE(CPP_HAS_VSCAN_FUNC)
-       AC_DEFINE(USE_STRSTREAM_VSCAN_CAST)
-       ;;
-esac
-])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.
@@ -1852,11 +1774,11 @@ ifelse($1,,,[$1=$LIB_PREFIX])
        AC_SUBST(LIB_PREFIX)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 43 updated: 2007/01/13 14:44:50
+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
-dnl subdirectory is a library-source directory, modify the LIBRARIES list in
+dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
 dnl the corresponding makefile to list the models that we'll generate.
 dnl
 dnl For shared libraries, make a list of symbolic links to construct when
@@ -1875,7 +1797,6 @@ do
                continue
        elif test -f $srcdir/$cf_dir/modules; then
 
-               IMPORT_LIB=
                SHARED_LIB=
                LIBS_TO_MAKE=
                for cf_item in $cf_LIST_MODELS
@@ -1922,9 +1843,7 @@ do
                        # use autodetected ${cf_prefix} for import lib and static lib, but
                        # use 'cyg' prefix for shared lib.
                        if test $cf_cv_shlib_version = cygdll ; then
-                               SHARED_LIB="cyg${cf_dir}\${ABI_VERSION}.dll"
-                               IMPORT_LIB="${cf_prefix}${cf_dir}.dll.a"
-                               LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/\${SHARED_LIB} ../lib/\${IMPORT_LIB}"
+                               LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}\${ABI_VERSION}.dll"
                                continue
                        fi
                        fi
@@ -1961,7 +1880,6 @@ do
                fi
 
                sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
-                   -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \
                    -e "s%@SHARED_LIB@%$SHARED_LIB%" \
                        $cf_dir/Makefile >$cf_dir/Makefile.out
                mv $cf_dir/Makefile.out $cf_dir/Makefile
@@ -1986,7 +1904,7 @@ do
                                case $cf_subset in
                                *base*)
                                        ;;
-                               termlib*)
+                               *termlib*)
                                        cf_libname=$TINFO_LIB_SUFFIX
                                        if test -n "${DFT_ARG_SUFFIX}" ; then
                                                # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
@@ -2040,8 +1958,11 @@ do
                                prefix=$cf_prefix \
                                suffix=$cf_suffix \
                                subset=$cf_subset \
+                               TermlibRoot=$TINFO_NAME \
+                               TermlibSuffix=$TINFO_SUFFIX \
                                ShlibVer=$cf_cv_shlib_version \
                                ShlibVerInfix=$cf_cv_shlib_version_infix \
+                               ReLink=${cf_cv_do_relink-no} \
                                DoLinks=$cf_cv_do_symlinks \
                                rmSoLocs=$cf_cv_rm_so_locs \
                                ldconfig="$LDCONFIG" \
@@ -2138,7 +2059,7 @@ uninstall.man ::
 
 distclean ::
        rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
-       rm -f headers.sh headers.sed
+       rm -f headers.sh headers.sed mk_shared_lib.sh
        rm -rf \${DIRS_TO_MAKE}
 CF_EOF
 
@@ -2770,7 +2691,7 @@ AC_ARG_WITH(manpage-tbl,
 AC_MSG_RESULT($MANPAGE_TBL)
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_MAN_PAGES version: 32 updated: 2006/12/24 15:18:27
+dnl CF_MAN_PAGES version: 34 updated: 2007/03/17 16:15:10
 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
@@ -2888,12 +2809,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
@@ -3010,6 +2931,7 @@ cat >>$cf_edit_man <<CF_EOF
        if test \$verb = installing ; then
                echo \$verb \$cf_target
                \$INSTALL_DATA \$TMP \$cf_target
+               test -d \$cf_subdir\${section} &&
                test -n "\$aliases" && (
                        cd \$cf_subdir\${section} && (
                                cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
@@ -3051,8 +2973,11 @@ cat >>$cf_edit_man <<CF_EOF
                        )
                )
        elif test \$verb = removing ; then
-               echo \$verb \$cf_target
-               rm -f \$cf_target
+               test -f \$cf_target && (
+                       echo \$verb \$cf_target
+                       rm -f \$cf_target
+               )
+               test -d \$cf_subdir\${section} &&
                test -n "\$aliases" && (
                        cd \$cf_subdir\${section} && (
                                for cf_alias in \$aliases
@@ -3678,7 +3603,20 @@ $1=`echo "$2" | \
                -e 's/-[[UD]]$3\(=[[^   ]]*\)\?[$]//g'`
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 42 updated: 2006/12/23 18:04:51
+dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
+dnl -------------
+dnl Remove the given library from the symbol
+dnl
+dnl $1 = target (which could be the same as the source variable)
+dnl $2 = source (including '$')
+dnl $3 = library to remove
+define([CF_REMOVE_LIB],
+[
+# remove $3 library from $2
+$1=`echo "$2" | sed -e 's/-l$3[[       ]]//g' -e 's/-l$3[$]//'`
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SHARED_OPTS version: 46 updated: 2007/02/24 18:58:09
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -3755,14 +3693,27 @@ AC_DEFUN([CF_SHARED_OPTS],
                ;;
        cygwin*)
                CC_SHARED_OPTS=
-               MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,--out-implib=../lib/${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/${SHARED_LIB}'
+               MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
                cf_cv_shlib_version=cygdll
                cf_cv_shlib_version_infix=cygdll
+               cat >mk_shared_lib.sh <<-CF_EOF
+               #!/bin/sh
+               SHARED_LIB=\[$]1
+               IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
+               shift
+               cat <<-EOF
+               Linking shared library
+               ** SHARED_LIB \[$]SHARED_LIB
+               ** IMPORT_LIB \[$]IMPORT_LIB
+EOF
+               exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
+CF_EOF
+               chmod +x mk_shared_lib.sh 
                ;;
        darwin*)
                EXTRA_CFLAGS="-no-cpp-precomp"
                CC_SHARED_OPTS="-dynamic"
-               MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${DESTDIR}${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
+               MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
                test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
                cf_cv_shlib_version_infix=yes
                AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
@@ -4641,7 +4592,7 @@ if test "$with_gpm" != no ; then
 fi
 ])
 dnl ---------------------------------------------------------------------------
-dnl CF_WITH_LIBTOOL version: 12 updated: 2006/12/30 19:00:13
+dnl CF_WITH_LIBTOOL version: 15 updated: 2007/03/17 16:15:10
 dnl ---------------
 dnl Provide a configure option to incorporate libtool.  Define several useful
 dnl symbols for the makefile rules.
@@ -4732,10 +4683,10 @@ ifdef([AC_PROG_LIBTOOL],[
        # Save the version in a cache variable - this is not entirely a good
        # thing, but the version string from libtool is very ugly, and for
        # bug reports it might be useful to have the original string.
-       cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
+       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
@@ -4894,7 +4845,7 @@ CF_NO_LEAKS_OPTION(valgrind,
        [USE_VALGRIND])
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 24 updated: 2006/04/02 16:41:09
+dnl CF_XOPEN_SOURCE version: 25 updated: 2007/01/29 18:36:38
 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,
@@ -4928,7 +4879,7 @@ hpux*) #(vi
 irix[[56]].*) #(vi
        CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
        ;;
-linux*|gnu*) #(vi
+linux*|gnu*|k*bsd*-gnu) #(vi
        CF_GNU_SOURCE
        ;;
 mirbsd*) #(vi