diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2009-11-23 21:34:51 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2009-11-23 21:34:51 (GMT) |
commit | b7e35aef0e7f4e378e98c18f2c787bd9eaa8a0cd (patch) | |
tree | 5630386db4f001c29823ed59dbca3c282b36be75 | |
parent | 0ced243b9a4915950f7108c3acad43485fd1e609 (diff) | |
download | hdf5-b7e35aef0e7f4e378e98c18f2c787bd9eaa8a0cd.zip hdf5-b7e35aef0e7f4e378e98c18f2c787bd9eaa8a0cd.tar.gz hdf5-b7e35aef0e7f4e378e98c18f2c787bd9eaa8a0cd.tar.bz2 |
[svn-r17924] Description:
Add detection for POSIX lstat() routine to configure script (mostly for
non-UNIX/Linux machines) and add macro wrapper for it.
Alphabetatize the system/library calls we test for, to make them easier
to read.
Removed the sigaction() detection & macro wrappers, since it's not
used by the distribution currently.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.6.2 (amazon) in debug mode
Mac OS X/32 10.6.2 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
-rwxr-xr-x | configure | 21 | ||||
-rw-r--r-- | configure.in | 10 | ||||
-rw-r--r-- | perform/sio_standalone.h | 5 | ||||
-rw-r--r-- | src/H5config.h.in | 6 | ||||
-rw-r--r-- | src/H5private.h | 11 | ||||
-rw-r--r-- | vms/src/h5pubconf.h | 6 | ||||
-rwxr-xr-x | windows/src/H5pubconf.h | 6 |
7 files changed, 29 insertions, 36 deletions
@@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Id: configure.in 17742 2009-10-25 06:45:59Z hdftest . +# From configure.in Id: configure.in 17902 2009-11-17 15:27:25Z hdftest . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.64 for HDF5 1.9.52. # @@ -24740,7 +24740,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -for ac_func in alarm fork frexpf frexpl gethostname getpwuid getrusage +for ac_func in alarm BSDgettimeofday fork frexpf frexpl 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" @@ -24753,7 +24753,7 @@ _ACEOF fi done -for ac_func in BSDgettimeofday siglongjmp longjmp setsysinfo sigaction +for ac_func in gethostname getpwuid getrusage longjmp lstat 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" @@ -24766,7 +24766,7 @@ _ACEOF fi done -for ac_func in signal snprintf vasprintf strdup system waitpid +for ac_func in rand_r random setsysinfo siglongjmp signal 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" @@ -24779,7 +24779,7 @@ _ACEOF fi done -for ac_func in rand_r random srandom +for ac_func in snprintf srandom strdup system tmpfile vasprintf waitpid 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" @@ -24792,17 +24792,6 @@ _ACEOF fi done -for ac_func in tmpfile -do : - ac_fn_c_check_func "$LINENO" "tmpfile" "ac_cv_func_tmpfile" -if test "x$ac_cv_func_tmpfile" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_TMPFILE 1 -_ACEOF - -fi -done - for ac_func in vsnprintf do : diff --git a/configure.in b/configure.in index 28f919d..0d4963b 100644 --- a/configure.in +++ b/configure.in @@ -1974,13 +1974,11 @@ AC_MSG_RESULT([no])) dnl ---------------------------------------------------------------------- dnl Check for functions. -dnl tmpfile needed by h5pdiff. dnl -AC_CHECK_FUNCS(alarm fork frexpf frexpl gethostname getpwuid getrusage) -AC_CHECK_FUNCS(BSDgettimeofday siglongjmp longjmp setsysinfo sigaction) -AC_CHECK_FUNCS(signal snprintf vasprintf strdup system waitpid) -AC_CHECK_FUNCS(rand_r random srandom) -AC_CHECK_FUNCS(tmpfile) +AC_CHECK_FUNCS(alarm BSDgettimeofday fork frexpf frexpl) +AC_CHECK_FUNCS(gethostname getpwuid getrusage longjmp lstat) +AC_CHECK_FUNCS(rand_r random setsysinfo siglongjmp signal) +AC_CHECK_FUNCS(snprintf srandom strdup system tmpfile vasprintf waitpid) dnl Check for vsnprintf() separately, so we can detect situations where it dnl doesn't return the correct size for formatted strings that are too large diff --git a/perform/sio_standalone.h b/perform/sio_standalone.h index 9faaac1..b31d4846 100644 --- a/perform/sio_standalone.h +++ b/perform/sio_standalone.h @@ -177,22 +177,26 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...); #ifdef _WIN32 #ifdef __MWERKS__ #define HDfstat(F,B) fstat(F,B) + #define HDlstat(S,B) lstat(S,B) #define HDstat(S,B) stat(S,B) typedef struct stat h5_stat_t; typedef off_t h5_stat_size_t; #else /*MSVC*/ #define HDfstat(F,B) _fstati64(F,B) + #define HDlstat(S,B) _lstati64(S,B) #define HDstat(S,B) _stati64(S,B) typedef struct _stati64 h5_stat_t; typedef __int64 h5_stat_size_t; #endif #elif H5_SIZEOF_OFF_T!=8 && H5_SIZEOF_OFF64_T==8 && defined(H5_HAVE_STAT64) #define HDfstat(F,B) fstat64(F,B) + #define HDlstat(S,B) lstat64(S,B) #define HDstat(S,B) stat64(S,B) typedef struct stat64 h5_stat_t; typedef off64_t h5_stat_size_t; #else #define HDfstat(F,B) fstat(F,B) + #define HDlstat(S,B) lstat(S,B) #define HDstat(S,B) stat(S,B) typedef struct stat h5_stat_t; typedef off_t h5_stat_size_t; @@ -349,7 +353,6 @@ int HDremove_all(const char * fname); #else #define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,(Z>1?Z:2)) #endif -#define HDsigaction(N,A) sigaction(N,A) #define HDsigaddset(S,N) sigaddset(S,N) #define HDsigdelset(S,N) sigdelset(S,N) #define HDsigemptyset(S) sigemptyset(S) diff --git a/src/H5config.h.in b/src/H5config.h.in index bb03fc7..94601b8 100644 --- a/src/H5config.h.in +++ b/src/H5config.h.in @@ -220,6 +220,9 @@ /* Define to 1 if you have the `lseek64' function. */ #undef HAVE_LSEEK64 +/* Define to 1 if you have the `lstat' function. */ +#undef HAVE_LSTAT + /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H @@ -256,9 +259,6 @@ /* Define to 1 if you have the `setsysinfo' function. */ #undef HAVE_SETSYSINFO -/* Define to 1 if you have the `sigaction' function. */ -#undef HAVE_SIGACTION - /* Define to 1 if you have the `siglongjmp' function. */ #undef HAVE_SIGLONGJMP diff --git a/src/H5private.h b/src/H5private.h index 65800fc..ada5321 100644 --- a/src/H5private.h +++ b/src/H5private.h @@ -730,11 +730,14 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...); * For Unix, if off_t is not 64bit big, try use the pseudo-standard * xxx64 versions if available. */ -#if !defined(HDfstat) || !defined(HDstat) +#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 */ @@ -745,6 +748,9 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...); #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 */ @@ -1080,9 +1086,6 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...); #ifndef HDsetvbuf #define HDsetvbuf(F,S,M,Z) setvbuf(F,S,M,Z) #endif /* HDsetvbuf */ -#ifndef HDsigaction - #define HDsigaction(N,A) sigaction(N,A) -#endif /* HDsigaction */ #ifndef HDsigaddset #define HDsigaddset(S,N) sigaddset(S,N) #endif /* HDsigaddset */ diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index 9c995db..2415f77 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -229,6 +229,9 @@ /* Define to 1 if you have the `lseek64' function. */ /* #define H5_HAVE_LSEEK64 1 */ +/* Define to 1 if you have the `lstat' function. */ +/* #define H5_HAVE_LSTAT 1 */ + /* Define to 1 if you have the <memory.h> header file. */ #define H5_HAVE_MEMORY_H 1 @@ -265,9 +268,6 @@ /* Define to 1 if you have the `setsysinfo' function. */ /* #undef H5_HAVE_SETSYSINFO */ -/* Define to 1 if you have the `sigaction' function. */ -#define H5_HAVE_SIGACTION 1 - /* Define to 1 if you have the `siglongjmp' function. */ #define H5_HAVE_SIGLONGJMP 1 diff --git a/windows/src/H5pubconf.h b/windows/src/H5pubconf.h index 3a7bb71..eac9df3 100755 --- a/windows/src/H5pubconf.h +++ b/windows/src/H5pubconf.h @@ -231,6 +231,9 @@ /* Define to 1 if you have the `lseek64' function. */ /* #undef H5_HAVE_LSEEK64 */ +/* Define to 1 if you have the `lstat' function. */ +/* #undef H5_HAVE_LSTAT */ + /* Define to 1 if you have the <memory.h> header file. */ #define H5_HAVE_MEMORY_H 1 @@ -267,9 +270,6 @@ /* Define to 1 if you have the `setsysinfo' function. */ /* #undef H5_HAVE_SETSYSINFO */ -/* Define to 1 if you have the `sigaction' function. */ -/* #undef H5_HAVE_SIGACTION */ - /* Define to 1 if you have the `siglongjmp' function. */ /* #undef H5_HAVE_SIGLONGJMP */ |