X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=m4%2Ffdopendir.m4;fp=m4%2Ffdopendir.m4;h=7282d4b063f187a215ae389370dac2f3c139cbde;hp=0000000000000000000000000000000000000000;hb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6;hpb=00fa13ff3f2d5b6e2a94c5e948c38616ff7ad37a diff --git a/m4/fdopendir.m4 b/m4/fdopendir.m4 new file mode 100644 index 0000000..7282d4b --- /dev/null +++ b/m4/fdopendir.m4 @@ -0,0 +1,38 @@ +# serial 3 +# See if we need to provide fdopendir. + +dnl Copyright (C) 2009-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +# Written by Eric Blake. + +AC_DEFUN([gl_FUNC_FDOPENDIR], +[ + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_FUNCS_ONCE([fdopendir]) + if test $ac_cv_func_fdopendir = no; then + AC_LIBOBJ([openat-proc]) + AC_LIBOBJ([fdopendir]) + gl_REPLACE_DIRENT_H + HAVE_FDOPENDIR=0 + else + AC_CACHE_CHECK([whether fdopendir works], + [gl_cv_func_fdopendir_works], + [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ +#include +#include +]], [int fd = open ("conftest.c", O_RDONLY); + if (fd < 0) return 2; + return !!fdopendir (fd);])], + [gl_cv_func_fdopendir_works=yes], + [gl_cv_func_fdopendir_works=no], + [gl_cv_func_fdopendir_works="guessing no"])]) + if test "$gl_cv_func_fdopendir_works" != yes; then + REPLACE_FDOPENDIR=1 + gl_REPLACE_DIRENT_H + AC_LIBOBJ([fdopendir]) + fi + fi +])