Simplify to validate the availability of scandir
This commit is contained in:
parent
5152115349
commit
d97fbbe9f5
48
configure.ac
48
configure.ac
|
@ -154,38 +154,36 @@ dnl AC_CHECK_FUNCS doesn't check for header files.
|
||||||
dnl posix_fadvise() may be not available in older libc.
|
dnl posix_fadvise() may be not available in older libc.
|
||||||
AC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0])
|
AC_CHECK_SYMBOL([posix_fadvise], [fcntl.h], [fc_func_posix_fadvise=1], [fc_func_posix_fadvise=0])
|
||||||
AC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadivse' function.])
|
AC_DEFINE_UNQUOTED([HAVE_POSIX_FADVISE], [$fc_func_posix_fadvise], [Define to 1 if you have the 'posix_fadivse' function.])
|
||||||
fc_saved_CFLAGS="$CFLAGS"
|
|
||||||
CFLAGS="$CFLAGS $WARN_CFLAGS -Werror"
|
|
||||||
if test "$os_win32" = "no"; then
|
if test "$os_win32" = "no"; then
|
||||||
AC_MSG_CHECKING([for scandir])
|
AC_MSG_CHECKING([for scandir])
|
||||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
fc_saved_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $WARN_CFLAGS -Werror"
|
||||||
|
AC_TRY_COMPILE([
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
int comp(const struct dirent **, const struct dirent **);
|
int main(void);
|
||||||
int comp(const struct dirent **a, const struct dirent **b) { return 0; }
|
], [
|
||||||
int main(void) {
|
int (* comp) (const struct dirent **, const struct dirent **) = 0;
|
||||||
struct dirent **d;
|
struct dirent **d;
|
||||||
return scandir(".", &d, 0, &comp) >= 0;
|
return scandir(".", &d, 0, comp) >= 0;
|
||||||
}
|
], [
|
||||||
]])],[
|
AC_MSG_RESULT([yes])
|
||||||
|
AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
|
||||||
|
], [
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <dirent.h>
|
||||||
|
int main(void);
|
||||||
|
], [
|
||||||
|
int (* comp) (const void *, const void *) = 0;
|
||||||
|
struct dirent **d;
|
||||||
|
return scandir(".", &d, 0, comp) >= 0;
|
||||||
|
], [
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE([HAVE_SCANDIR], [1], [Define to 1 if you have the 'scandir' function.])
|
AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
|
||||||
],[
|
],[
|
||||||
AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
AC_MSG_ERROR([
|
||||||
#include <dirent.h>
|
|
||||||
int comp(const void *, const void *);
|
|
||||||
int comp(const void *a, const void *b) { return 0; }
|
|
||||||
int main(void) {
|
|
||||||
struct dirent **d;
|
|
||||||
return scandir(".", &d, 0, &comp) >= 0;
|
|
||||||
}
|
|
||||||
]])],[
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
AC_DEFINE([HAVE_SCANDIR_VOID_P], [1], [Define to 1 if you have the 'scandir' function with int (* compar)(const void *, const void *)])
|
|
||||||
],[
|
|
||||||
AC_MSG_ERROR([
|
|
||||||
*** No scandir function available.])
|
*** No scandir function available.])
|
||||||
])
|
|
||||||
])
|
])
|
||||||
|
])
|
||||||
fi
|
fi
|
||||||
CFLAGS="$fc_saved_CFLAGS"
|
CFLAGS="$fc_saved_CFLAGS"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue