summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2016-03-29 07:15:11 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2016-03-29 07:15:11 (GMT)
commit962faf31acc950439a80c4cd5fd82771f2c5de06 (patch)
tree02a1e54762d551a64afa0839c8d085ef0988d875
parentcd6923cbca7ef944a511e214c3f014c339eef99f (diff)
downloadhdf5-962faf31acc950439a80c4cd5fd82771f2c5de06.zip
hdf5-962faf31acc950439a80c4cd5fd82771f2c5de06.tar.gz
hdf5-962faf31acc950439a80c4cd5fd82771f2c5de06.tar.bz2
[svn-r29589] Merge of 29011 & 29019 from trunk.
LFS changes to configure. Fixes HDFFV-9626. Tested on: jam
-rwxr-xr-xconfigure128
-rw-r--r--configure.ac81
-rw-r--r--release_docs/RELEASE.txt15
-rw-r--r--src/H5FDstdio.c21
-rw-r--r--src/H5config.h.in27
-rw-r--r--src/H5private.h72
6 files changed, 75 insertions, 269 deletions
diff --git a/configure b/configure
index fcfe9ca..23c1e9c 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac Id: configure.ac 29060 2016-02-07 21:07:32Z hdftest .
+# From configure.ac Id: configure.ac 29174 2016-02-21 21:24:42Z hdftest .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for HDF5 1.8.17-snap13.
#
@@ -22268,10 +22268,6 @@ fi
##
case "$host_cpu-$host_vendor-$host_os" in
*linux*)
- ## Make available various LFS-related routines using the following
- ## _LARGEFILE*_SOURCE macros.
- AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS"
-
## Add POSIX support on Linux systems, so <features.h> defines
## __USE_POSIX, which is required to get the prototype for fdopen
## defined correctly in <stdio.h>.
@@ -22306,95 +22302,6 @@ esac
CPPFLAGS="$H5_CPPFLAGS $AM_CPPFLAGS $CPPFLAGS"
CFLAGS="$H5_CFLAGS $AM_CFLAGS $CFLAGS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-off64_t n = 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- for ac_func in lseek64 fseeko64 ftello64 ftruncate64
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because off64_t is not defined" >&5
-$as_echo "skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because off64_t is not defined" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-for ac_func in fseeko ftello
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-struct stat64 sb;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- for ac_func in stat64 fstat64
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: skipping test for stat64() and fstat64()" >&5
-$as_echo "skipping test for stat64() and fstat64()" >&6; }
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
## ----------------------------------------------------------------------
## Data types and their sizes.
##
@@ -24075,39 +23982,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off64_t" >&5
-$as_echo_n "checking size of off64_t... " >&6; }
-if ${ac_cv_sizeof_off64_t+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off64_t))" "ac_cv_sizeof_off64_t" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_off64_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (off64_t)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_off64_t=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off64_t" >&5
-$as_echo "$ac_cv_sizeof_off64_t" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_OFF64_T $ac_cv_sizeof_off64_t
-_ACEOF
-
-
## Checkpoint the cache
cat >confcache <<\_ACEOF
diff --git a/configure.ac b/configure.ac
index 3db75af..f9c64ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -911,10 +911,6 @@ fi
##
case "$host_cpu-$host_vendor-$host_os" in
*linux*)
- ## Make available various LFS-related routines using the following
- ## _LARGEFILE*_SOURCE macros.
- AM_CPPFLAGS="-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE $AM_CPPFLAGS"
-
## Add POSIX support on Linux systems, so <features.h> defines
## __USE_POSIX, which is required to get the prototype for fdopen
## defined correctly in <stdio.h>.
@@ -949,18 +945,6 @@ esac
CPPFLAGS="$H5_CPPFLAGS $AM_CPPFLAGS $CPPFLAGS"
CFLAGS="$H5_CFLAGS $AM_CFLAGS $CFLAGS"
-AC_TRY_COMPILE([#include <sys/types.h>],
- [off64_t n = 0;],
- [AC_CHECK_FUNCS([lseek64 fseeko64 ftello64 ftruncate64])],
- [AC_MSG_RESULT([skipping test for lseek64(), fseeko64 , ftello64, ftruncate64() because off64_t is not defined])])
-AC_CHECK_FUNCS([fseeko ftello])
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/stat.h>],
-[struct stat64 sb;],
-[AC_CHECK_FUNCS([stat64 fstat64])],
-[AC_MSG_RESULT([skipping test for stat64() and fstat64()])])
-
## ----------------------------------------------------------------------
## Data types and their sizes.
##
@@ -1000,43 +984,42 @@ if test "X$C9x" = "Xyes"; then
EOF
fi
-AC_CHECK_SIZEOF( [int8_t], [1])
-AC_CHECK_SIZEOF( [uint8_t], [1])
-AC_CHECK_SIZEOF( [int_least8_t], [1])
-AC_CHECK_SIZEOF( [uint_least8_t], [1])
-AC_CHECK_SIZEOF( [int_fast8_t], [1])
-AC_CHECK_SIZEOF( [uint_fast8_t], [1])
-
-AC_CHECK_SIZEOF( [int16_t], [2])
-AC_CHECK_SIZEOF( [uint16_t], [2])
-AC_CHECK_SIZEOF( [int_least16_t], [2])
-AC_CHECK_SIZEOF([uint_least16_t], [2])
-AC_CHECK_SIZEOF( [int_fast16_t], [2])
-AC_CHECK_SIZEOF( [uint_fast16_t], [2])
-
-AC_CHECK_SIZEOF( [int32_t], [4])
-AC_CHECK_SIZEOF( [uint32_t], [4])
-AC_CHECK_SIZEOF( [int_least32_t], [4])
-AC_CHECK_SIZEOF([uint_least32_t], [4])
-AC_CHECK_SIZEOF( [int_fast32_t], [4])
-AC_CHECK_SIZEOF( [uint_fast32_t], [4])
-
-AC_CHECK_SIZEOF( [int64_t], [8])
-AC_CHECK_SIZEOF( [uint64_t], [8])
-AC_CHECK_SIZEOF( [int_least64_t], [8])
-AC_CHECK_SIZEOF([uint_least64_t], [8])
-AC_CHECK_SIZEOF( [int_fast64_t], [8])
-AC_CHECK_SIZEOF( [uint_fast64_t], [8])
-
-AC_CHECK_SIZEOF([size_t], [4])
-AC_CHECK_SIZEOF([ssize_t], [4])
-AC_CHECK_SIZEOF([ptrdiff_t], [4])
+AC_CHECK_SIZEOF( [int8_t])
+AC_CHECK_SIZEOF( [uint8_t])
+AC_CHECK_SIZEOF( [int_least8_t])
+AC_CHECK_SIZEOF( [uint_least8_t])
+AC_CHECK_SIZEOF( [int_fast8_t])
+AC_CHECK_SIZEOF( [uint_fast8_t])
+
+AC_CHECK_SIZEOF( [int16_t])
+AC_CHECK_SIZEOF( [uint16_t])
+AC_CHECK_SIZEOF( [int_least16_t])
+AC_CHECK_SIZEOF([uint_least16_t])
+AC_CHECK_SIZEOF( [int_fast16_t])
+AC_CHECK_SIZEOF( [uint_fast16_t])
+
+AC_CHECK_SIZEOF( [int32_t])
+AC_CHECK_SIZEOF( [uint32_t])
+AC_CHECK_SIZEOF( [int_least32_t])
+AC_CHECK_SIZEOF([uint_least32_t])
+AC_CHECK_SIZEOF( [int_fast32_t])
+AC_CHECK_SIZEOF( [uint_fast32_t])
+
+AC_CHECK_SIZEOF( [int64_t])
+AC_CHECK_SIZEOF( [uint64_t])
+AC_CHECK_SIZEOF( [int_least64_t])
+AC_CHECK_SIZEOF([uint_least64_t])
+AC_CHECK_SIZEOF( [int_fast64_t])
+AC_CHECK_SIZEOF( [uint_fast64_t])
+
+AC_CHECK_SIZEOF([size_t])
+AC_CHECK_SIZEOF([ssize_t])
+AC_CHECK_SIZEOF([ptrdiff_t])
cat >>confdefs.h <<\EOF
#include <sys/types.h> /*for off_t definition*/
EOF
-AC_CHECK_SIZEOF([off_t], [4])
-AC_CHECK_SIZEOF([off64_t], [8])
+AC_CHECK_SIZEOF([off_t])
## Checkpoint the cache
AC_CACHE_SAVE
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 1b44917..a768e38 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -66,7 +66,20 @@ New Features
--enable/disable-verbose to display all cmake process output.
(AKC, 2015/11/16, HDFFV-8932 and DAILYTEST-195)
- - CMake minimum is now 3.1.0. (ADB 2015/11/14)
+ - CMake minimum is now 3.1.0. (ADB 2015/11/14)
+
+ - Large file system (LFS) support has changed in the autotools
+
+ * We assume that fseeko and ftello exist.
+
+ * The *64 I/O functions and types are no longer explicitly used.
+ We now rely on a mapping provided by _FILE_OFFSET_BITS (or its
+ equivalent).
+
+ * _LARGEFILE(64)_SOURCE is no longer exposed via AM_CPPFLAGS.
+
+ (DER, 2016/03/29, HDFFV-9626)
+
Library
-------
diff --git a/src/H5FDstdio.c b/src/H5FDstdio.c
index d63e5f1..8efaf43 100644
--- a/src/H5FDstdio.c
+++ b/src/H5FDstdio.c
@@ -131,23 +131,14 @@ typedef struct H5FD_stdio_t {
#endif /* H5_HAVE_MINGW */
#endif /* H5_HAVE_WIN32_API */
-/* Use file_xxx to indicate these are local macros, avoiding confusing
- * with the global HD_xxx macros.
- * Assume fseeko, which is POSIX standard, is always supported;
- * but prefer to use fseeko64 if supported.
+/* If these functions weren't re-defined for Windows, give them
+ * more platform-independent names.
*/
#ifndef file_fseek
- #ifdef H5_HAVE_FSEEKO64
- #define file_fseek fseeko64
- #define file_offset_t off64_t
- #define file_ftruncate ftruncate64
- #define file_ftell ftello64
- #else
- #define file_fseek fseeko
- #define file_offset_t off_t
- #define file_ftruncate ftruncate
- #define file_ftell ftello
- #endif /* H5_HAVE_FSEEKO64 */
+ #define file_fseek fseeko
+ #define file_offset_t off_t
+ #define file_ftruncate ftruncate
+ #define file_ftell ftello
#endif /* file_fseek */
/* These macros check for overflow of various quantities. These macros
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 6075f3f..0ed6ae8 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -91,24 +91,6 @@
/* Define to 1 if you have the `frexpl' function. */
#undef HAVE_FREXPL
-/* Define to 1 if you have the `fseeko' function. */
-#undef HAVE_FSEEKO
-
-/* Define to 1 if you have the `fseeko64' function. */
-#undef HAVE_FSEEKO64
-
-/* Define to 1 if you have the `fstat64' function. */
-#undef HAVE_FSTAT64
-
-/* Define to 1 if you have the `ftello' function. */
-#undef HAVE_FTELLO
-
-/* Define to 1 if you have the `ftello64' function. */
-#undef HAVE_FTELLO64
-
-/* Define to 1 if you have the `ftruncate64' function. */
-#undef HAVE_FTRUNCATE64
-
/* Define if the compiler understands the __FUNCTION__ keyword */
#undef HAVE_FUNCTION
@@ -173,9 +155,6 @@
/* Define to 1 if you have the `longjmp' function. */
#undef HAVE_LONGJMP
-/* Define to 1 if you have the `lseek64' function. */
-#undef HAVE_LSEEK64
-
/* Define to 1 if you have the `lstat' function. */
#undef HAVE_LSTAT
@@ -236,9 +215,6 @@
/* Define to 1 if you have the `srandom' function. */
#undef HAVE_SRANDOM
-/* Define to 1 if you have the `stat64' function. */
-#undef HAVE_STAT64
-
/* Define if `struct stat' has the `st_blocks' field */
#undef HAVE_STAT_ST_BLOCKS
@@ -460,9 +436,6 @@
/* The size of `long long', as computed by sizeof. */
#undef SIZEOF_LONG_LONG
-/* The size of `off64_t', as computed by sizeof. */
-#undef SIZEOF_OFF64_T
-
/* The size of `off_t', as computed by sizeof. */
#undef SIZEOF_OFF_T
diff --git a/src/H5private.h b/src/H5private.h
index f554476..161f35a 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -800,58 +800,37 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...);
#endif /* HDfrexpl */
/* fscanf() variable arguments */
#ifndef HDfseek
- #ifdef H5_HAVE_FSEEKO
- #define HDfseek(F,O,W) fseeko(F,O,W)
- #else /* H5_HAVE_FSEEKO */
- #define HDfseek(F,O,W) fseek(F,O,W)
- #endif /* H5_HAVE_FSEEKO */
+ #define HDfseek(F,O,W) fseeko(F,O,W)
#endif /* HDfseek */
#ifndef HDfsetpos
#define HDfsetpos(F,P) fsetpos(F,P)
#endif /* HDfsetpos */
-/* definitions related to the file stat utilities.
- * For Unix, if off_t is not 64bit big, try use the pseudo-standard
- * xxx64 versions if available.
+#ifndef HDfstat
+ #define HDfstat(F,B) fstat(F,B)
+#endif /* HDfstat */
+#ifndef HDlstat
+ #define HDlstat(S,B) lstat(S,B)
+#endif /* HDlstat */
+#ifndef HDstat
+ #define HDstat(S,B) stat(S,B)
+#endif /* HDstat */
+
+#ifndef H5_HAVE_WIN32_API
+/* These definitions differ in Windows and are defined in
+ * H5win32defs for that platform.
*/
-#if !defined(HDfstat) || !defined(HDstat) || !defined(HDlstat)
- #if H5_SIZEOF_OFF_T!=8 && H5_SIZEOF_OFF64_T==8 && defined(H5_HAVE_STAT64)
- #ifndef HDfstat
- #define HDfstat(F,B) fstat64(F,B)
- #endif /* HDfstat */
- #ifndef HDlstat
- #define HDlstat(S,B) lstat64(S,B)
- #endif /* HDlstat */
- #ifndef HDstat
- #define HDstat(S,B) stat64(S,B)
- #endif /* HDstat */
- typedef struct stat64 h5_stat_t;
- typedef off64_t h5_stat_size_t;
- #define H5_SIZEOF_H5_STAT_SIZE_T H5_SIZEOF_OFF64_T
- #else /* H5_SIZEOF_OFF_T!=8 && ... */
- #ifndef HDfstat
- #define HDfstat(F,B) fstat(F,B)
- #endif /* HDfstat */
- #ifndef HDlstat
- #define HDlstat(S,B) lstat(S,B)
- #endif /* HDlstat */
- #ifndef HDstat
- #define HDstat(S,B) stat(S,B)
- #endif /* HDstat */
- typedef struct stat h5_stat_t;
- typedef off_t h5_stat_size_t;
- #define H5_SIZEOF_H5_STAT_SIZE_T H5_SIZEOF_OFF_T
- #endif /* H5_SIZEOF_OFF_T!=8 && ... */
-#endif /* !defined(HDfstat) || !defined(HDstat) */
+typedef struct stat h5_stat_t;
+typedef off_t h5_stat_size_t;
+#define HDoff_t off_t
+#endif /* H5_HAVE_WIN32_API */
+
+#define H5_SIZEOF_H5_STAT_SIZE_T H5_SIZEOF_OFF_T
#ifndef HDftell
- #define HDftell(F) ftell(F)
+ #define HDftell(F) ftello(F)
#endif /* HDftell */
#ifndef HDftruncate
- #ifdef H5_HAVE_FTRUNCATE64
- #define HDftruncate(F,L) ftruncate64(F,L)
- #else
#define HDftruncate(F,L) ftruncate(F,L)
- #endif
#endif /* HDftruncate */
#ifndef HDfwrite
#define HDfwrite(M,Z,N,F) fwrite(M,Z,N,F)
@@ -994,15 +973,8 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...);
#ifndef HDlongjmp
#define HDlongjmp(J,N) longjmp(J,N)
#endif /* HDlongjmp */
-/* HDlseek and HDoff_t must be defined together for consistency. */
#ifndef HDlseek
- #ifdef H5_HAVE_LSEEK64
- #define HDlseek(F,O,W) lseek64(F,O,W)
- #define HDoff_t off64_t
- #else
- #define HDlseek(F,O,W) lseek(F,O,W)
- #define HDoff_t off_t
- #endif
+ #define HDlseek(F,O,W) lseek(F,O,W)
#endif /* HDlseek */
#ifndef HDmalloc
#define HDmalloc(Z) malloc(Z)