1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
dnl Check for libreadline of proper version
AC_DEFUN(READLINE_CHECK,
[AC_MSG_CHECKING(for readline)
AC_CACHE_VAL(lftp_cv_precompiled_readline,
[
old_LIBS="$LIBS"
LIBS="-lreadline $READLINE_SUPPLIB $LIBS"
AC_TRY_LINK([extern int (*rl_getc_function)();],
[rl_getc_function=0;],
lftp_cv_precompiled_readline=yes,
lftp_cv_precompiled_readline=no)
LIBS="$old_LIBS"
])
if test $lftp_cv_precompiled_readline = yes; then
READLINE_DIR=''
AC_MSG_RESULT(yes)
READLINE='-lreadline'
READLINE_DEPEND=''
COMPILE_READLINE=no
else
READLINE_DIR=readline-2.2
AC_MSG_RESULT(no - will compile)
AC_CONFIG_SUBDIRS($READLINE_DIR)
LINK_SRC="$LINK_SRC $READLINE_DIR"
LINK_DST="$LINK_DST include/readline"
READLINE='-L$(top_builddir)/$(READLINE_DIR) -lreadline'
READLINE_DEPEND='$(top_builddir)/$(READLINE_DIR)/libreadline.a'
COMPILE_READLINE=yes
fi
AC_SUBST(COMPILE_READLINE)
AC_SUBST(READLINE_DIR)
AC_SUBST(READLINE_DEPEND)
AC_SUBST(READLINE)
])
dnl check if c++ compiler can use dynamic initializers for static variables
AC_DEFUN(CXX_DYNAMIC_INITIALIZERS,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_MSG_CHECKING(if c++ compiler can handle dynamic initializers)
AC_TRY_RUN(
[
int f() { return 1; }
int a=f();
int main()
{
exit(1-a);
}
],
[cxx_dynamic_init=yes],
[cxx_dynamic_init=no],
[cxx_dynamic_init=yes])
AC_MSG_RESULT($cxx_dynamic_init)
if test x$cxx_dynamic_init = xno; then
AC_MSG_ERROR(C++ compiler cannot handle dynamic initializers of static objects)
fi
AC_LANG_RESTORE
])
dnl Check for size of addr length argument
AC_DEFUN(ADDRLEN_TYPE_CHECK,
[
AC_MSG_CHECKING(for addrlen type)
AC_CACHE_VAL(lftp_cv_addrlen_type,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
old_CXXFLAGS="$CXXFLAGS"
if test "$GXX" = yes; then
CXXFLAGS="$CXXFLAGS -Werror"
fi
lftp_cv_addrlen_type=unknown
for type in socklen_t size_t int; do
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
],
[
$type len;
getpeername(0,0,&len);
],
[
lftp_cv_addrlen_type=$type
break
])
done
AC_LANG_RESTORE
CXXFLAGS="$old_CXXFLAGS"
])
if test $lftp_cv_addrlen_type = unknown; then
ADDRLEN_TYPE=int
AC_MSG_RESULT(unknown - assuming $ADDRLEN_TYPE)
else
ADDRLEN_TYPE=$lftp_cv_addrlen_type
AC_MSG_RESULT($ADDRLEN_TYPE)
fi
AC_DEFINE_UNQUOTED(ADDRLEN_TYPE, $ADDRLEN_TYPE)
])
AC_DEFUN(LFTP_FUNC_POLL,
[
AC_MSG_CHECKING(for working poll)
AC_CACHE_VAL(lftp_cv_func_poll_works,
[
AC_TRY_RUN([int main() { return poll(0,0,0)!=0; }],
[lftp_cv_func_poll_works=yes;],
[lftp_cv_func_poll_works=no;],
[lftp_cv_func_poll_works=no;])
])
AC_MSG_RESULT($lftp_cv_func_poll_works)
if test $lftp_cv_func_poll_works = yes; then
AC_DEFINE(HAVE_POLL)
fi
])
AC_DEFUN(LFTP_PROG_CXXLINK,
[
AC_MSG_CHECKING(how to link simple c++ programs)
if test "$GCC" = yes -a "$GXX" = yes; then
old_CXX="$CXX"
CXX="$CC"
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([],[char *a=new char[10]; exit(0);],
[],[CXX="$old_CXX";])
AC_LANG_RESTORE
fi
AC_MSG_RESULT(using $CXX)
])
|