X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fftello.m4;h=14a9beee629077a24f3865ce27b7b4ba8b98b403;hb=cd56634;hp=ae9a4e61380b65ec6fb1534d69c88d94bc232382;hpb=55ca839ef4bfcf78114ef277c618385b521a5f5c;p=gnulib.git diff --git a/m4/ftello.m4 b/m4/ftello.m4 index ae9a4e613..14a9beee6 100644 --- a/m4/ftello.m4 +++ b/m4/ftello.m4 @@ -1,5 +1,5 @@ -# ftello.m4 serial 7 -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,21 +9,35 @@ 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_TRY_LINK([#include ], [ftello (stdin);], - [gl_cv_func_ftello=yes], [gl_cv_func_ftello=no]) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[ftello (stdin);]])], + [gl_cv_func_ftello=yes], + [gl_cv_func_ftello=no]) ]) 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 @@ -43,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 @@ -100,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) ;; @@ -112,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]) ])