@@ -297,6 +297,33 @@ if test $have_long_long = yes ; then
297297AC_CHECK_SIZEOF(long long)
298298fi
299299
300+ # Hmph. AC_CHECK_SIZEOF() doesn't include <sys/types.h>.
301+ AC_MSG_CHECKING(size of off_t)
302+ AC_CACHE_VAL(ac_cv_sizeof_off_t,
303+ [AC_TRY_RUN([#include <stdio.h>
304+ #include <sys/types.h>
305+ main()
306+ {
307+ FILE *f=fopen("conftestval", "w");
308+ if (!f) exit(1);
309+ fprintf(f, "%d\n", sizeof(off_t));
310+ exit(0);
311+ }], ac_cv_sizeof_off_t=`cat conftestval`, ac_cv_sizeof_off_t=0)
312+ ])
313+ AC_MSG_RESULT($ac_cv_sizeof_off_t)
314+ AC_DEFINE_UNQUOTED(SIZEOF_OFF_T, $ac_cv_sizeof_off_t)
315+
316+ AC_MSG_CHECKING(whether to enable large file support)
317+ if test $have_long_long = yes -a \
318+ $ac_cv_sizeof_off_t -gt $ac_cv_sizeof_long -a \
319+ $ac_cv_sizeof_long_long -ge $ac_cv_sizeof_off_t; then
320+ AC_DEFINE(HAVE_LARGEFILE_SUPPORT)
321+ AC_MSG_RESULT(yes)
322+ else
323+ AC_MSG_RESULT(no)
324+ fi
325+
326+
300327# Set info about shared libraries.
301328AC_SUBST(SO)
302329AC_SUBST(LDSHARED)
@@ -516,6 +543,10 @@ AC_CHECK_FUNCS(alarm chown clock dlopen execv flock fork ftime ftruncate \
516543 select setgid setlocale setuid setsid setpgid setpgrp setvbuf \
517544 sigaction siginterrupt sigrelse strftime strptime symlink \
518545 tcgetpgrp tcsetpgrp timegm times truncate uname waitpid)
546+
547+ # check for long file support functions
548+ AC_CHECK_FUNCS(fseek64 fseeko fstatvfs ftell64 ftello statvfs)
549+
519550AC_REPLACE_FUNCS(dup2 getcwd strdup strerror memmove)
520551AC_CHECK_FUNC(getpgrp, AC_TRY_COMPILE([#include <unistd.h>], [getpgrp(0);], AC_DEFINE(GETPGRP_HAVE_ARG)))
521552AC_CHECK_FUNC(setpgrp, AC_TRY_COMPILE([#include <unistd.h>], [setpgrp(0,0);], AC_DEFINE(SETPGRP_HAVE_ARG)))
0 commit comments