X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ffseeko.m4;h=b97df53377bdee9e5849be768222607db77d21d2;hb=8d8bbae775e3c77070161dafc81c0c2dbba0fef4;hp=86d42f40ccc9721abcfc9d600edf43266c407f18;hpb=5905a848a7f063cbc45bec7ea53f2121a3d6b91b;p=gnulib.git diff --git a/m4/fseeko.m4 b/m4/fseeko.m4 index 86d42f40c..b97df5337 100644 --- a/m4/fseeko.m4 +++ b/m4/fseeko.m4 @@ -1,5 +1,5 @@ -# fseeko.m4 serial 1 -dnl Copyright (C) 2007 Free Software Foundation, Inc. +# fseeko.m4 serial 9 +dnl Copyright (C) 2007-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. @@ -7,13 +7,44 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FSEEKO], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([gl_HAVE_FSEEKO]) + AC_REQUIRE([gl_STDIN_LARGE_OFFSET]) + + if test $gl_cv_func_fseeko = no; then + HAVE_FSEEKO=0 + gl_REPLACE_FSEEKO + else + if test $gl_cv_var_stdin_large_offset = no; then + gl_REPLACE_FSEEKO + fi + fi +]) + +dnl Tests whether fseeko is available. +dnl Result is gl_cv_func_fseeko. +AC_DEFUN([gl_HAVE_FSEEKO], +[ AC_REQUIRE([AC_PROG_CC]) + + dnl Persuade glibc to declare fseeko(). + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) + AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko], [ - AC_TRY_LINK([#include ], [fseeko (stdin, 0, 0);], + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +]], [fseeko (stdin, 0, 0);])], [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no]) ]) - if test $gl_cv_func_fseeko = no; then - HAVE_FSEEKO=0 +]) + +AC_DEFUN([gl_REPLACE_FSEEKO], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([gl_HAVE_FSEEKO]) + if test $gl_cv_func_fseeko = yes; then + REPLACE_FSEEKO=1 fi + AC_LIBOBJ([fseeko]) + dnl If we are also using the fseek module, then fseek needs replacing, too. + m4_ifdef([gl_REPLACE_FSEEK], [gl_REPLACE_FSEEK]) ])