dnl***************************************************************************
-dnl Copyright (c) 1998-2004,2005 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 *
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.373 2005/09/24 21:58:59 tom Exp $
+dnl $Id: aclocal.m4,v 1.499 2010/03/28 00:14:25 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
+dnl These macros are maintained separately from NCURSES. The copyright on
+dnl this file applies to the aggregation of macros and does not affect use of
+dnl these macros in other applications.
+dnl
dnl See http://invisible-island.net/autoconf/ for additional information.
dnl
dnl ---------------------------------------------------------------------------
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_ADA_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12: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"
+ ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
fi
if test "$GCC" != yes; then
- ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+ ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
elif test "$includedir" != "/usr/include"; then
if test "$includedir" = '${prefix}/include' ; then
if test $prefix != /usr ; then
- ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+ ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
fi
else
- ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
+ ACPPFLAGS="$ACPPFLAGS -I\${includedir}"
fi
fi
AC_SUBST(ACPPFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_ADD_CFLAGS version: 7 updated: 2004/04/25 17:48: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.
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"
*$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
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
if test -n "$cf_new_cppflags" ; then
ifelse($2,,,[CF_VERBOSE(add to \$CPPFLAGS $cf_new_cppflags)])
- CPPFLAGS="$cf_new_cppflags $CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS $cf_new_cppflags"
fi
if test -n "$cf_new_extra_cppflags" ; then
AC_SUBST(EXTRA_CPPFLAGS)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_INCDIR version: 12 updated: 2009/01/18 10:00:47
+dnl -------------
+dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
+dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
+dnl but old versions (and some misinstalled ones) need that. To make things
+dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
+dnl the include-path).
+AC_DEFUN([CF_ADD_INCDIR],
+[
+if test -n "$1" ; then
+ for cf_add_incdir in $1
+ do
+ while test $cf_add_incdir != /usr/include
+ do
+ if test -d $cf_add_incdir
+ then
+ cf_have_incdir=no
+ if test -n "$CFLAGS$CPPFLAGS" ; then
+ # a loop is needed to ensure we can add subdirs of existing dirs
+ for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
+ if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
+ cf_have_incdir=yes; break
+ fi
+ done
+ fi
+
+ if test "$cf_have_incdir" = no ; then
+ if test "$cf_add_incdir" = /usr/local/include ; then
+ if test "$GCC" = yes
+ then
+ cf_save_CPPFLAGS=$CPPFLAGS
+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
+ AC_TRY_COMPILE([#include <stdio.h>],
+ [printf("Hello")],
+ [],
+ [cf_have_incdir=yes])
+ CPPFLAGS=$cf_save_CPPFLAGS
+ fi
+ fi
+ fi
+
+ if test "$cf_have_incdir" = no ; then
+ CF_VERBOSE(adding $cf_add_incdir to include-path)
+ ifelse($2,,CPPFLAGS,$2)="$ifelse($2,,CPPFLAGS,$2) -I$cf_add_incdir"
+
+ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
+ test "$cf_top_incdir" = "$cf_add_incdir" && break
+ cf_add_incdir="$cf_top_incdir"
+ else
+ break
+ fi
+ fi
+ done
+ done
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_LIBDIR version: 8 updated: 2009/01/18 10:01:08
+dnl -------------
+dnl Adds to the library-path
+dnl
+dnl Some machines have trouble with multiple -L options.
+dnl
+dnl $1 is the (list of) directory(s) to add
+dnl $2 is the optional name of the variable to update (default LDFLAGS)
+dnl
+AC_DEFUN([CF_ADD_LIBDIR],
+[
+if test -n "$1" ; then
+ for cf_add_libdir in $1
+ do
+ if test $cf_add_libdir = /usr/lib ; then
+ :
+ elif test -d $cf_add_libdir
+ then
+ cf_have_libdir=no
+ if test -n "$LDFLAGS$LIBS" ; then
+ # a loop is needed to ensure we can add subdirs of existing dirs
+ for cf_test_libdir in $LDFLAGS $LIBS ; do
+ if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
+ cf_have_libdir=yes; break
+ fi
+ done
+ fi
+ if test "$cf_have_libdir" = no ; then
+ CF_VERBOSE(adding $cf_add_libdir to library-path)
+ ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,$2)"
+ fi
+ fi
+ done
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_ADD_SUBDIR_PATH version: 2 updated: 2007/07/29 10:12:59
+dnl ------------------
+dnl Append to a search-list for a nonstandard header/lib-file
+dnl $1 = the variable to return as result
+dnl $2 = the package name
+dnl $3 = the subdirectory, e.g., bin, include or lib
+dnl $4 = the directory under which we will test for subdirectories
+dnl $5 = a directory that we do not want $4 to match
+AC_DEFUN([CF_ADD_SUBDIR_PATH],
+[
+test "$4" != "$5" && \
+test -d "$4" && \
+ifelse([$5],NONE,,[(test $5 = NONE || test -d $5) &&]) {
+ test -n "$verbose" && echo " ... testing for $3-directories under $4"
+ test -d $4/$3 && $1="[$]$1 $4/$3"
+ test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2"
+ test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3"
+ test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3"
+ test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2"
+}
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_ANSI_CC_REQD version: 3 updated: 1997/09/06 13:40:44
+dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54
dnl ---------------
dnl For programs that must use an ANSI compiler, obtain compiler options that
dnl will make it recognize prototypes. We'll do preprocessor checks in other
AC_DEFUN([CF_ANSI_CC_REQD],
[AC_REQUIRE([CF_ANSI_CC_CHECK])
if test "$cf_cv_ansi_cc" = "no"; then
- AC_ERROR(
+ AC_MSG_ERROR(
[Your compiler does not appear to recognize prototypes.
You have the following choices:
a. adjust your compiler options
fi
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_AR_FLAGS version: 4 updated: 2009/02/07 13:42:23
+dnl -----------
+dnl Check for suitable "ar" (archiver) options for updating an archive.
+AC_DEFUN([CF_AR_FLAGS],[
+AC_REQUIRE([CF_PROG_AR])
+
+AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[
+ cf_cv_ar_flags=unknown
+ for cf_ar_flags in -curv curv -crv crv -cqv cqv -rv rv
+ do
+ rm -f conftest.$ac_cv_objext
+ rm -f conftest.a
+
+ cat >conftest.$ac_ext <<EOF
+#line __oline__ "configure"
+int testdata[[3]] = { 123, 456, 789 };
+EOF
+ if AC_TRY_EVAL(ac_compile) ; then
+ $AR $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null
+ if test -f conftest.a ; then
+ cf_cv_ar_flags=$cf_ar_flags
+ break
+ fi
+ else
+ CF_VERBOSE(cannot compile test-program)
+ break
+ fi
+ done
+ rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext
+])
+test -z "$ARFLAGS" && ARFLAGS=$cf_cv_ar_flags
+AC_SUBST(ARFLAGS,$cf_cv_ar_flags)
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_AWK_BIG_PRINTF version: 3 updated: 2008/12/27 12:30:03
+dnl -----------------
+dnl Check if awk can handle big strings using printf. Some older versions of
+dnl awk choke on large strings passed via "%s".
+dnl
+dnl $1 = desired string size
+dnl $2 = variable to set with result
+AC_DEFUN([CF_AWK_BIG_PRINTF],
+[
+ case x$AWK in #(vi
+ x)
+ eval $2=no
+ ;;
+ *) #(vi
+ if ( ${AWK} 'BEGIN { xx = "x"; while (length(xx) < $1) { xx = xx "x"; }; printf("%s\n", xx); }' \
+ | $AWK '{ printf "%d\n", length([$]0); }' | $AWK 'BEGIN { eqls=0; recs=0; } { recs++; if ([$]0 == 12000) eqls++; } END { if (recs != 1 || eqls != 1) exit 1; }' 2>/dev/null >/dev/null ) ; then
+ eval $2=yes
+ else
+ eval $2=no
+ fi
+ ;;
+ esac
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_BOOL_DECL version: 8 updated: 2004/01/30 15:51:18
dnl ------------
dnl Test if 'bool' is a builtin type in the configured C++ compiler. Some
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_BOOL_SIZE version: 10 updated: 2002/02/23 20:38:31
+dnl CF_BOOL_SIZE version: 12 updated: 2006/12/16 12:33:30
dnl ------------
dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
dnl Don't bother looking for bool.h, since it's been deprecated.
else if (sizeof(x) == sizeof(long)) fputs("long", fp);
fclose(fp);
}
- exit(0);
+ ${cf_cv_main_return:-return}(0);
}
],
[cf_cv_type_of_bool=`cat cf_test.out`
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_BUILD_CC version: 5 updated: 2005/09/24 17:55:52
+dnl CF_BUILD_CC version: 6 updated: 2006/10/14 15:23:15
dnl -----------
dnl If we're cross-compiling, allow the user to override the tools and their
dnl options. The configure script is oriented toward identifying the host
AC_ARG_WITH(build-cpp,
[ --with-build-cpp=XXX the build C preprocessor ($BUILD_CPP)],
[BUILD_CPP="$withval"],
- [BUILD_CPP='$(BUILD_CC) -E'])
+ [BUILD_CPP='${BUILD_CC} -E'])
AC_MSG_RESULT($BUILD_CPP)
AC_MSG_CHECKING(for native build C flags)
AC_MSG_CHECKING(for native build linker-libraries)
AC_ARG_WITH(build-libs,
- [ --with-build-libs=XXX the build libraries ($(BUILD_LIBS)],
+ [ --with-build-libs=XXX the build libraries (${BUILD_LIBS})],
[BUILD_LIBS="$withval"])
AC_MSG_RESULT($BUILD_LIBS)
BUILD_EXEEXT=
BUILD_OBJEXT=o
- : ${BUILD_CC:='$(CC)'}
+ : ${BUILD_CC:='${CC}'}
- if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '$(CC)' ) ; then
+ if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then
AC_MSG_ERROR([Cross-build requires two compilers.
Use --with-build-cc to specify the native compiler.])
fi
else
- : ${BUILD_CC:='$(CC)'}
- : ${BUILD_CPP:='$(CPP)'}
- : ${BUILD_CFLAGS:='$(CFLAGS)'}
- : ${BUILD_CPPFLAGS:='$(CPPFLAGS)'}
- : ${BUILD_LDFLAGS:='$(LDFLAGS)'}
- : ${BUILD_LIBS:='$(LIBS)'}
+ : ${BUILD_CC:='${CC}'}
+ : ${BUILD_CPP:='${CPP}'}
+ : ${BUILD_CFLAGS:='${CFLAGS}'}
+ : ${BUILD_CPPFLAGS:='${CPPFLAGS}'}
+ : ${BUILD_LDFLAGS:='${LDFLAGS}'}
+ : ${BUILD_LIBS:='${LIBS}'}
: ${BUILD_EXEEXT:='$x'}
: ${BUILD_OBJEXT:='o'}
fi
test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_CACHE version: 10 updated: 2004/05/23 13:03:31
+dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59
dnl --------------
dnl Check if we're accidentally using a cache from a different machine.
dnl Derive the system name, as a check for reusing the autoconf cache.
if test ".$system_name" != ".$cf_cv_system_name" ; then
AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
- AC_ERROR("Please remove config.cache and try again.")
+ AC_MSG_ERROR("Please remove config.cache and try again.")
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CHECK_ERRNO version: 9 updated: 2001/12/30 18:03:23
+dnl CF_CHECK_ERRNO version: 10 updated: 2008/08/22 16:33:22
dnl --------------
dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
dnl ourselves.
dnl
dnl $1 = the name to check
+dnl $2 = the assumed type
AC_DEFUN([CF_CHECK_ERRNO],
[
AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[
#include <stdio.h>
#include <sys/types.h>
#include <errno.h> ],
- [long x = (long) $1],
+ ifelse($2,,int,$2) x = (ifelse($2,,int,$2)) $1,
[cf_cv_dcl_$1=yes],
[cf_cv_dcl_$1=no])
])
fi
# It's possible (for near-UNIX clones) that the data doesn't exist
-CF_CHECK_EXTERN_DATA($1,int)
+CF_CHECK_EXTERN_DATA($1,ifelse($2,,int,$2))
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_CHECK_EXTERN_DATA version: 3 updated: 2001/12/30 18:03:23
])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
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
+dnl CF_C_INLINE version: 2 updated: 2007/08/11 14:09:50
+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 "$INTEL_COMPILER" = yes
+ then
+ :
+ elif 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
-
-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
+AC_SUBST($1)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
AC_SUBST(DIRS_TO_MAKE)
])dnl
dnl ---------------------------------------------------------------------------
+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.
+AC_DEFUN([CF_DISABLE_LEAKS],[
+
+AC_REQUIRE([CF_WITH_DMALLOC])
+AC_REQUIRE([CF_WITH_DBMALLOC])
+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],
+ [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)
+
+if test "$with_no_leaks" = yes ; then
+ AC_DEFINE(NO_LEAKS)
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
+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_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_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
dnl --------
dnl Check if 'errno' is declared in <errno.h>
CXXFLAGS="$cf_save_CXXFLAGS"
])
dnl ---------------------------------------------------------------------------
+dnl CF_FIND_LINKAGE version: 14 updated: 2010/03/21 14:34:38
+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.
+dnl See also CF_ADD_SEARCHPATH.
+dnl
+dnl Parameters (4-on are optional):
+dnl $1 = headers for library entrypoint
+dnl $2 = code fragment for library entrypoint
+dnl $3 = the library name without the "-l" option or ".so" suffix.
+dnl $4 = action to perform if successful (default: update CPPFLAGS, etc)
+dnl $5 = action to perform if not successful
+dnl $6 = module name, if not the same as the library name
+dnl $7 = extra libraries
+dnl
+dnl Sets these variables:
+dnl $cf_cv_find_linkage_$3 - yes/no according to whether linkage is found
+dnl $cf_cv_header_path_$3 - include-directory if needed
+dnl $cf_cv_library_path_$3 - library-directory if needed
+dnl $cf_cv_library_file_$3 - library-file if needed, e.g., -l$3
+AC_DEFUN([CF_FIND_LINKAGE],[
+
+# If the linkage is not already in the $CPPFLAGS/$LDFLAGS configuration, these
+# will be set on completion of the AC_TRY_LINK below.
+cf_cv_header_path_$3=
+cf_cv_library_path_$3=
+
+CF_MSG_LOG([Starting [FIND_LINKAGE]($3,$6)])
+
+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_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)])
+
+ cf_save_CPPFLAGS="$CPPFLAGS"
+ cf_test_CPPFLAGS="$CPPFLAGS"
+
+ CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6]))
+ for cf_cv_header_path_$3 in $cf_search
+ do
+ if test -d $cf_cv_header_path_$3 ; then
+ CF_VERBOSE(... testing $cf_cv_header_path_$3)
+ CPPFLAGS="$cf_save_CPPFLAGS -I$cf_cv_header_path_$3"
+ AC_TRY_COMPILE([$1],[$2],[
+ CF_VERBOSE(... found $3 headers in $cf_cv_header_path_$3)
+ cf_cv_find_linkage_$3=maybe
+ cf_test_CPPFLAGS="$CPPFLAGS"
+ break],[
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ ])
+ fi
+ done
+
+ if test "$cf_cv_find_linkage_$3" = maybe ; then
+
+ CF_MSG_LOG([Searching for $3 library in [FIND_LINKAGE]($3,$6)])
+
+ cf_save_LIBS="$LIBS"
+ cf_save_LDFLAGS="$LDFLAGS"
+
+ ifelse([$6],,,[
+ CPPFLAGS="$cf_test_CPPFLAGS"
+ LIBS="-l$3 $7 $cf_save_LIBS"
+ AC_TRY_LINK([$1],[$2],[
+ CF_VERBOSE(... found $3 library in system)
+ cf_cv_find_linkage_$3=yes])
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ LIBS="$cf_save_LIBS"
+ ])
+
+ if test "$cf_cv_find_linkage_$3" != yes ; then
+ CF_LIBRARY_PATH(cf_search,$3)
+ for cf_cv_library_path_$3 in $cf_search
+ do
+ if test -d $cf_cv_library_path_$3 ; then
+ CF_VERBOSE(... testing $cf_cv_library_path_$3)
+ CPPFLAGS="$cf_test_CPPFLAGS"
+ LIBS="-l$3 $7 $cf_save_LIBS"
+ LDFLAGS="$cf_save_LDFLAGS -L$cf_cv_library_path_$3"
+ AC_TRY_LINK([$1],[$2],[
+ CF_VERBOSE(... found $3 library in $cf_cv_library_path_$3)
+ cf_cv_find_linkage_$3=yes
+ cf_cv_library_file_$3="-l$3"
+ break],[
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ LIBS="$cf_save_LIBS"
+ LDFLAGS="$cf_save_LDFLAGS"
+ ])
+ fi
+ done
+ LIBS="$cf_save_LIBS"
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ LDFLAGS="$cf_save_LDFLAGS"
+ fi
+
+ else
+ cf_cv_find_linkage_$3=no
+ fi
+ ],$7)
+])
+
+if test "$cf_cv_find_linkage_$3" = yes ; then
+ifelse([$4],,[
+ CF_ADD_INCDIR($cf_cv_header_path_$3)
+ CF_ADD_LIBDIR($cf_cv_library_path_$3)
+ LIBS="-l$3 $LIBS"
+],[$4])
+else
+ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5])
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_FUNC_DLSYM version: 1 updated: 2004/06/16 20:52:45
dnl -------------
dnl Test for dlsym() and related functions, as well as libdl.
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_MEMMOVE version: 5 updated: 2000/08/12 23:18:52
+dnl CF_FUNC_MEMMOVE version: 7 updated: 2006/12/16 12:33:30
dnl ---------------
dnl Check for memmove, or a bcopy that can handle overlapping copy. If neither
dnl is found, add our own version of memmove to the list of objects.
bcopy(data, temp, sizeof(data));
bcopy(temp+10, temp, 15);
bcopy(temp+5, temp+15, 10);
- exit (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
+ ${cf_cv_main_return:-return} (strcmp(temp, "klmnopqrstuwwxypqrstuwwxyz"));
}
],
[cf_cv_good_bcopy=yes],
fi
])])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_NANOSLEEP version: 1 updated: 2005/07/02 15:38:12
+dnl CF_FUNC_NANOSLEEP version: 3 updated: 2006/12/16 12:33:30
dnl -----------------
dnl Check for existence of workable nanosleep() function. Some systems, e.g.,
dnl AIX 4.x, provide a non-working version.
ts2.tv_nsec = 0;
errno = 0;
code = nanosleep(&ts1, &ts2); /* on failure errno is ENOSYS. */
- exit(code != 0);
+ ${cf_cv_main_return:-return}(code != 0);
}
],
[cf_cv_func_nanosleep=yes],
test "$cf_cv_func_nanosleep" = "yes" && AC_DEFINE(HAVE_NANOSLEEP)
])
dnl ---------------------------------------------------------------------------
-dnl CF_FUNC_POLL version: 2 updated: 2000/02/06 01:38:04
+dnl CF_FUNC_OPENPTY version: 2 updated: 2008/04/12 19:49:01
+dnl ---------------
+dnl Check for openpty() function, along with <pty.h> header. It may need the
+dnl "util" library as well.
+AC_DEFUN([CF_FUNC_OPENPTY],
+[
+AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no)
+AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[
+ cf_save_LIBS="$LIBS"
+ test $cf_cv_lib_util = yes && LIBS="-lutil $LIBS"
+ for cf_header in pty.h libutil.h util.h
+ do
+ AC_TRY_LINK([
+#include <$cf_header>
+],[
+ int x = openpty((int *)0, (int *)0, (char *)0,
+ (struct termios *)0, (struct winsize *)0);
+],[
+ cf_cv_func_openpty=$cf_header
+ break
+],[
+ cf_cv_func_openpty=no
+])
+ done
+ LIBS="$cf_save_LIBS"
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_FUNC_POLL version: 4 updated: 2006/12/16 12:33:30
dnl ------------
dnl See if the poll function really works. Some platforms have poll(), but
dnl it does not work for terminals or files.
myfds.events = POLLIN;
ret = poll(&myfds, 1, 100);
- exit(ret != 0);
+ ${cf_cv_main_return:-return}(ret != 0);
}],
[cf_cv_working_poll=yes],
[cf_cv_working_poll=no],
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GCC_ATTRIBUTES version: 10 updated: 2005/05/28 13:16:28
+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
then
AC_CHECKING([for $CC __attribute__ directives])
cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
+#line __oline__ "${as_me-configure}"
#include "confdefs.h"
#include "conftest.h"
#include "conftest.i"
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
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GCC_WARNINGS version: 20 updated: 2005/08/06 18:37:29
+dnl CF_GCC_WARNINGS version: 24 updated: 2009/02/01 15:21:00
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:
CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
cat > conftest.$ac_ext <<EOF
-#line __oline__ "configure"
+#line __oline__ "${as_me-configure}"
int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
EOF
then
# The "-wdXXX" options suppress warnings:
# remark #1419: external declaration in primary source file
-# remark #1682: implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
# remark #1683: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
# remark #1684: conversion from pointer to same-sized integral type (potential portability problem)
# remark #193: zero used for undefined preprocessing identifier
# remark #810: conversion from "int" to "Dimension={unsigned short}" may lose significant bits
# remark #869: parameter "tw" was never referenced
# remark #981: operands are evaluated in unspecified order
-# warning #269: invalid format string conversion
+# warning #279: controlling expression is constant
AC_CHECKING([for $CC warning options])
cf_save_CFLAGS="$CFLAGS"
EXTRA_CFLAGS="-Wall"
- for cf_opt in $1 \
+ for cf_opt in \
wd1419 \
- wd1682 \
wd1683 \
wd1684 \
wd193 \
- wd279 \
wd593 \
+ wd279 \
wd810 \
wd869 \
wd981
;;
Winline) #(vi
case $GCC_VERSION in
- 3.3*)
+ [[34]].*)
CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
continue;;
esac
rm -f conftest*
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GNAT_VERSION version: 11 updated: 2003/09/06 19:42:09
+dnl CF_GNAT_VERSION version: 12 updated: 2006/10/14 15:23:15
dnl ---------------
dnl Verify version of GNAT.
AC_DEFUN([CF_GNAT_VERSION],
case $cf_gnat_version in
3.[[1-9]]*|[[4-9]].*)
cf_compile_generics=generics
- cf_generic_objects="\$(GENOBJS)"
+ cf_generic_objects="\${GENOBJS}"
;;
*) cf_compile_generics=
cf_generic_objects=
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
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>
],
AC_SUBST(EXTRA_CXXFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_HASHED_DB version: 3 updated: 2007/11/24 17:43:37
+dnl ------------
+dnl Look for an instance of the Berkeley hashed database.
+dnl
+dnl $1 = optional parameter, to specify install-prefix for the database.
+AC_DEFUN([CF_HASHED_DB],
+[
+ifelse([$1],,,[
+case $1 in #(vi
+yes|*able*) #(vi
+ ;;
+*)
+ if test -d "$1" ; then
+ CF_ADD_INCDIR($1/include)
+ CF_ADD_LIBDIR($1/lib)
+ fi
+esac
+])
+AC_CHECK_HEADER(db.h,[
+CF_HASHED_DB_VERSION
+if test "$cf_cv_hashed_db_version" = unknown ; then
+ AC_MSG_ERROR(Cannot determine version of db)
+else
+ CF_HASHED_DB_LIBS
+ if test "$cf_cv_hashed_db_libs" = unknown ; then
+ AC_MSG_ERROR(Cannot determine library for db)
+ elif test "$cf_cv_hashed_db_libs" != default ; then
+ LIBS="-l$cf_cv_hashed_db_libs $LIBS"
+ fi
+fi
+],[
+ AC_MSG_ERROR(Cannot find db.h)
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_HASHED_DB_LIBS version: 8 updated: 2008/08/04 06:18:06
+dnl -----------------
+dnl Given that we have the header and version for hashed database, find the
+dnl library information.
+AC_DEFUN([CF_HASHED_DB_LIBS],
+[
+AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
+cf_cv_hashed_db_libs=unknown
+for cf_db_libs in "" db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
+do
+ cf_save_libs="$LIBS"
+ if test -n "$cf_db_libs"; then
+ LIBS="-l$cf_db_libs $LIBS"
+ fi
+ CF_MSG_LOG(checking for library "$cf_db_libs")
+ AC_TRY_LINK([
+$ac_includes_default
+#include <db.h>
+],[
+ char *path = "/tmp/foo";
+#ifdef DB_VERSION_MAJOR
+#if DB_VERSION_MAJOR >= 4
+ DB *result = 0;
+ db_create(&result, NULL, 0);
+ result->open(result,
+ NULL,
+ path,
+ path,
+ DB_HASH,
+ DB_CREATE,
+ 0644);
+#elif DB_VERSION_MAJOR >= 3
+ DB *result = 0;
+ db_create(&result, NULL, 0);
+ result->open(result,
+ path,
+ path,
+ DB_HASH,
+ DB_CREATE,
+ 0644);
+#elif DB_VERSION_MAJOR >= 2
+ DB *result = 0;
+ db_open(path,
+ DB_HASH,
+ DB_CREATE,
+ 0644,
+ (DB_ENV *) 0,
+ (DB_INFO *) 0,
+ &result);
+#endif /* DB_VERSION_MAJOR */
+#else
+ DB *result = dbopen(path,
+ 2,
+ 0644,
+ DB_HASH,
+ 0);
+#endif
+ ${cf_cv_main_return:-return}(result != 0)
+],[
+ if test -n "$cf_db_libs" ; then
+ cf_cv_hashed_db_libs=$cf_db_libs
+ else
+ cf_cv_hashed_db_libs=default
+ fi
+ LIBS="$cf_save_libs"
+ break
+])
+ LIBS="$cf_save_libs"
+done
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
+dnl --------------------
+dnl Given that we have the header file for hashed database, find the version
+dnl information.
+AC_DEFUN([CF_HASHED_DB_VERSION],
+[
+AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
+cf_cv_hashed_db_version=unknown
+
+for cf_db_version in 1 2 3 4 5
+do
+ CF_MSG_LOG(checking for db version $cf_db_version)
+ AC_TRY_COMPILE([
+$ac_includes_default
+#include <db.h>
+
+#ifdef DB_VERSION_MAJOR
+ /* db2 (DB_VERSION_MAJOR=2) has also DB_VERSION_MINOR, tested with 7 */
+#if $cf_db_version == DB_VERSION_MAJOR
+ /* ok */
+#else
+ make an error
+#endif
+#else
+#if $cf_db_version == 1
+ /* ok: assuming this is DB 1.8.5 */
+#else
+ make an error
+#endif
+#endif
+],[DBT *foo = 0],[
+ cf_cv_hashed_db_version=$cf_db_version
+ break
+ ])
+done
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+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
+dnl Parameters
+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
+ do
+ case $cf_header_path in #(vi
+ -I*)
+ cf_header_path=`echo ".$cf_header_path" |sed -e 's/^...//' -e 's,/include$,,'`
+ CF_ADD_SUBDIR_PATH($1,$2,include,$cf_header_path,NONE)
+ cf_header_path_list="$cf_header_path_list [$]$1"
+ ;;
+ esac
+ done
+fi
+
+CF_SUBDIR_PATH($1,$2,include)
+
+test "$includedir" != NONE && \
+test "$includedir" != "/usr/include" && \
+test -d "$includedir" && {
+ test -d $includedir && $1="[$]$1 $includedir"
+ test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
+}
+
+test "$oldincludedir" != NONE && \
+test "$oldincludedir" != "/usr/include" && \
+test -d "$oldincludedir" && {
+ test -d $oldincludedir && $1="[$]$1 $oldincludedir"
+ test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
+}
+
+$1="$cf_header_path_list [$]$1"
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
dnl ---------------
dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
[AC_DIVERT_HELP([$1])dnl
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
+dnl CF_INCLUDE_DIRS version: 6 updated: 2009/01/06 19:37:40
dnl ---------------
dnl Construct the list of include-options according to whether we're building
dnl in the source directory or using '--srcdir=DIR' option. If we're building
dnl since that usually breaks gcc's shadow-includes.
AC_DEFUN([CF_INCLUDE_DIRS],
[
-CPPFLAGS="-I. -I../include $CPPFLAGS"
+CPPFLAGS="$CPPFLAGS -I. -I../include"
if test "$srcdir" != "."; then
- CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
+ CPPFLAGS="$CPPFLAGS -I\${srcdir}/../include"
fi
if test "$GCC" != yes; then
- CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+ CPPFLAGS="$CPPFLAGS -I\${includedir}"
elif test "$includedir" != "/usr/include"; then
if test "$includedir" = '${prefix}/include' ; then
if test $prefix != /usr ; then
- CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+ CPPFLAGS="$CPPFLAGS -I\${includedir}"
fi
else
- CPPFLAGS="$CPPFLAGS -I\$(includedir)"
+ CPPFLAGS="$CPPFLAGS -I\${includedir}"
fi
fi
AC_SUBST(CPPFLAGS)
test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LARGEFILE version: 5 updated: 2005/07/17 11:03:36
+dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
dnl ------------
dnl Add checks for large file support.
AC_DEFUN([CF_LARGEFILE],[
ifdef([AC_FUNC_FSEEKO],[
+ AC_SYS_LARGEFILE
+ if test "$enable_largefile" != no ; then
AC_FUNC_FSEEKO
- AC_SYS_LARGEFILE
# Normally we would collect these definitions in the config.h,
# but (like _XOPEN_SOURCE), some environments rely on having these
# the config.h
test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
+ test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
AC_TRY_COMPILE([
[cf_cv_struct_dirent64=no])
])
test "$cf_cv_struct_dirent64" = yes && AC_DEFINE(HAVE_STRUCT_DIRENT64)
+ fi
])
])
dnl ---------------------------------------------------------------------------
-dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
-dnl ----------
-dnl Check for libutf8
-AC_DEFUN([CF_LIBUTF8],
-[
-AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
- cf_save_LIBS="$LIBS"
- LIBS="-lutf8 $LIBS"
-AC_TRY_LINK([
-#include <libutf8.h>],[putwc(0,0);],
- [cf_cv_libutf8=yes],
- [cf_cv_libutf8=no])
- LIBS="$cf_save_LIBS"
+dnl CF_LDFLAGS_STATIC version: 7 updated: 2009/04/04 18:31:04
+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
+ case $cf_cv_system_name in #(
+ OS/2*|os2*|aix[[4]]*|solaris2.1[[0-9]]|darwin*) #( vi
+ LDFLAGS_STATIC=
+ LDFLAGS_SHARED=
+ ;;
+ *) #( normally, except when broken
+ LDFLAGS_STATIC=-static
+ LDFLAGS_SHARED=-dynamic
+ ;;
+ esac
+else
+ case $cf_cv_system_name in #(
+ aix[[456]]*) #( 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_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])
-if test "$cf_cv_libutf8" = yes ; then
- AC_DEFINE(HAVE_LIBUTF8_H)
- LIBS="-lutf8 $LIBS"
+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: 8 updated: 2008/12/07 19:38:31
+dnl ---------------
+dnl Construct a search-list of directories for a nonstandard library-file
+dnl
+dnl Parameters
+dnl $1 = the variable to return as result
+dnl $2 = the package name
+AC_DEFUN([CF_LIBRARY_PATH],
+[
+cf_library_path_list=""
+if test -n "${LDFLAGS}${LIBS}" ; then
+ for cf_library_path in $LDFLAGS $LIBS
+ do
+ case $cf_library_path in #(vi
+ -L*)
+ cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'`
+ CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE)
+ cf_library_path_list="$cf_library_path_list [$]$1"
+ ;;
+ esac
+ done
fi
+
+CF_SUBDIR_PATH($1,$2,lib)
+
+$1="$cf_library_path_list [$]$1"
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
+dnl CF_LIB_PREFIX version: 8 updated: 2008/09/13 11:34:16
dnl -------------
dnl Compute the library-prefix for the given host system
dnl $1 = variable to set
AC_DEFUN([CF_LIB_PREFIX],
[
- case $cf_cv_system_name in
- OS/2*) LIB_PREFIX='' ;;
- os2*) LIB_PREFIX='' ;;
- *) LIB_PREFIX='lib' ;;
+ case $cf_cv_system_name in #(vi
+ OS/2*|os2*) #(vi
+ LIB_PREFIX=''
+ ;;
+ *) LIB_PREFIX='lib'
+ ;;
esac
ifelse($1,,,[$1=$LIB_PREFIX])
AC_SUBST(LIB_PREFIX)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 36 updated: 2005/05/28 13:16:28
+dnl CF_LIB_RULES version: 55 updated: 2008/12/13 16:17:38
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
[
CF_LIB_PREFIX(cf_prefix)
AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+
+if test $cf_cv_shlib_version = cygdll ; then
+ TINFO_NAME=$TINFO_ARG_SUFFIX
+ TINFO_SUFFIX=.dll
+fi
+
for cf_dir in $SRC_SUBDIRS
do
- if test -f $srcdir/$cf_dir/modules; then
+ if test ! -d $srcdir/$cf_dir ; then
+ continue
+ elif test -f $srcdir/$cf_dir/modules; then
- IMPORT_LIB=
SHARED_LIB=
LIBS_TO_MAKE=
- for cf_item in $CF_LIST_MODELS
+ for cf_item in $cf_LIST_MODELS
do
- CF_LIB_SUFFIX($cf_item,cf_suffix)
+ CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
if test $cf_item = shared ; then
if test "$cf_cv_do_symlinks" = yes ; then
case "$cf_cv_shlib_version" in #(vi
case .${LIB_SUFFIX} in
.w*)
cf_suffix=`echo $cf_suffix | sed 's/^w//'`
- cf_suffix=w'.$(REL_VERSION)'"$cf_suffix"
+ cf_suffix=w'.${REL_VERSION}'"$cf_suffix"
;;
*)
- cf_suffix='.$(REL_VERSION)'"$cf_suffix"
+ cf_suffix='.${REL_VERSION}'"$cf_suffix"
;;
esac
;; #(vi
- *) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;;
+ *) cf_suffix="$cf_suffix"'.${REL_VERSION}' ;;
esac
;;
abi)
case .${LIB_SUFFIX} in
.w*)
cf_suffix=`echo $cf_suffix | sed 's/^w//'`
- cf_suffix=w'.$(ABI_VERSION)'"$cf_suffix"
+ cf_suffix=w'.${ABI_VERSION}'"$cf_suffix"
;;
*)
- cf_suffix='.$(ABI_VERSION)'"$cf_suffix"
+ cf_suffix='.${ABI_VERSION}'"$cf_suffix"
;;
esac
;; #(vi
- *) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
+ *) cf_suffix="$cf_suffix"'.${ABI_VERSION}' ;;
esac
;;
esac
# 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="../lib/cyg${cf_dir}\$(ABI_VERSION).dll"
- IMPORT_LIB="../lib/${cf_prefix}${cf_dir}.dll.a"
- LIBS_TO_MAKE="$LIBS_TO_MAKE \$(SHARED_LIB) \$(IMPORT_LIB)"
+ cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+ LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}${cf_cygsuf}"
continue
fi
fi
if test $cf_dir = ncurses ; then
cf_subsets="$LIB_SUBSETS"
- cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'`
- if test "$cf_termlib" != "$cf_subsets" ; then
- cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
- LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
- fi
+ cf_r_parts="$cf_subsets"
+ cf_liblist="$LIBS_TO_MAKE"
+
+ while test -n "$cf_r_parts"
+ do
+ cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
+ cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
+ if test "$cf_l_parts" != "$cf_r_parts" ; then
+ cf_item=
+ case $cf_l_parts in #(vi
+ *termlib*) #(vi
+ cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
+ ;;
+ *ticlib*)
+ cf_item=`echo $cf_liblist |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
+ ;;
+ *)
+ break
+ ;;
+ esac
+ if test -n "$cf_item"; then
+ LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
+ fi
+ else
+ break
+ fi
+ done
else
cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
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
for cf_subset in $cf_subsets
do
cf_subdirs=
- for cf_item in $CF_LIST_MODELS
+ for cf_item in $cf_LIST_MODELS
do
echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
CF_UPPER(cf_ITEM,$cf_item)
- CF_LIB_SUFFIX($cf_item,cf_suffix)
+ CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf)
CF_OBJ_SUBDIR($cf_item,cf_subdir)
# Test for case where we build libtinfo with a different name.
if test $cf_dir = ncurses ; then
case $cf_subset in
*base*)
+ cf_libname=${cf_libname}$LIB_SUFFIX
;;
- termlib*)
+ *termlib*)
cf_libname=$TINFO_LIB_SUFFIX
- if test -n "${DFT_ARG_SUFFIX}" ; then
- # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
- cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
- fi
- ;;
+ ;;
+ ticlib*)
+ cf_libname=$TICS_LIB_SUFFIX
+ ;;
esac
+ else
+ cf_libname=${cf_libname}$LIB_SUFFIX
+ fi
+ if test -n "${DFT_ARG_SUFFIX}" ; then
+ # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
+ cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
fi
# These dependencies really are for development, not
if test "$srcdir" = "."; then
cf_reldir="."
else
- cf_reldir="\$(srcdir)"
+ cf_reldir="\${srcdir}"
fi
if test -f $srcdir/$cf_dir/$cf_dir.priv.h; then
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" \
done
fi
- echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >>Makefile
+ echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >>Makefile
done
for cf_dir in $SRC_SUBDIRS
do
+ if test ! -d $srcdir/$cf_dir ; then
+ continue
+ fi
+
if test -f $cf_dir/Makefile ; then
case "$cf_dir" in
Ada95) #(vi
echo 'libs \' >> Makefile
echo 'install.libs \' >> Makefile
echo 'uninstall.libs ::' >> Makefile
- echo ' cd '$cf_dir' && $(MAKE) $(CF_MFLAGS) [$]@' >> Makefile
+ echo ' cd '$cf_dir' && ${MAKE} ${CF_MFLAGS} [$]@' >> Makefile
;;
esac
fi
uninstall.libs \\
install.$cf_dir \\
uninstall.$cf_dir ::
- cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
+ cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
CF_EOF
elif test -f $srcdir/$cf_dir/headers; then
cat >> Makefile <<CF_EOF
uninstall.libs \\
install.includes \\
uninstall.includes ::
- cd $cf_dir && \$(MAKE) \$(CF_MFLAGS) \[$]@
+ cd $cf_dir && \${MAKE} \${CF_MFLAGS} \[$]@
CF_EOF
fi
done
cat >> Makefile <<CF_EOF
-install.data \\
-uninstall.data ::
-$MAKE_TERMINFO cd misc && \$(MAKE) \$(CF_MFLAGS) \[$]@
+install.libs uninstall.libs \\
+install.data uninstall.data ::
+$MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
+CF_EOF
+
+if test "x$cf_with_manpages" = xyes; then
+cat >> Makefile <<CF_EOF
install.man \\
uninstall.man ::
- cd man && \$(MAKE) \$(CF_MFLAGS) \[$]@
+ cd man && \${MAKE} \${CF_MFLAGS} \[$]@
+CF_EOF
+fi
+
+cat >> Makefile <<CF_EOF
distclean ::
rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
- rm -f headers.sh headers.sed
- rm -rf \$(DIRS_TO_MAKE)
+ rm -f headers.sh headers.sed mk_shared_lib.sh
+ rm -f edit_man.* man_alias.*
+ rm -rf \${DIRS_TO_MAKE}
CF_EOF
# Special case: tack's manpage lives in its own directory.
+if test "x$cf_with_manpages" = xyes; then
if test -d tack ; then
if test -f $srcdir/$tack.h; then
cat >> Makefile <<CF_EOF
install.man \\
uninstall.man ::
- cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
+ cd tack && \${MAKE} \${CF_MFLAGS} \[$]@
CF_EOF
fi
fi
+fi
dnl If we're installing into a subdirectory of /usr/include, etc., we should
dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
TMPSED=\${TMPDIR-/tmp}/headers.sed\$\$
echo installing \$SRC in \$DST
CF_EOF
+
if test $WITH_CURSES_H = yes; then
cat >>headers.sh <<CF_EOF
case \$DST in
;;
esac
CF_EOF
+
else
cat >>headers.sh <<CF_EOF
case \$DST in
for cf_dir in $SRC_SUBDIRS
do
- if test -f $srcdir/$cf_dir/headers; then
- cat >>$cf_dir/Makefile <<CF_EOF
-\$(DESTDIR)\$(includedir) :
- sh \$(srcdir)/../mkinstalldirs \[$]@
-
-install \\
-install.libs \\
-install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
-CF_EOF
- j=""
- for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
- do
- test -n "$j" && echo " $j \\" >>$cf_dir/Makefile
- j=$i
- done
- echo " $j" >>$cf_dir/Makefile
- for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
- do
- echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
- test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
- done
-
- cat >>$cf_dir/Makefile <<CF_EOF
+ if test ! -d $srcdir/$cf_dir ; then
+ continue
+ fi
-uninstall \\
-uninstall.libs \\
-uninstall.includes ::
-CF_EOF
- for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
- do
- i=`basename $i`
- echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
- test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
- done
+ if test -f $srcdir/$cf_dir/headers; then
+ $AWK -f $srcdir/mk-hdr.awk \
+ subset="$LIB_SUBSETS" \
+ compat="$WITH_CURSES_H" \
+ $srcdir/$cf_dir/headers >>$cf_dir/Makefile
fi
if test -f $srcdir/$cf_dir/modules; then
if test "$cf_dir" != "c++" ; then
cat >>$cf_dir/Makefile <<"CF_EOF"
-depend : $(AUTO_SRC)
- makedepend -- $(CPPFLAGS) -- $(C_SRC)
+depend : ${AUTO_SRC}
+ makedepend -- ${CPPFLAGS} -- ${C_SRC}
# DO NOT DELETE THIS LINE -- make depend depends on it.
CF_EOF
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_SONAME version: 2 updated: 2005/06/25 16:05:47
+dnl CF_LIB_SONAME version: 3 updated: 2006/12/16 15:55:46
dnl -------------
dnl Find the and soname for the given shared library. Set the cache variable
dnl cf_cv_$3_soname to this, unless it is not found. Then set the cache
int main()
{
$2
-return 0;
+ ${cf_cv_main_return:-return}(0);
}
CF_EOF
cf_save_LIBS="$LIBS"
])
])
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_SUFFIX version: 13 updated: 2003/11/01 16:09:07
+dnl CF_LIB_SUFFIX version: 16 updated: 2008/12/27 12:30:03
dnl -------------
dnl Compute the library file-suffix from the given model name
dnl $1 = model name
-dnl $2 = variable to set
+dnl $2 = variable to set (the nominal library suffix)
+dnl $3 = dependency variable to set (actual filename)
dnl The variable $LIB_SUFFIX, if set, prepends the variable to set.
AC_DEFUN([CF_LIB_SUFFIX],
[
AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
- case $1 in
- libtool) $2='.la' ;;
- normal) $2='.a' ;;
- debug) $2='_g.a' ;;
- profile) $2='_p.a' ;;
- shared)
+ case $1 in #(vi
+ libtool) #(vi
+ $2='.la'
+ $3=[$]$2
+ ;;
+ normal) #(vi
+ $2='.a'
+ $3=[$]$2
+ ;;
+ debug) #(vi
+ $2='_g.a'
+ $3=[$]$2
+ ;;
+ profile) #(vi
+ $2='_p.a'
+ $3=[$]$2
+ ;;
+ shared) #(vi
case $cf_cv_system_name in
- cygwin*) $2='.dll' ;;
- darwin*) $2='.dylib' ;;
- hpux*)
+ aix[[56]]*) #(vi
+ $2='.a'
+ $3=[$]$2
+ ;;
+ cygwin*) #(vi
+ $2='.dll'
+ $3='.dll.a'
+ ;;
+ darwin*) #(vi
+ $2='.dylib'
+ $3=[$]$2
+ ;;
+ hpux*) #(vi
case $target in
- ia64*) $2='.so' ;;
- *) $2='.sl' ;;
+ ia64*) #(vi
+ $2='.so'
+ $3=[$]$2
+ ;;
+ *) #(vi
+ $2='.sl'
+ $3=[$]$2
+ ;;
esac
;;
- *) $2='.so' ;;
+ *) $2='.so'
+ $3=[$]$2
+ ;;
esac
esac
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
+ test -n "$LIB_SUFFIX" && $3="${LIB_SUFFIX}[$]{$3}"
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_LIB_TYPE version: 4 updated: 2000/10/20 22:57:49
test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}"
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LINK_DATAONLY version: 6 updated: 2003/02/02 01:41:46
+dnl CF_LINK_DATAONLY version: 9 updated: 2009/01/01 20:21:38
dnl ----------------
dnl Some systems have a non-ANSI linker that doesn't pull in modules that have
dnl only data (i.e., no functions), for example NeXT. On those systems we'll
EOF
if AC_TRY_EVAL(ac_compile) ; then
mv conftest.o data.o && \
- ( $AR $AR_OPTS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
+ ( $AR $ARFLAGS conftest.a data.o ) 2>&AC_FD_CC 1>/dev/null
fi
rm -f conftest.$ac_ext data.o
cat >conftest.$ac_ext <<EOF
int testfunc()
{
#if defined(NeXT)
- exit(1); /* I'm told this linker is broken */
+ ${cf_cv_main_return:-return}(1); /* I'm told this linker is broken */
#else
extern int testdata[[3]];
return testdata[[0]] == 123
EOF
if AC_TRY_EVAL(ac_compile); then
mv conftest.o func.o && \
- ( $AR $AR_OPTS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
+ ( $AR $ARFLAGS conftest.a func.o ) 2>&AC_FD_CC 1>/dev/null
fi
rm -f conftest.$ac_ext func.o
( eval $RANLIB conftest.a ) 2>&AC_FD_CC >/dev/null
int main()
{
extern int testfunc();
- exit (!testfunc());
+ ${cf_cv_main_return:-return} (!testfunc());
}
],
[cf_cv_link_dataonly=yes],
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LINK_FUNCS version: 5 updated: 2003/02/02 01:41:46
+dnl CF_LINK_FUNCS version: 7 updated: 2006/12/16 12:33:30
dnl -------------
dnl Most Unix systems have both link and symlink, a few don't have symlink.
dnl A few non-Unix systems implement symlink, but not link.
#else
remove(dst);
#endif
- exit (fail);
+ ${cf_cv_main_return:-return} (fail);
}
],[
cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
+dnl CF_MAIN_RETURN version: 1 updated: 2006/12/10 09:51:54
+dnl --------------
+dnl Check if a return from main to the shell actually returns the same exit
+dnl code. This is true for almost any POSIX environment.
+dnl
+dnl Some very old environments did not flush stdout, etc., on an exit. That
+dnl would be a useful case to test for also.
+AC_DEFUN([CF_MAIN_RETURN],
+[
+cf_cv_main_return=return
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_MAKEFLAGS version: 12 updated: 2006/10/21 08:27:03
dnl ------------
-dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
+dnl Some 'make' programs support ${MAKEFLAGS}, some ${MFLAGS}, to pass 'make'
dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
-dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
+dnl ${MAKEFLAGS} variable incompatible because it adds the assignments :-)
AC_DEFUN([CF_MAKEFLAGS],
[
AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
cf_cv_makeflags=''
- for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
+ for cf_option in '-${MAKEFLAGS}' '${MFLAGS}'
do
cat >cf_makeflags.tmp <<CF_EOF
SHELL = /bin/sh
all :
@ echo '.$cf_option'
CF_EOF
- cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null | sed -e 's,[[ ]]*$,,'`
case "$cf_result" in
.*k)
cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
esac
break
;;
- *) echo no match "$cf_result"
+ .-) ;;
+ *) echo "given option \"$cf_option\", no match \"$cf_result\""
;;
esac
done
AC_SUBST(MAKE_LOWER_TAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MANPAGE_FORMAT version: 7 updated: 2003/12/20 19:30:34
+dnl CF_MANPAGE_FORMAT version: 8 updated: 2009/01/11 20:30:50
dnl -----------------
dnl Option to allow user to override automatic configuration of manpage format.
dnl There are several special cases:
cf_catonly=yes
cf_example=date
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
for cf_dir in $MANPATH; do
test -z "$cf_dir" && cf_dir=/usr/man
for cf_name in $cf_dir/man*/$cf_example.[[01]]* $cf_dir/cat*/$cf_example.[[01]]* $cf_dir/man*/$cf_example $cf_dir/cat*/$cf_example
AC_MSG_RESULT($MANPAGE_TBL)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MAN_PAGES version: 29 updated: 2005/06/18 19:42:52
+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
esac
cf_edit_man=./edit_man.sh
+cf_man_alias=`pwd`/man_alias.sed
cat >$cf_edit_man <<CF_EOF
#! /bin/sh
# this script is generated by the configure-script CF_MAN_PAGES macro.
+
prefix="$cf_prefix"
datadir="$datadir"
+
+NCURSES_MAJOR="$NCURSES_MAJOR"
+NCURSES_MINOR="$NCURSES_MINOR"
+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"
+
transform="$program_transform_name"
TMP=\${TMPDIR-/tmp}/man\$\$
\$MKDIRS \$cf_subdir\$section
fi
fi
+
+ # replace variables in man page
+ if test ! -f $cf_man_alias ; then
+cat >>$cf_man_alias <<-CF_EOF2
+ 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
+ do
+ 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,g
+CF_EOF
+ done
+ ])
+cat >>$cf_edit_man <<CF_EOF
+CF_EOF2
+ echo "...made $cf_man_alias"
+ fi
+
aliases=
- source=\`basename \$i\`
- inalias=\$source
+ cf_source=\`basename \$i\`
+ inalias=\$cf_source
test ! -f \$inalias && inalias="\$srcdir/\$inalias"
if test ! -f \$inalias ; then
- echo .. skipped \$source
+ echo .. skipped \$cf_source
continue
fi
CF_EOF
if test "$MANPAGE_ALIASES" != no ; then
cat >>$cf_edit_man <<CF_EOF
- aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias | sort -u\`
+ aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
CF_EOF
fi
cat >>$cf_edit_man <<CF_EOF
# perform program transformations for section 1 man pages
if test \$section = 1 ; then
- target=\$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
+ cf_target=\$cf_subdir\${section}/\`echo \$cf_source|sed "\${transform}"\`
else
- target=\$cf_subdir\${section}/\$source
+ cf_target=\$cf_subdir\${section}/\$cf_source
fi
CF_EOF
else
cat >>$cf_edit_man <<CF_EOF
- target=\`grep "^\$source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
- if test -z "\$target" ; then
- echo '? missing rename for '\$source
- target="\$source"
+ cf_target=\`grep "^\$cf_source" $MANPAGE_RENAMES | $AWK '{print \[$]2}'\`
+ if test -z "\$cf_target" ; then
+ echo '? missing rename for '\$cf_source
+ cf_target="\$cf_source"
fi
- target="\$cf_subdir\${section}/\${target}"
-CF_EOF
-fi
+ cf_target="\$cf_subdir\${section}/\${cf_target}"
- # replace variables in man page
- ifelse($1,,,[
- for cf_name in $1
- do
-cat >>$cf_edit_man <<CF_EOF
- prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
-CF_EOF
- done
- ])
-cat >>$cf_edit_man <<CF_EOF
- sed -e "s,@DATADIR@,\$datadir," \\
- -e "s,@TERMINFO@,\$TERMINFO," \\
- -e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\
CF_EOF
+fi
- ifelse($1,,,[
- for cf_name in $1
- do
- cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
cat >>$cf_edit_man <<CF_EOF
- -e "s,@$cf_NAME@,\$prog_$cf_name," \\
+ sed -f $cf_man_alias \\
CF_EOF
- done
- ])
if test -f $MANPAGE_RENAMES ; then
cat >>$cf_edit_man <<CF_EOF
mv \$TMP.$cf_so_strip \$TMP
fi
fi
- target="\$target.$cf_so_strip"
+ cf_target="\$cf_target.$cf_so_strip"
CF_EOF
fi
cat >>$cf_edit_man <<CF_EOF
if test \$form = format ; then
# BSDI installs only .0 suffixes in the cat directories
- target="\`echo \$target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
+ cf_target="\`echo \$cf_target|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
fi
CF_EOF
;;
esac
cat >>$cf_edit_man <<CF_EOF
- suffix=\`basename \$target | sed -e 's%^[[^.]]*%%'\`
+ suffix=\`basename \$cf_target | sed -e 's%^[[^.]]*%%'\`
if test \$verb = installing ; then
- echo \$verb \$target
- \$INSTALL_DATA \$TMP \$target
+ echo \$verb \$cf_target
+ \$INSTALL_DATA \$TMP \$cf_target
+ test -d \$cf_subdir\${section} &&
test -n "\$aliases" && (
cd \$cf_subdir\${section} && (
- source=\`echo \$target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
- test -n "$cf_so_strip" && source=\`echo \$source |sed -e 's%\.$cf_so_strip\$%%'\`
- target=\`basename \$target\`
+ cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
+ test -n "$cf_so_strip" && cf_source=\`echo \$cf_source |sed -e 's%\.$cf_so_strip\$%%'\`
+ cf_target=\`basename \$cf_target\`
for cf_alias in \$aliases
do
if test \$section = 1 ; then
if test "$MANPAGE_SYMLINKS" = yes ; then
if test -f \$cf_alias\${suffix} ; then
- if ( cmp -s \$target \$cf_alias\${suffix} )
+ if ( cmp -s \$cf_target \$cf_alias\${suffix} )
then
continue
fi
fi
echo .. \$verb alias \$cf_alias\${suffix}
rm -f \$cf_alias\${suffix}
- $LN_S \$target \$cf_alias\${suffix}
- elif test "\$target" != "\$cf_alias\${suffix}" ; then
- echo ".so \$source" >\$TMP
+ $LN_S \$cf_target \$cf_alias\${suffix}
+ elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
+ echo ".so \$cf_source" >\$TMP
CF_EOF
if test -n "$cf_compress" ; then
cat >>$cf_edit_man <<CF_EOF
)
)
elif test \$verb = removing ; then
- echo \$verb \$target
- rm -f \$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
])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
if test "$cf_cv_need_libm" = yes
then
ifelse($1,,[
- LIBS="$LIBS -lm"
+ LIBS="-lm $LIBS"
],[$1=-lm])
fi
])
test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MKSTEMP version: 3 updated: 2001/11/08 20:59:59
+dnl CF_MKSTEMP version: 5 updated: 2006/12/16 12:33:30
dnl ----------
dnl Check for a working mkstemp. This creates two files, checks that they are
dnl successfully created and distinct (AmigaOS apparently fails on the last).
if (result == 0
&& !strcmp(name[0], name[1]))
result = 1;
- exit(result);
+ ${cf_cv_main_return:-return}(result);
}
],[cf_cv_func_mkstemp=yes
],[cf_cv_func_mkstemp=no
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52
+dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
dnl ----------
dnl Write a debug message to config.log, along with the line number in the
dnl configure script.
AC_DEFUN([CF_MSG_LOG],[
-echo "(line __oline__) testing $* ..." 1>&AC_FD_CC
+echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
fi
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
+dnl ------------------
+dnl see CF_WITH_NO_LEAKS
+AC_DEFUN([CF_NO_LEAKS_OPTION],[
+AC_MSG_CHECKING(if you want to use $1 for testing)
+AC_ARG_WITH($1,
+ [$2],
+ [AC_DEFINE($3)ifelse([$4],,[
+ $4
+])
+ : ${with_cflags:=-g}
+ : ${with_no_leaks:=yes}
+ with_$1=yes],
+ [with_$1=])
+AC_MSG_RESULT(${with_$1:-no})
+
+case .$with_cflags in #(vi
+.*-g*)
+ case .$CFLAGS in #(vi
+ .*-g*) #(vi
+ ;;
+ *)
+ CF_ADD_CFLAGS([-g])
+ ;;
+ esac
+ ;;
+esac
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_NUMBER_SYNTAX version: 1 updated: 2003/09/20 18:12:49
dnl ----------------
dnl Check if the given variable is a number. If not, report an error.
esac
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
+dnl CF_PATHSEP version: 4 updated: 2009/01/11 20:30:23
dnl ----------
dnl Provide a value for the $PATH and similar separator
AC_DEFUN([CF_PATHSEP],
[
case $cf_cv_system_name in
- os2*) PATHSEP=';' ;;
- *) PATHSEP=':' ;;
+ os2*) PATH_SEPARATOR=';' ;;
+ *) PATH_SEPARATOR=':' ;;
esac
-ifelse($1,,,[$1=$PATHSEP])
- AC_SUBST(PATHSEP)
+ifelse($1,,,[$1=$PATH_SEPARATOR])
+ AC_SUBST(PATH_SEPARATOR)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
+dnl CF_PATH_SYNTAX version: 12 updated: 2008/03/23 14:45:59
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
dnl result begins with 'NONE'. This is necessary to work around autoconf's
dnl delayed evaluation of those symbols.
AC_DEFUN([CF_PATH_SYNTAX],[
+if test "x$prefix" != xNONE; then
+ cf_path_syntax="$prefix"
+else
+ cf_path_syntax="$ac_default_prefix"
+fi
+
case ".[$]$1" in #(vi
.\[$]\(*\)*|.\'*\'*) #(vi
;;
eval $1="[$]$1"
case ".[$]$1" in #(vi
.NONE/*)
- $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
+ $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
;;
esac
;; #(vi
-.NONE/*)
- $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
+.no|.NONE/*)
+ $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%`
;;
*)
- ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
+ ifelse($2,,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2)
;;
esac
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_POSIX_C_SOURCE version: 6 updated: 2005/07/14 20:25:10
+dnl CF_PKG_CONFIG version: 3 updated: 2009/01/25 10:55:09
+dnl -------------
+dnl Check for the package-config program, unless disabled by command-line.
+AC_DEFUN([CF_PKG_CONFIG],
+[
+AC_MSG_CHECKING(if you want to use pkg-config)
+AC_ARG_WITH(pkg-config,
+ [ --with-pkg-config{=path} enable/disable use of pkg-config],
+ [cf_pkg_config=$withval],
+ [cf_pkg_config=yes])
+AC_MSG_RESULT($cf_pkg_config)
+
+case $cf_pkg_config in #(vi
+no) #(vi
+ PKG_CONFIG=none
+ ;;
+yes) #(vi
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, none)
+ ;;
+*)
+ PKG_CONFIG=$withval
+ ;;
+esac
+
+test -z "$PKG_CONFIG" && PKG_CONFIG=none
+if test "$PKG_CONFIG" != none ; then
+ CF_PATH_SYNTAX(PKG_CONFIG)
+fi
+
+AC_SUBST(PKG_CONFIG)
+])dnl
+dnl ---------------------------------------------------------------------------
+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
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
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_PROG_CC_C_O version: 1 updated: 2004/02/14 15:00:43
+dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08
+dnl ------------
+dnl Append definitions and rules for the given programs to the subdirectory
+dnl Makefiles, and the recursion rule for the top-level Makefile.
+dnl
+dnl parameters
+dnl $1 = script to run
+dnl $2 = list of subdirectories
+dnl
+dnl variables
+dnl $AWK
+AC_DEFUN([CF_PRG_RULES],
+[
+for cf_dir in $2
+do
+ if test ! -d $srcdir/$cf_dir; then
+ continue
+ elif test -f $srcdir/$cf_dir/programs; then
+ $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile
+ fi
+done
+
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_AR version: 1 updated: 2009/01/01 20:15:22
+dnl ----------
+dnl Check for archiver "ar".
+AC_DEFUN([CF_PROG_AR],[
+AC_CHECK_TOOL(AR, ar, ar)
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_AWK version: 1 updated: 2006/09/16 11:40:59
+dnl -----------
+dnl Check for awk, ensure that the check found something.
+AC_DEFUN([CF_PROG_AWK],
+[
+AC_PROG_AWK
+test -z "$AWK" && AC_MSG_ERROR(No awk program found)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_PROG_CC_C_O version: 2 updated: 2006/12/16 15:55:46
dnl --------------
dnl Analogous to AC_PROG_CC_C_O, but more useful: tests only $CC, ensures that
dnl the output file can be renamed, and allows for a shell variable that can
#include <stdio.h>
int main()
{
- return 0;
+ ${cf_cv_main_return:-return}(0);
}
CF_EOF
# We do the test twice because some compilers refuse to overwrite an
])
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_PROG_EGREP version: 1 updated: 2006/09/16 11:40:59
+dnl -------------
+dnl AC_PROG_EGREP was introduced in autoconf 2.53.
+dnl This macro adds a check to ensure the script found something.
+AC_DEFUN([CF_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+ then ac_cv_prog_egrep='grep -E'
+ else ac_cv_prog_egrep='egrep'
+ fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+test -z "$EGREP" && AC_MSG_ERROR(No egrep program found)
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
dnl -----------
dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
esac
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_PROG_LDCONFIG version: 1 updated: 2003/09/20 17:07:55
+dnl CF_PROG_LDCONFIG version: 2 updated: 2008/12/13 14:08:40
dnl ----------------
dnl Check for ldconfig, needed to fixup shared libraries that would be built
dnl and then used in the install.
LDCONFIG=:
else
case "$cf_cv_system_name" in #(vi
-freebsd*) #(vi
+dragonfly*|freebsd*) #(vi
test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
;;
*) LDPATH=$PATH:/sbin:/usr/sbin
AC_SUBST(LDCONFIG)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_REGEX version: 3 updated: 1997/11/01 14:26:01
+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 splint lclint)
+AC_SUBST(LINT_OPTS)
+])dnl
+dnl ---------------------------------------------------------------------------
+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
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
+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_RPATH_HACK version: 5 updated: 2010/03/27 18:39:42
+dnl -------------
+AC_DEFUN([CF_RPATH_HACK],
+[
+AC_REQUIRE([CF_LD_RPATH_OPT])
+AC_REQUIRE([CF_SHARED_OPTS])
+AC_MSG_CHECKING(for updated 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
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 31 updated: 2005/01/01 16:39:44
+dnl CF_RPATH_HACK_2 version: 1 updated: 2010/03/27 18:39:42
+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
+ CF_VERBOSE(Filtering $cf_rpath_src)
+ 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_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)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SHARED_OPTS version: 61 updated: 2010/03/27 20:13:59
+dnl --------------
dnl --------------
dnl Attempt to determine the appropriate CC/LD options for creating a shared
dnl library.
dnl
-dnl Note: $(LOCAL_LDFLAGS) is used to link executables that will run within the
+dnl Note: ${LOCAL_LDFLAGS} is used to link executables that will run within the
dnl build-tree, i.e., by making use of the libraries that are compiled in ../lib
dnl We avoid compiling-in a ../lib path for the shared library since that can
dnl lead to unexpected results at runtime.
-dnl $(LOCAL_LDFLAGS2) has the same intention but assumes that the shared libraries
+dnl ${LOCAL_LDFLAGS2} has the same intention but assumes that the shared libraries
dnl are compiled in ../../lib
dnl
dnl The variable 'cf_cv_do_symlinks' is used to control whether we configure
AC_DEFUN([CF_SHARED_OPTS],
[
AC_REQUIRE([CF_SUBST_NCURSES_VERSION])
+ AC_REQUIRE([CF_LD_RPATH_OPT])
LOCAL_LDFLAGS=
LOCAL_LDFLAGS2=
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,
cf_cv_shlib_version=$withval
;;
*)
- AC_ERROR([option value must be one of: rel, abi, auto or no])
+ AC_MSG_ERROR([option value must be one of: rel, abi, auto or no])
;;
esac
],[cf_cv_shlib_version=auto])
cf_cv_shlib_version_infix=no
- case $cf_cv_system_name in
- beos*)
- MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
+ 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*) #(vi
+ MK_SHARED_LIB='${CC} ${CFLAGS} -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
;;
- cygwin*)
+ cygwin*) #(vi
CC_SHARED_OPTS=
- MK_SHARED_LIB='$(CC) -shared -Wl,--out-implib=$(IMPORT_LIB) -Wl,--export-all-symbols -o $(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*)
+ darwin*) #(vi
EXTRA_CFLAGS="-no-cpp-precomp"
CC_SHARED_OPTS="-dynamic"
- MK_SHARED_LIB='$(CC) -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, [
+ cf_save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-search_paths_first"
+ AC_TRY_LINK(, [int i;], cf_cv_ldflags_search_paths_first=yes, cf_cv_ldflags_search_paths_first=no)
+ LDFLAGS=$cf_save_LDFLAGS])
+ if test $cf_cv_ldflags_search_paths_first = yes; then
+ 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)'
+ LD_SHARED_OPTS='-Xlinker +b -Xlinker ${libdir}'
else
CC_SHARED_OPTS='+Z'
- LD_SHARED_OPTS='-Wl,+b,$(libdir)'
+ LD_SHARED_OPTS='-Wl,+b,${libdir}'
fi
- MK_SHARED_LIB='$(LD) +b $(libdir) -b -o $[@]'
+ MK_SHARED_LIB='${LD} +b ${libdir} -b -o $[@]'
# HP-UX shared libraries must be executable, and should be
# 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
- cf_ld_rpath_opt="-Wl,-rpath,"
- EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
- else
- cf_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
CC_SHARED_OPTS='-KPIC'
+ MK_SHARED_LIB='${CC} -shared -rdata_shared -soname `basename $[@]` -o $[@]'
+ else
+ MK_SHARED_LIB='${CC} -shared -Wl,-soname,`basename $[@]` -o $[@]'
fi
- MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
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,`pwd`/lib"
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
- if test "$cf_cv_ld_rpath" = yes ; then
- cf_ld_rpath_opt="-Wl,-rpath,"
- EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
+ if test "$cf_cv_enable_rpath" = yes ; then
+ EXTRA_LDFLAGS="${cf_ld_rpath_opt}\${libdir} $EXTRA_LDFLAGS"
fi
- test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
- MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
;;
- openbsd2*)
+ openbsd[[2-9]].*) #(vi
+ if test "$DFT_LWR_MODEL" = "shared" ; then
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
+ LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
+ fi
+ 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"
- MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]'
;;
- freebsd[[45]]*)
+ nto-qnx*|openbsd*|freebsd[[12]].*) #(vi
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
- MK_SHARED_LIB='$(LD) -Bshareable -soname=`basename $[@]` -o $[@]'
+ MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
-
-# This doesn't work - I keep getting spurious references to needing
-# libncurses.so.5.3 when ldd says it's resolved. LOCAL_LDFLAGS2 seems to be
-# no longer used anyway. And the rpath logic isn't relative - so I have to
-# add the local and install lib-directories:
-#
-# if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
-# LOCAL_LDFLAGS="-rpath `pwd`/lib"
-# LOCAL_LDFLAGS2="-rpath \$(libdir) $LOCAL_LDFLAGS"
-# cf_ld_rpath_opt="-rpath "
-# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
-# fi
;;
- openbsd*|freebsd*)
+ freebsd*) #(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
+ 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 && cf_ld_rpath_opt="-Wl,-rpath,"
- if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
- LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
+ 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"
- MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
+ 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
+ if test -f /usr/libexec/ld.elf_so; then
+ cf_cv_shlib_version=abi
+ else
cf_cv_shlib_version=rel
fi
fi
+ CF_SHARED_SONAME
+ MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]'
else
- MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
+ 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
+ MK_SHARED_LIB='${LD} -set_version ${REL_VERSION}:${ABI_VERSION} -expect_unresolved "*" -shared -soname `basename $[@]`'
+ 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,`pwd`/lib"
+ LOCAL_LDFLAGS="${LD_RPATH_OPT}\$(LOCAL_LIBDIR)"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
- if test "$cf_cv_ld_rpath" = yes ; then
- cf_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
+ MK_SHARED_LIB='${LD} -dy -G -h `basename $[@] .${REL_VERSION}`.${ABI_VERSION} -o [$]@'
+ 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
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
- LINK_PROGS='LD_RUN_PATH=$(libdir)'
+ 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'
fi
- MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
+ 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
- if test "$GCC" != yes; then
- CC_SHARED_OPTS='-KPIC'
- fi
- MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
+ # tested with SunOS 5.10 (solaris 10) and gcc 3.4.3
if test "$DFT_LWR_MODEL" = "shared" ; then
- LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
+ LOCAL_LDFLAGS="-R \$(LOCAL_LIBDIR):\${libdir}"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
- if test "$cf_cv_ld_rpath" = yes ; then
- cf_ld_rpath_opt="-R"
+ if test "$cf_cv_enable_rpath" = yes ; then
EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
fi
- test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
+ CF_SHARED_SONAME
+ if test "$GCC" != yes; then
+ cf_save_CFLAGS="$CFLAGS"
+ for cf_shared_opts in -xcode=pic13 -xcode=pic32 -Kpic -KPIC -O
+ do
+ CFLAGS="$cf_shared_opts $cf_save_CFLAGS"
+ AC_TRY_COMPILE([#include <stdio.h>],[printf("Hello\n");],[break])
+ done
+ CFLAGS="$cf_save_CFLAGS"
+ CC_SHARED_OPTS=$cf_shared_opts
+ MK_SHARED_LIB='${CC} -dy -G -h '$cf_cv_shared_soname' -o $[@]'
+ else
+ 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'
fi
- MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
+ MK_SHARED_LIB='${LD} -d y -G -o [$]@'
;;
*)
CC_SHARED_OPTS='unknown'
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
;;
*)
esac
if test -n "$cf_ld_rpath_opt" ; then
- AC_MSG_CHECKING(if we need a space after rpath option)
- cf_save_LIBS="$LIBS"
- LIBS="$LIBS ${cf_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 && cf_ld_rpath_opt="$cf_ld_rpath_opt "
- MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
+ MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}"
fi
AC_SUBST(CC_SHARED_OPTS)
+ AC_SUBST(LD_RPATH_OPT)
AC_SUBST(LD_SHARED_OPTS)
AC_SUBST(MK_SHARED_LIB)
AC_SUBST(LINK_PROGS)
AC_SUBST(INSTALL_LIB)
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_SHARED_SONAME version: 3 updated: 2008/09/08 18:34:43
+dnl ----------------
+dnl utility macro for CF_SHARED_OPTS, constructs "$cf_cv_shared_soname" for
+dnl substitution into MK_SHARED_LIB string for the "-soname" (or similar)
+dnl option.
+dnl
+dnl $1 is the default that should be used for "$cf_cv_shlib_version".
+dnl If missing, use "rel".
+define([CF_SHARED_SONAME],
+[
+ test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=ifelse($1,,rel,$1)
+ if test "$cf_cv_shlib_version" = rel; then
+ cf_cv_shared_soname='`basename $[@] .${REL_VERSION}`.${ABI_VERSION}'
+ else
+ cf_cv_shared_soname='`basename $[@]`'
+ fi
+])
+dnl ---------------------------------------------------------------------------
+dnl CF_SIGWINCH version: 1 updated: 2006/04/02 16:41:09
+dnl -----------
+dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all
+dnl programs need this test).
+dnl
+dnl This is really a MacOS X 10.4.3 workaround. Defining _POSIX_C_SOURCE
+dnl forces SIGWINCH to be undefined (breaks xterm, ncurses). Oddly, the struct
+dnl winsize declaration is left alone - we may revisit this if Apple choose to
+dnl break that part of the interface as well.
+AC_DEFUN([CF_SIGWINCH],
+[
+AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[
+ AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/signal.h>
+],[int x = SIGWINCH],
+ [cf_cv_define_sigwinch=yes],
+ [AC_TRY_COMPILE([
+#undef _XOPEN_SOURCE
+#undef _POSIX_SOURCE
+#undef _POSIX_C_SOURCE
+#include <sys/types.h>
+#include <sys/signal.h>
+],[int x = SIGWINCH],
+ [cf_cv_define_sigwinch=maybe],
+ [cf_cv_define_sigwinch=no])
+])
+])
+
+if test "$cf_cv_define_sigwinch" = maybe ; then
+AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[
+cf_cv_fixup_sigwinch=unknown
+cf_sigwinch=32
+while test $cf_sigwinch != 1
+do
+ AC_TRY_COMPILE([
+#undef _XOPEN_SOURCE
+#undef _POSIX_SOURCE
+#undef _POSIX_C_SOURCE
+#include <sys/types.h>
+#include <sys/signal.h>
+],[
+#if SIGWINCH != $cf_sigwinch
+make an error
+#endif
+int x = SIGWINCH],
+ [cf_cv_fixup_sigwinch=$cf_sigwinch
+ break])
+
+cf_sigwinch=`expr $cf_sigwinch - 1`
+done
+])
+
+ if test "$cf_cv_fixup_sigwinch" != unknown ; then
+ CPPFLAGS="$CPPFLAGS -DSIGWINCH=$cf_cv_fixup_sigwinch"
+ fi
+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
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SRC_MODULES version: 18 updated: 2005/05/28 12:58:54
+dnl CF_SRC_MODULES version: 20 updated: 2008/12/27 12:30:03
dnl --------------
dnl For each parameter, test if the source-directory exists, and if it contains
dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
AC_SUBST(TEST_ARG2)
AC_SUBST(TEST_DEP2)
-SRC_SUBDIRS="man include"
+SRC_SUBDIRS=
+if test "x$cf_with_manpages" != xno ; then
+ SRC_SUBDIRS="$SRC_SUBDIRS man"
+fi
+SRC_SUBDIRS="$SRC_SUBDIRS include"
for cf_dir in $cf_cv_src_modules
do
SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
ADA_SUBDIRS=
if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
- SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
- ADA_SUBDIRS="gen src samples"
+ SRC_SUBDIRS="$SRC_SUBDIRS Ada95"
+ ADA_SUBDIRS="gen src samples"
fi
SUB_MAKEFILES=
done
if test -n "$ADA_SUBDIRS"; then
- for cf_dir in $ADA_SUBDIRS
- do
- SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
- done
- AC_SUBST(ADA_SUBDIRS)
+ for cf_dir in $ADA_SUBDIRS
+ do
+ SUB_MAKEFILES="$SUB_MAKEFILES Ada95/$cf_dir/Makefile"
+ done
+ AC_SUBST(ADA_SUBDIRS)
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],
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];
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
+dnl CF_SUBDIR_PATH version: 5 updated: 2007/07/29 09:55:12
+dnl --------------
+dnl Construct a search-list for a nonstandard header/lib-file
+dnl $1 = the variable to return as result
+dnl $2 = the package name
+dnl $3 = the subdirectory, e.g., bin, include or lib
+AC_DEFUN([CF_SUBDIR_PATH],
+[$1=""
+
+CF_ADD_SUBDIR_PATH($1,$2,$3,/usr,$prefix)
+CF_ADD_SUBDIR_PATH($1,$2,$3,$prefix,NONE)
+CF_ADD_SUBDIR_PATH($1,$2,$3,/usr/local,$prefix)
+CF_ADD_SUBDIR_PATH($1,$2,$3,/opt,$prefix)
+CF_ADD_SUBDIR_PATH($1,$2,$3,[$]HOME,$prefix)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SUBST version: 4 updated: 2006/06/17 12:33:03
dnl --------
dnl Shorthand macro for substituting things that the user may override
dnl with an environment variable.
AC_DEFUN([CF_SUBST],
[AC_CACHE_VAL(cf_cv_subst_$2,[
AC_MSG_CHECKING(for $1 (symbol $2))
-test -z "[$]$2" && $2=$3
+CF_SUBST_IF([-z "[$]$2"], [$2], [$3])
+cf_cv_subst_$2=[$]$2
AC_MSG_RESULT([$]$2)
+])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_SUBST_IF version: 2 updated: 2006/06/17 12:33:03
+dnl -----------
+dnl Shorthand macro for substituting things that the user may override
+dnl with an environment variable.
+dnl
+dnl $1 = condition to pass to "test"
+dnl $2 = environment variable
+dnl $3 = value if the test succeeds
+dnl $4 = value if the test fails
+AC_DEFUN([CF_SUBST_IF],
+[
+if test $1 ; then
+ $2=$3
+ifelse($4,,,[else
+ $2=$4])
+fi
AC_SUBST($2)
-cf_cv_subst_$2=[$]$2])
-$2=${cf_cv_subst_$2}
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SUBST_NCURSES_VERSION version: 7 updated: 2003/06/07 16:22:51
+dnl CF_SUBST_NCURSES_VERSION version: 8 updated: 2006/09/16 11:40:59
dnl ------------------------
dnl Get the version-number for use in shared-library naming, etc.
AC_DEFUN([CF_SUBST_NCURSES_VERSION],
[
-NCURSES_MAJOR="`egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
-NCURSES_MINOR="`egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
-NCURSES_PATCH="`egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
+AC_REQUIRE([CF_PROG_EGREP])
+NCURSES_MAJOR="`$ac_cv_prog_egrep '^NCURSES_MAJOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
+NCURSES_MINOR="`$ac_cv_prog_egrep '^NCURSES_MINOR[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
+NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[[ ]]*=' $srcdir/dist.mk | sed -e 's/^[[^0-9]]*//'`"
cf_cv_abi_version=${NCURSES_MAJOR}
cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR}
dnl Show the computed version, for logging
test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_TYPEOF_CHTYPE version: 6 updated: 2005/06/25 16:16:34
+dnl CF_TOP_BUILDDIR version: 1 updated: 2006/10/15 16:33:23
+dnl ---------------
+dnl Define a top_builddir symbol, for applications that need an absolute path.
+AC_DEFUN([CF_TOP_BUILDDIR],
+[
+top_builddir=`pwd`
+AC_SUBST(top_builddir)
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_TYPEOF_CHTYPE version: 8 updated: 2006/12/16 12:33:30
dnl ----------------
dnl Determine the type we should use for chtype (and attr_t, which is treated
dnl as the same thing). We want around 32 bits, so on most machines want a
fputs(result, fp);
fclose(fp);
}
- exit(0);
+ ${cf_cv_main_return:-return}(0);
}
],
[cf_cv_typeof_chtype=`cat cf_test.out`],
$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
+dnl CF_UTF8_LIB version: 5 updated: 2008/10/17 19:37:52
+dnl -----------
+dnl Check for multibyte support, and if not found, utf8 compatibility library
+AC_DEFUN([CF_UTF8_LIB],
+[
+AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
+ cf_save_LIBS="$LIBS"
+ AC_TRY_LINK([
+#include <stdlib.h>],[putwc(0,0);],
+ [cf_cv_utf8_lib=yes],
+ [CF_FIND_LINKAGE([
+#include <libutf8.h>],[putwc(0,0);],utf8,
+ [cf_cv_utf8_lib=add-on],
+ [cf_cv_utf8_lib=no])
+])])
+
+# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
+# ncurses/ncursesw:
+if test "$cf_cv_utf8_lib" = "add-on" ; then
+ AC_DEFINE(HAVE_LIBUTF8_H)
+ CF_ADD_INCDIR($cf_cv_header_path_utf8)
+ CF_ADD_LIBDIR($cf_cv_library_path_utf8)
+ LIBS="-lutf8 $LIBS"
+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
AC_DEFUN([CF_VERBOSE],
[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
+CF_MSG_LOG([$1])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20
])
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_WEAK_SYMBOLS version: 1 updated: 2008/08/16 19:18:06
+dnl ---------------
+dnl Check for compiler-support for weak symbols.
+dnl This works with "recent" gcc.
+AC_DEFUN([CF_WEAK_SYMBOLS],[
+AC_CACHE_CHECK(if $CC supports weak symbols,cf_cv_weak_symbols,[
+
+AC_TRY_COMPILE([
+#include <stdio.h>],
+[
+#if defined(__GNUC__)
+# if defined __USE_ISOC99
+# define _cat_pragma(exp) _Pragma(#exp)
+# define _weak_pragma(exp) _cat_pragma(weak name)
+# else
+# define _weak_pragma(exp)
+# endif
+# define _declare(name) __extension__ extern __typeof__(name) name
+# define weak_symbol(name) _weak_pragma(name) _declare(name) __attribute__((weak))
+#endif
+
+weak_symbol(fopen);
+],[cf_cv_weak_symbols=yes],[cf_cv_weak_symbols=no])
+])
+])dnl
+dnl ---------------------------------------------------------------------------
dnl CF_WITH_ABI_VERSION version: 1 updated: 2003/09/20 18:12:49
dnl -------------------
dnl Allow library's ABI to be overridden. Generally this happens when a
])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_DBMALLOC version: 4 updated: 2004/02/28 05:49:27
+dnl CF_WITH_DBMALLOC version: 6 updated: 2006/12/16 14:24:05
dnl ----------------
dnl Configure-option for dbmalloc. The optional parameter is used to override
dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
AC_DEFUN([CF_WITH_DBMALLOC],[
-AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
-AC_ARG_WITH(dbmalloc,
- [ --with-dbmalloc use Conor Cahill's dbmalloc library],
- [with_dbmalloc=$withval],
- [with_dbmalloc=no])
-AC_MSG_RESULT($with_dbmalloc)
+CF_NO_LEAKS_OPTION(dbmalloc,
+ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
+ [USE_DBMALLOC])
+
if test "$with_dbmalloc" = yes ; then
AC_CHECK_HEADER(dbmalloc.h,
[AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse($1,,[],[,$1]))])
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_DMALLOC version: 4 updated: 2004/02/28 05:49:27
+dnl CF_WITH_DMALLOC version: 6 updated: 2006/12/16 14:24:05
dnl ---------------
dnl Configure-option for dmalloc. The optional parameter is used to override
dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
AC_DEFUN([CF_WITH_DMALLOC],[
-AC_MSG_CHECKING(if you want to link with dmalloc for testing)
-AC_ARG_WITH(dmalloc,
- [ --with-dmalloc use Gray Watson's dmalloc library],
- [with_dmalloc=$withval],
- [with_dmalloc=no])
-AC_MSG_RESULT($with_dmalloc)
+CF_NO_LEAKS_OPTION(dmalloc,
+ [ --with-dmalloc test: use Gray Watson's dmalloc library],
+ [USE_DMALLOC])
+
if test "$with_dmalloc" = yes ; then
AC_CHECK_HEADER(dmalloc.h,
[AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse($1,,[],[,$1]))])
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_GPM version: 1 updated: 2005/06/25 15:47:45
+dnl CF_WITH_GPM version: 7 updated: 2008/03/23 14:48:54
dnl -----------
+dnl
+dnl The option parameter (if neither yes/no) is assumed to be the name of
+dnl the gpm library, e.g., for dynamic loading.
AC_DEFUN([CF_WITH_GPM],
[
AC_MSG_CHECKING(if you want to link with the GPM mouse library)
[with_gpm=$withval],
[with_gpm=maybe])
AC_MSG_RESULT($with_gpm)
+
if test "$with_gpm" != no ; then
- AC_CHECK_LIB(gpm,Gpm_Open,[
- AC_CHECK_HEADER(gpm.h,[
- AC_DEFINE(HAVE_GPM_H)
- with_gpm=yes
- ],[
- if test "$with_gpm" = yes ; then
- AC_ERROR(Cannot find GPM header)
- fi
+ AC_CHECK_HEADER(gpm.h,[
+ AC_DEFINE(HAVE_GPM_H)
+ if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then
+ CF_VERBOSE(assuming we really have GPM library)
+ AC_DEFINE(HAVE_LIBGPM)
+ else
+ AC_CHECK_LIB(gpm,Gpm_Open,[:],[
+ AC_MSG_ERROR(Cannot link with GPM library)
+ fi
+ with_gpm=yes
])
],[
- if test "$with_gpm" = yes ; then
- AC_ERROR(Cannot link with GPM library)
- fi
+ test "$with_gpm" != maybe && AC_MSG_WARN(Cannot find GPM header)
with_gpm=no
])
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_LIBTOOL version: 9 updated: 2004/01/16 14:55:37
+dnl CF_WITH_LIBTOOL version: 23 updated: 2009/03/28 14:26:27
dnl ---------------
dnl Provide a configure option to incorporate libtool. Define several useful
dnl symbols for the makefile rules.
dnl echo cannot find libtool.m4 file
dnl exit 1
dnl fi
-dnl
+dnl
dnl LOCAL=aclocal.m4
dnl ORIG=aclocal.m4.orig
-dnl
+dnl
dnl trap "mv $ORIG $LOCAL" 0 1 2 5 15
dnl rm -f $ORIG
dnl mv $LOCAL $ORIG
-dnl
+dnl
dnl # sed the LIBTOOL= assignment to omit the current directory?
dnl sed -e 's/^LIBTOOL=.*/LIBTOOL=${LIBTOOL-libtool}/' $ACLOCAL/libtool.m4 >>$LOCAL
dnl cat $ORIG >>$LOCAL
-dnl
+dnl
dnl autoconf-257 $*
dnl
AC_DEFUN([CF_WITH_LIBTOOL],
LIBTOOL=
])
# common library maintenance symbols that are convenient for libtool scripts:
-LIB_CREATE='$(AR) -cr'
-LIB_OBJECT='$(OBJECTS)'
+LIB_CREATE='${AR} -cr'
+LIB_OBJECT='${OBJECTS}'
LIB_SUFFIX=.a
LIB_PREP="$RANLIB"
# doing:
LIB_CLEAN=
LIB_COMPILE=
-LIB_LINK=
+LIB_LINK='${CC}'
LIB_INSTALL=
LIB_UNINSTALL=
AC_PROG_LIBTOOL
# missing_content_AC_PROG_LIBTOOL}}
],[
- if test "$with_libtool" != "yes" ; then
+ if test "$with_libtool" != "yes" ; then
CF_PATH_SYNTAX(with_libtool)
LIBTOOL=$with_libtool
else
- AC_PATH_PROG(LIBTOOL,libtool)
- fi
- if test -z "$LIBTOOL" ; then
- AC_MSG_ERROR(Cannot find libtool)
- fi
+ AC_PATH_PROG(LIBTOOL,libtool)
+ fi
+ if test -z "$LIBTOOL" ; then
+ 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} ${LT_UNDEF} -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_INSTALL='$(LIBTOOL) --mode=install'
- LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
+ LIB_CLEAN='${LIBTOOL} --mode=clean'
+ LIB_COMPILE='${LIBTOOL} --mode=compile'
+ LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
+ LIB_INSTALL='${LIBTOOL} --mode=install'
+ LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
LIB_PREP=:
# Show the version of 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 '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
+ # bug reports it might be useful to have the original string. "("
+ 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 -no-undefined (which libtool should do for itself)
+ LT_UNDEF=
+ case "$cf_cv_system_name" in #(vi
+ cygwin*|mingw32*|uwin*|aix[[456]]) #(vi
+ LT_UNDEF=-no-undefined
+ ;;
+ esac
+ AC_SUBST([LT_UNDEF])
+
# special hack to add --tag option for C++ compiler
- case $cf_cv_libtool_version in
- 1.[[5-9]]*|[[2-9]]*)
+ case $cf_cv_libtool_version in #(vi
+ 1.[[5-9]]*|[[2-9]].[[0-9.a-z]]*) #(vi
LIBTOOL_CXX="$LIBTOOL --tag=CXX"
+ LIBTOOL="$LIBTOOL --tag=CC"
;;
*)
LIBTOOL_CXX="$LIBTOOL"
AC_SUBST(LIBTOOL)
AC_SUBST(LIBTOOL_CXX)
+AC_SUBST(LIBTOOL_OPTS)
AC_SUBST(LIB_CREATE)
AC_SUBST(LIB_OBJECT)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PATH version: 6 updated: 1998/10/11 00:40:17
+dnl CF_WITH_PATH version: 8 updated: 2007/05/13 13:16:35
dnl ------------
dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
dnl defaulting to yes/no.
AC_DEFUN([CF_WITH_PATH],
[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
+if ifelse($5,,true,[test -n "$5"]) ; then
CF_PATH_SYNTAX(withval)
-eval $3="$withval"
+fi
+$3="$withval"
AC_SUBST($3)dnl
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_PATHLIST version: 5 updated: 2001/12/10 01:28:30
+dnl CF_WITH_PATHLIST version: 6 updated: 2009/01/11 20:30:23
dnl ----------------
dnl Process an option specifying a list of colon-separated paths.
dnl
AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
ifelse($4,,[withval=${$3}],[withval=${$3-ifelse($5,,$4,$5)}]))dnl
-IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATHSEP}"
+IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${PATH_SEPARATOR}"
cf_dst_path=
for cf_src_path in $withval
do
])dnl
dnl ---------------------------------------------------------------------------
+dnl CF_WITH_PTHREAD version: 2 updated: 2008/08/23 18:26:05
+dnl ---------------
+dnl Check for POSIX thread library.
+AC_DEFUN([CF_WITH_PTHREAD],
+[
+AC_MSG_CHECKING(if you want to link with the pthread library)
+AC_ARG_WITH(pthread,
+ [ --with-pthread use POSIX thread library],
+ [with_pthread=$withval],
+ [with_pthread=no])
+AC_MSG_RESULT($with_pthread)
+
+if test "$with_pthread" != no ; then
+ AC_CHECK_HEADER(pthread.h,[
+ AC_DEFINE(HAVE_PTHREADS_H)
+
+ AC_MSG_CHECKING(if we can link with the pthread library)
+ cf_save_LIBS="$LIBS"
+ LIBS="-lpthread $LIBS"
+ AC_TRY_LINK([
+#include <pthread.h>
+],[
+ int rc = pthread_create(0,0,0,0);
+],[with_pthread=yes],[with_pthread=no])
+ LIBS="$cf_save_LIBS"
+ AC_MSG_RESULT($with_pthread)
+
+ if test "$with_pthread" = yes ; then
+ LIBS="-lpthread $LIBS"
+ AC_DEFINE(HAVE_LIBPTHREADS)
+ else
+ AC_MSG_ERROR(Cannot link with pthread library)
+ fi
+ ])
+fi
+])
+dnl ---------------------------------------------------------------------------
dnl CF_WITH_REL_VERSION version: 1 updated: 2003/09/20 18:12:49
dnl -------------------
dnl Allow library's release-version to be overridden. Generally this happens when a
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_XOPEN_SOURCE version: 22 updated: 2005/08/06 18:06:32
+dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
+dnl ----------------
+AC_DEFUN([CF_WITH_VALGRIND],[
+CF_NO_LEAKS_OPTION(valgrind,
+ [ --with-valgrind test: use valgrind],
+ [USE_VALGRIND])
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl CF_XOPEN_SOURCE version: 32 updated: 2010/01/09 11:05:50
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.
+dnl or adapt to the vendor's definitions to get equivalent functionality,
+dnl without losing the common non-POSIX features.
dnl
dnl Parameters:
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[[45]]*) #(vi
- CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
+aix[[456]]*) #(vi
+ cf_xopen_source="-D_ALL_SOURCE"
+ ;;
+darwin[[0-8]].*) #(vi
+ cf_xopen_source="-D_APPLE_C_SOURCE"
;;
darwin*) #(vi
- # setting _XOPEN_SOURCE breaks things on Darwin
+ cf_xopen_source="-D_DARWIN_C_SOURCE"
;;
-freebsd*) #(vi
+freebsd*|dragonfly*) #(vi
# 5.x headers associate
# _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
# _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
+ 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*) #(vi
+linux*|gnu*|mint*|k*bsd*-gnu) #(vi
CF_GNU_SOURCE
;;
mirbsd*) #(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__"
+ cf_xopen_source="-D__EXTENSIONS__"
;;
*)
AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
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
])