X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Flargefile.m4;h=515625dc267897a2ef54f1efa6874722c57a150a;hb=05d4ef79c00e77a54f781355c1cf4242a4e54c4b;hp=9515f7e9f6bbb0caeb3f6ee88818b4722fa306e6;hpb=e604bba569287736c197befc7e546048c2890a3a;p=gnulib.git diff --git a/m4/largefile.m4 b/m4/largefile.m4 index 9515f7e9f..515625dc2 100644 --- a/m4/largefile.m4 +++ b/m4/largefile.m4 @@ -1,4 +1,4 @@ -#serial 5 +#serial 10 dnl By default, many hosts won't let programs access large files; dnl one must use special compiler options to get large-file access to work. @@ -12,23 +12,37 @@ dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME) AC_DEFUN(AC_SYS_LARGEFILE_FLAGS, [AC_CACHE_CHECK([for $1 value to request large file support], ac_cv_sys_largefile_$1, - [ac_cv_sys_largefile_$1=`($GETCONF LFS_$1) 2>/dev/null` || { + [if ($GETCONF LFS_$1) >conftest.1 2>conftest.2 && test ! -s conftest.2 + then + ac_cv_sys_largefile_$1=`cat conftest.1` + else ac_cv_sys_largefile_$1=no ifelse($1, CFLAGS, [case "$host_os" in - # IRIX 6.2 and later require cc -n32. -changequote(, )dnl - irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*) -changequote([, ])dnl + # HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1. +[ hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)] + if test "$GCC" = yes; then + ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__ + fi + ;; + # IRIX 6.2 and later do not support large files by default, + # so use the -n32 ABI unless the installer said otherwise. +[ irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)] if test "$GCC" != yes; then - ac_cv_sys_largefile_CFLAGS=-n32 + case "$CC $CFLAGS " in + *' -o32 '*|*' -n32 '*|*' -64 '*) ;; + *) ac_cv_sys_largefile_CFLAGS=-n32 ;; + esac fi + esac + if test "$ac_cv_sys_largefile_CFLAGS" != no; then ac_save_CC="$CC" CC="$CC $ac_cv_sys_largefile_CFLAGS" AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no) CC="$ac_save_CC" - esac]) - }])]) + fi]) + fi + rm -f conftest*])]) dnl Internal subroutine of AC_SYS_LARGEFILE. dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL) @@ -47,17 +61,15 @@ dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAUL AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE, [AC_CACHE_CHECK([for $1], $2, [$2=no -changequote(, )dnl $4 for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do case "$ac_flag" in -D$1) $2=1 ;; -D$1=*) - $2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;; + $2=`expr " $ac_flag" : '[[^=]]*=\(.*\)'` ;; esac done -changequote([, ])dnl ]) if test "[$]$2" != no; then AC_DEFINE_UNQUOTED([$1], [$]$2, [$3]) @@ -92,23 +104,30 @@ AC_DEFUN(AC_SYS_LARGEFILE, [Number of bits in a file offset, on hosts where this is settable.], [case "$host_os" in # HP-UX 10.20 and later - hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) +[ hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)] ac_cv_sys_file_offset_bits=64 ;; esac]) + AC_SYS_LARGEFILE_MACRO_VALUE(_GNU_SOURCE, + ac_cv_sys_gnu_source, + [Define to make ftello visible on some hosts (e.g. glibc 2.1.3).], + [AC_TRY_COMPILE([#include ], [return !ftello;], , + [AC_TRY_COMPILE([#define _GNU_SOURCE 1 +#include ], + [return !ftello;], + ac_cv_sys_gnu_source=1)])]) AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, ac_cv_sys_largefile_source, - [Define to make fseeko etc. visible, on some hosts.], - [case "$host_os" in - # HP-UX 10.20 and later - hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*) - ac_cv_sys_largefile_source=1 ;; - esac]) + [Define to make ftello visible on some hosts (e.g. HP-UX 10.20).], + [AC_TRY_COMPILE([#include ], [return !ftello;], , + [AC_TRY_COMPILE([#define _LARGEFILE_SOURCE 1 +#include ], [return !ftello;], + ac_cv_sys_largefile_source=1)])]) AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, ac_cv_sys_large_files, [Define for large files, on AIX-style hosts.], [case "$host_os" in # AIX 4.2 and later - aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*) +[ aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)] ac_cv_sys_large_files=1 ;; esac]) fi