|
Packit |
8f70b4 |
dnl -*-autoconf-*-
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_PROG_CXXLINK],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(how to link simple c++ programs)
|
|
Packit |
8f70b4 |
if test "$GCC" = yes -a "$GXX" = yes; then
|
|
Packit |
8f70b4 |
old_CXX="$CXX"
|
|
Packit |
8f70b4 |
CXX="$CC"
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[char *a=new char[10];delete[] a;]])],[],[
|
|
Packit |
8f70b4 |
old_LIBS="$LIBS"
|
|
Packit |
8f70b4 |
LIBS="-lsupc++ $LIBS"
|
|
Packit |
8f70b4 |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[char *a=new char[10];delete[] a;]])],[],[LIBS="$old_LIBS"; CXX="$old_CXX";])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
AC_MSG_RESULT(using $CXX)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
dnl try to build and run a dummy program
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CXX_TEST],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(if c++ compiler works)
|
|
Packit |
8f70b4 |
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() { return(0); } ]])],[AC_MSG_RESULT(yes)],[
|
|
Packit |
8f70b4 |
AC_MSG_RESULT(no)
|
|
Packit |
8f70b4 |
AC_MSG_ERROR(C++ test compile failed; check your C++ compiler)],[AC_MSG_RESULT(cross-compiling)])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_FUNC_SSCANF_CONST],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(whether sscanf works on const strings)
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_func_sscanf_const_works,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include <stdio.h>
|
|
Packit |
8f70b4 |
int main() {
|
|
Packit |
8f70b4 |
int a,b;
|
|
Packit |
8f70b4 |
return !(sscanf("123x","%d%n",&a,&b)>0);
|
|
Packit |
8f70b4 |
}]])],[lftp_cv_func_sscanf_const_works=yes;],[lftp_cv_func_sscanf_const_works=no;],[lftp_cv_func_sscanf_const_works=yes;])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_func_sscanf_const_works)
|
|
Packit |
8f70b4 |
if test $lftp_cv_func_sscanf_const_works = no; then
|
|
Packit |
8f70b4 |
AC_MSG_WARN(sscanf does not work on const strings)
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
dnl Do nothing if the compiler accepts the inline keyword.
|
|
Packit |
8f70b4 |
dnl Otherwise define c_inline to __inline__ or __inline if one of those work,
|
|
Packit |
8f70b4 |
dnl otherwise define c_inline to be empty.
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_C_INLINE],
|
|
Packit |
8f70b4 |
[AC_CACHE_CHECK([for inline], ac_cv_c_inline,
|
|
Packit |
8f70b4 |
[ac_cv_c_inline=no
|
|
Packit |
8f70b4 |
for ac_kw in inline __inline__ __inline; do
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[} $ac_kw foo() {]])],[ac_cv_c_inline=$ac_kw; break],[])
|
|
Packit |
8f70b4 |
done
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
case "$ac_cv_c_inline" in
|
|
Packit |
8f70b4 |
inline | yes) ;;
|
|
Packit |
8f70b4 |
no) AC_DEFINE(c_inline, ) ;;
|
|
Packit |
8f70b4 |
*) AC_DEFINE_UNQUOTED(c_inline, $ac_cv_c_inline) ;;
|
|
Packit |
8f70b4 |
esac
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_NOIMPLEMENTINLINE],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(if -fno-implement-inlines implements virtual functions)
|
|
Packit |
8f70b4 |
flags="-fno-implement-inlines"
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_noimplementinline,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
old_CXXFLAGS="$CXXFLAGS"
|
|
Packit |
8f70b4 |
CXXFLAGS="$CXXFLAGS $flags"
|
|
Packit |
8f70b4 |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
class aaa
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
int var;
|
|
Packit |
8f70b4 |
public:
|
|
Packit |
8f70b4 |
virtual void func() { var=1; }
|
|
Packit |
8f70b4 |
aaa();
|
|
Packit |
8f70b4 |
virtual ~aaa();
|
|
Packit |
8f70b4 |
};
|
|
Packit |
8f70b4 |
aaa::aaa() { var=0; }
|
|
Packit |
8f70b4 |
aaa::~aaa() {}
|
|
Packit |
8f70b4 |
]], [[]])],[lftp_cv_noimplementinline=yes],[lftp_cv_noimplementinline=no])
|
|
Packit |
8f70b4 |
CXXFLAGS="$old_CXXFLAGS"
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_noimplementinline)
|
|
Packit |
8f70b4 |
if test x$lftp_cv_noimplementinline = xyes; then
|
|
Packit |
8f70b4 |
CXXFLAGS="$CXXFLAGS $flags"
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CHECK_CXX_FLAGS],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
flags="$1"
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(if $CXX supports $flags)
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
old_CXXFLAGS="$CXXFLAGS"
|
|
Packit |
8f70b4 |
CXXFLAGS="$CXXFLAGS $flags"
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
class aaa
|
|
Packit |
8f70b4 |
{
|
|
Packit |
8f70b4 |
int var;
|
|
Packit |
8f70b4 |
public:
|
|
Packit |
8f70b4 |
virtual void func() { var=1; }
|
|
Packit |
8f70b4 |
aaa();
|
|
Packit |
8f70b4 |
virtual ~aaa();
|
|
Packit |
8f70b4 |
};
|
|
Packit |
8f70b4 |
aaa::aaa() { var=0; }
|
|
Packit |
8f70b4 |
aaa::~aaa() {}
|
|
Packit |
8f70b4 |
]], [[]])],[support=yes],[support=no])
|
|
Packit |
8f70b4 |
CXXFLAGS="$old_CXXFLAGS"
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($support)
|
|
Packit |
8f70b4 |
if test x$support = xyes; then
|
|
Packit |
8f70b4 |
CXXFLAGS="$CXXFLAGS $flags"
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CHECK_LIBM],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(if math library is needed)
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_libm_needed,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
#include <math.h>
|
|
Packit |
8f70b4 |
double a,b;
|
|
Packit |
8f70b4 |
]], [[
|
|
Packit |
8f70b4 |
return int(exp(a)+log(b)+pow(a,b));
|
|
Packit |
8f70b4 |
]])],[lftp_cv_libm_needed=no],[lftp_cv_libm_needed=yes])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_libm_needed)
|
|
Packit |
8f70b4 |
if test x$lftp_cv_libm_needed = xyes; then
|
|
Packit |
8f70b4 |
AC_SEARCH_LIBS(exp,m)
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
dnl try to build and run a dummy program
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CXX_BOOL],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(whether $CXX supports bool type)
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_cxx_bool,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[bool t=true;bool f=false;]], [[]])],[lftp_cv_cxx_bool=yes],[lftp_cv_cxx_bool=no])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_cxx_bool)
|
|
Packit |
8f70b4 |
if test x$lftp_cv_cxx_bool = xyes; then
|
|
Packit |
8f70b4 |
AC_DEFINE(HAVE_CXX_BOOL, 1, [define if c++ compiler supports bool])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
AH_VERBATIM([OPT_CPP_BOOL], [
|
|
Packit |
8f70b4 |
#if defined(__cplusplus) && !defined(HAVE_CXX_BOOL)
|
|
Packit |
8f70b4 |
typedef unsigned _bool;
|
|
Packit |
8f70b4 |
#define bool _bool
|
|
Packit |
8f70b4 |
#define false 0U
|
|
Packit |
8f70b4 |
#define true 1U
|
|
Packit |
8f70b4 |
#endif ])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
dnl try to build and run a dummy program
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CXX__BOOL],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(whether $CXX supports _Bool type)
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_cxx__Bool,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[_Bool t=true;bool f=false;]], [[]])],[lftp_cv_cxx__Bool=yes],[lftp_cv_cxx__Bool=no])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_cxx__Bool)
|
|
Packit |
8f70b4 |
if test x$lftp_cv_cxx__Bool = xyes; then
|
|
Packit |
8f70b4 |
AC_DEFINE(HAVE_CXX__BOOL, 1, [define if c++ compiler supports _Bool])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
AH_VERBATIM([OPT_CPP__BOOL], [
|
|
Packit |
8f70b4 |
#if defined(__cplusplus) && !defined(HAVE_CXX__BOOL)
|
|
Packit |
8f70b4 |
typedef bool _Bool;
|
|
Packit |
8f70b4 |
#endif ])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
dnl check if C++ compiler needs extra arguments to grok ANSI scoping rules
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CXX_ANSI_SCOPE],
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING([whether $CXX understands ANSI scoping rules])
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_cxx_ansi_scope,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
|
|
Packit |
8f70b4 |
for (int i = 0; i < 4; i++) ;
|
|
Packit |
8f70b4 |
for (int i = 0; i < 4; i++) ;]])],[lftp_cv_cxx_ansi_scope=yes],[
|
|
Packit |
8f70b4 |
# IRIX C++ needs -LANG:ansi-for-init-scope=ON if
|
|
Packit |
8f70b4 |
# -LANG:std not used
|
|
Packit |
8f70b4 |
_cxxflags=$CXXFLAGS
|
|
Packit |
8f70b4 |
CXXFLAGS="$CXXFLAGS -LANG:ansi-for-init-scope=ON"
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
|
|
Packit |
8f70b4 |
for (int i = 0; i < 4; i++) ;
|
|
Packit |
8f70b4 |
for (int i = 0; i < 4; i++) ;]])],[lftp_cv_cxx_ansi_scope="-LANG:ansi-for-init-scope=ON"],[lftp_cv_cxx_ansi_scope=no])
|
|
Packit |
8f70b4 |
CXXFLAGS=$_cxxflags
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
if test x$lftp_cv_cxx_ansi_scope = xno; then
|
|
Packit |
8f70b4 |
AC_MSG_RESULT([$lftp_cv_cxx_ansi_scope])
|
|
Packit |
8f70b4 |
AC_MSG_ERROR([C++ compiler does not understand ANSI scoping rules])
|
|
Packit |
8f70b4 |
elif test x$lftp_cv_cxx_ansi_scope != xyes; then
|
|
Packit |
8f70b4 |
AC_MSG_RESULT([$lftp_cv_cxx_ansi_scope added to \$CXXFLAGS])
|
|
Packit |
8f70b4 |
CXXFLAGS="$CXXFLAGS $lftp_cv_cxx_ansi_scope"
|
|
Packit |
8f70b4 |
else
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_cxx_ansi_scope)
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_ENVIRON_CHECK],[
|
|
Packit |
8f70b4 |
AC_CACHE_CHECK([for environ variable],[lftp_cv_environ],[
|
|
Packit |
8f70b4 |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
#include <unistd.h>
|
|
Packit |
8f70b4 |
extern char **environ;
|
|
Packit |
8f70b4 |
]], [[
|
|
Packit |
8f70b4 |
return environ==(char**)0;
|
|
Packit |
8f70b4 |
]])],[lftp_cv_environ=yes],[lftp_cv_environ=no])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
if test x$lftp_cv_environ = xyes; then
|
|
Packit |
8f70b4 |
AC_DEFINE(HAVE_ENVIRON, 1, [define if you have global environ variable])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
dnl Taken from dovecot
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_POSIX_FALLOCATE_CHECK],[
|
|
Packit |
8f70b4 |
dnl * Old glibcs have broken posix_fallocate(). Make sure not to use it.
|
|
Packit |
8f70b4 |
dnl * It may also be broken in AIX.
|
|
Packit |
8f70b4 |
AC_CACHE_CHECK([whether posix_fallocate() works],[i_cv_posix_fallocate_works],[
|
|
Packit |
8f70b4 |
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
Packit |
8f70b4 |
#define _XOPEN_SOURCE 600
|
|
Packit |
8f70b4 |
#include <stdio.h>
|
|
Packit |
8f70b4 |
#include <stdlib.h>
|
|
Packit |
8f70b4 |
#include <fcntl.h>
|
|
Packit |
8f70b4 |
#include <unistd.h>
|
|
Packit |
8f70b4 |
#if defined(__GLIBC__) && (__GLIBC__ < 2 || __GLIBC_MINOR__ < 7)
|
|
Packit |
8f70b4 |
possibly broken posix_fallocate
|
|
Packit |
8f70b4 |
#endif
|
|
Packit |
8f70b4 |
int main() {
|
|
Packit |
8f70b4 |
int fd = creat("conftest.temp", 0600);
|
|
Packit |
8f70b4 |
int ret;
|
|
Packit |
8f70b4 |
if (fd == -1) {
|
|
Packit |
8f70b4 |
perror("creat()");
|
|
Packit |
8f70b4 |
return 2;
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
ret = posix_fallocate(fd, 1024, 1024) < 0 ? 1 : 0;
|
|
Packit |
8f70b4 |
unlink("conftest.temp");
|
|
Packit |
8f70b4 |
return ret;
|
|
Packit |
8f70b4 |
}
|
|
Packit |
8f70b4 |
]])],[
|
|
Packit |
8f70b4 |
i_cv_posix_fallocate_works=yes
|
|
Packit |
8f70b4 |
],[
|
|
Packit |
8f70b4 |
i_cv_posix_fallocate_works=no
|
|
Packit |
8f70b4 |
],[
|
|
Packit |
8f70b4 |
dnl * Cross-compilation: we can only test if the code compiles and links.
|
|
Packit |
8f70b4 |
dnl * If it does, assume that it works, because cross-compilation for AIX or old glibc is unlikely.
|
|
Packit |
8f70b4 |
AC_CACHE_VAL([i_cv_posix_fallocate_works],[
|
|
Packit |
8f70b4 |
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
#include <fcntl.h>
|
|
Packit |
8f70b4 |
]], [[
|
|
Packit |
8f70b4 |
posix_fallocate(0, 0, 0);
|
|
Packit |
8f70b4 |
]])],[
|
|
Packit |
8f70b4 |
i_cv_posix_fallocate_works=yes
|
|
Packit |
8f70b4 |
],[
|
|
Packit |
8f70b4 |
i_cv_posix_fallocate_works=no
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
if test x$i_cv_posix_fallocate_works = xyes; then
|
|
Packit |
8f70b4 |
AC_DEFINE(HAVE_POSIX_FALLOCATE, 1, [Define if you have a working posix_fallocate()])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_POSIX_FADVISE_CHECK],[
|
|
Packit |
8f70b4 |
AC_CACHE_CHECK([for posix_fadvise], [ac_cv_posix_fadvise], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
#define _XOPEN_SOURCE 600
|
|
Packit |
8f70b4 |
#include <stdio.h>
|
|
Packit |
8f70b4 |
#include <stdlib.h>
|
|
Packit |
8f70b4 |
#include <fcntl.h>
|
|
Packit |
8f70b4 |
#include <unistd.h>
|
|
Packit |
8f70b4 |
]], [[
|
|
Packit |
8f70b4 |
int res = posix_fadvise ((int)0, (off_t)0, (off_t)0, POSIX_FADV_NORMAL);
|
|
Packit |
8f70b4 |
int a = POSIX_FADV_SEQUENTIAL;
|
|
Packit |
8f70b4 |
int b = POSIX_FADV_NOREUSE;
|
|
Packit |
8f70b4 |
int c = POSIX_FADV_RANDOM;
|
|
Packit |
8f70b4 |
int d = POSIX_FADV_WILLNEED;
|
|
Packit |
8f70b4 |
int e = POSIX_FADV_DONTNEED;
|
|
Packit |
8f70b4 |
]])],[ac_cv_posix_fadvise=yes],[ac_cv_posix_fadvise=no])])
|
|
Packit |
8f70b4 |
if test x$ac_cv_posix_fadvise = xyes; then
|
|
Packit |
8f70b4 |
AC_DEFINE(HAVE_POSIX_FADVISE, 1, [Define if posix_fadvise() is available])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_CXX_STDC_LIMIT_MACROS],[
|
|
Packit |
8f70b4 |
dnl * Old glibcs requires that __STDC_LIMIT_MACROS is defined for using
|
|
Packit |
8f70b4 |
dnl * stdint.h in c++ mode
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING(whether stdint.h needs __STDC_LIMIT_MACROS in C++ mode)
|
|
Packit |
8f70b4 |
AC_CACHE_VAL(lftp_cv_cxx_stdc_limit_macros,
|
|
Packit |
8f70b4 |
[
|
|
Packit |
8f70b4 |
AC_LANG_PUSH(C++)
|
|
Packit |
8f70b4 |
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
Packit |
8f70b4 |
#include <stdint.h>
|
|
Packit |
8f70b4 |
int i = INT_MIN==INT32_MIN && INT_MAX == INT32_MAX;]], [[]])],[lftp_cv_cxx_stdc_limit_macros=no],[lftp_cv_cxx_stdc_limit_macros=yes])
|
|
Packit |
8f70b4 |
AC_LANG_POP(C++)
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($lftp_cv_cxx_stdc_limit_macros)
|
|
Packit |
8f70b4 |
if test x$lftp_cv_cxx_stdc_limit_macros = xyes; then
|
|
Packit |
8f70b4 |
AC_DEFINE(__STDC_LIMIT_MACROS, 1, [Use STDC Limit Macros in C++])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
])
|
|
Packit |
8f70b4 |
|
|
Packit |
8f70b4 |
AC_DEFUN([LFTP_LIBIDN2_CHECK],[
|
|
Packit |
8f70b4 |
AC_ARG_WITH(libidn2, AS_HELP_STRING([--with-libidn2@<:@=DIR@:>@],[Support IDN2 (needs GNU Libidn2)]),
|
|
Packit |
8f70b4 |
libidn2=$withval, libidn2=yes)
|
|
Packit |
8f70b4 |
if test "$libidn2" != "no"; then
|
|
Packit |
8f70b4 |
if test "$libidn2" != "yes"; then
|
|
Packit |
8f70b4 |
LDFLAGS="${LDFLAGS} -L$libidn2/lib"
|
|
Packit |
8f70b4 |
CPPFLAGS="${CPPFLAGS} -I$libidn2/include"
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
AC_CHECK_HEADER(idn2.h,
|
|
Packit |
8f70b4 |
AC_CHECK_LIB(idn2, idn2_check_version,
|
|
Packit |
8f70b4 |
[libidn2=yes LIBS="${LIBS} -lidn2"], libidn2=no),
|
|
Packit |
8f70b4 |
libidn2=no)
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
if test "$libidn2" != "no" ; then
|
|
Packit |
8f70b4 |
AC_DEFINE(LIBIDN2, 1, [Define to 1 if you want IDN2 support.])
|
|
Packit |
8f70b4 |
else
|
|
Packit |
8f70b4 |
AC_MSG_WARN([Libidn2 not found])
|
|
Packit |
8f70b4 |
fi
|
|
Packit |
8f70b4 |
AC_MSG_CHECKING([if Libidn2 should be used])
|
|
Packit |
8f70b4 |
AC_MSG_RESULT($libidn2)
|
|
Packit |
8f70b4 |
])
|