X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fftello.m4;h=14a9beee629077a24f3865ce27b7b4ba8b98b403;hb=79ca0976a6fd1773801ac0287a64cdf06aec7988;hp=38bcf437ee321903f32c9bab93ca098700c9f5ea;hpb=ec062d7a2671739dd977ebde3965fc93f8678a2e;p=gnulib.git diff --git a/m4/ftello.m4 b/m4/ftello.m4 index 38bcf437e..14a9beee6 100644 --- a/m4/ftello.m4 +++ b/m4/ftello.m4 @@ -1,5 +1,5 @@ -# ftello.m4 serial 8 -dnl Copyright (C) 2007-2010 Free Software Foundation, Inc. +# ftello.m4 serial 11 +dnl Copyright (C) 2007-2014 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. @@ -9,10 +9,16 @@ AC_DEFUN([gl_FUNC_FTELLO], AC_REQUIRE([gl_STDIO_H_DEFAULTS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) + AC_REQUIRE([gl_SYS_TYPES_H]) dnl Persuade glibc to declare ftello(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_DECLS_ONCE([ftello]) + if test $ac_cv_have_decl_ftello = no; then + HAVE_DECL_FTELLO=0 + fi + AC_CACHE_CHECK([for ftello], [gl_cv_func_ftello], [ AC_LINK_IFELSE( @@ -25,9 +31,13 @@ AC_DEFUN([gl_FUNC_FTELLO], if test $gl_cv_func_ftello = no; then HAVE_FTELLO=0 else + if test $WINDOWS_64_BIT_OFF_T = 1; then + REPLACE_FTELLO=1 + fi if test $gl_cv_var_stdin_large_offset = no; then REPLACE_FTELLO=1 - else + fi + if test $REPLACE_FTELLO = 0; then dnl Detect bug on Solaris. dnl ftell and ftello produce incorrect results after putc that followed a dnl getc call that reached EOF on Solaris. This is because the _IOREAD @@ -47,7 +57,8 @@ changequote(,)dnl *) gl_cv_func_ftello_works="guessing yes" ;; esac changequote([,])dnl - AC_TRY_RUN([ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ #include #include #include @@ -104,7 +115,9 @@ main (void) /* The file's contents is now "foogarsh!". */ return 0; -}], [gl_cv_func_ftello_works=yes], [gl_cv_func_ftello_works=no], [:]) +}]])], + [gl_cv_func_ftello_works=yes], + [gl_cv_func_ftello_works=no], [:]) ]) case "$gl_cv_func_ftello_works" in *yes) ;; @@ -116,12 +129,12 @@ main (void) esac fi fi - if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then - gl_REPLACE_FTELLO - fi ]) -AC_DEFUN([gl_REPLACE_FTELLO], +# Prerequisites of lib/ftello.c. +AC_DEFUN([gl_PREREQ_FTELLO], [ - AC_LIBOBJ([ftello]) + dnl Native Windows has the function _ftelli64. mingw hides it, but mingw64 + dnl makes it usable again. + AC_CHECK_FUNCS([_ftelli64]) ])