Re: AC_FUNC_FSEEKO and optional execution

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Eric Blake <ebb9@xxxxxxx> writes:
> According to Russ Allbery on 3/22/2009 1:18 PM:

>> Could AC_FUNC_FSEEKO acquire ACTION_IF_FOUND and ACTION_IF_NOT_FOUND
>> arguments so that I can implement this conditional probing and
>> AC_LIBOBJ calls in a sane fashion without relying on undocumented and
>> unsupported macro internals?

> Why not ditch AC_FUNC_FSEEKO, and write a portable variant yourself?

> AC_DEFUN([INN_FSEEKO],
> [AC_REQUIRE([AC_SYS_LARGEFILE])dnl
> AC_CACHE_CHECK([for fseeko], [inn_cv_func_fseeko],
>   AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
> #include <sys/types.h> /* for off_t */
> #include <stdio.h>
> ]], [[int (*fp) (FILE *, off_t, int) = fseeko;
>       return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]])]
>   [inn_cv_func_fseeko=yes], [inn_cv_func_fseeko=no])])
> if test x"$inn_cv_func_fseeko" != xyes ; then
>   INN_TYPE_FPOS_T_LARGE
>   AC_CHECK_DECLS([fseeko, ftello])
>   AC_LIBOBJ([fseeko])
>   AC_LIBOBJ([ftello])
> fi
> ])

Hm, yeah, I could do that.  It seems like a bit of a waste to check for
fseeko twice given that Autoconf is already doing so and I'd still need to
call the Autoconf AC_FUNC_FSEEKO function to get the prototype handling
right, though.

> That said, if others agree with you that exporting ac_cv_func_fseeko for
> compatibility is still worthwhile (it was dropped in commit 90fcd46
> autoconf 2.60a-37), then we could probably modify AC_FUNC_FSEEKO to once
> again set that variable to yes or no for 2.64 and beyond.

Wouldn't it be better to add two arguments to the function?  It's
backwards-compatible and I think it's a lot cleaner than documenting a
cache variable.

-- 
Russ Allbery (rra@xxxxxxxxxxxx)             <http://www.eyrie.org/~eagle/>


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux