[svn-r11222] Purpose:

feature

Description:
Add the test for tmpfile.  If it does not exist, compile in our own
version (which always returns NULL for now.)
This commit is contained in:
Albert Cheng 2005-08-09 11:53:43 -05:00
parent 32929893cf
commit 70f1a12883
4 changed files with 140 additions and 0 deletions

110
configure vendored
View File

@ -46785,6 +46785,116 @@ fi
done done
for ac_func in tmpfile
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
echo "$as_me:$LINENO: checking for $ac_func" >&5
echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
For example, HP-UX 11i <limits.h> declares gettimeofday. */
#define $ac_func innocuous_$ac_func
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func (); below.
Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
<limits.h> exists even on freestanding compilers. */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
#undef $ac_func
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
{
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char $ac_func ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
choke me
#else
char (*f) () = $ac_func;
#endif
#ifdef __cplusplus
}
#endif
#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 ()
{
return f != $ac_func;
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
eval "$as_ac_var=yes"
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
eval "$as_ac_var=no"
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
if test `eval echo '${'$as_ac_var'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
fi
done
for ac_func in vsnprintf for ac_func in vsnprintf
do do

View File

@ -1514,11 +1514,13 @@ AC_MSG_RESULT([no]))
dnl ---------------------------------------------------------------------- dnl ----------------------------------------------------------------------
dnl Check for functions. dnl Check for functions.
dnl tmpfile needed by h5pdiff.
dnl dnl
AC_CHECK_FUNCS(fork frexpf frexpl gethostname getpwuid getrusage) AC_CHECK_FUNCS(fork frexpf frexpl gethostname getpwuid getrusage)
AC_CHECK_FUNCS(BSDgettimeofday longjmp setsysinfo sigaction) AC_CHECK_FUNCS(BSDgettimeofday longjmp setsysinfo sigaction)
AC_CHECK_FUNCS(signal snprintf vasprintf strdup system waitpid) AC_CHECK_FUNCS(signal snprintf vasprintf strdup system waitpid)
AC_CHECK_FUNCS(random srandom) AC_CHECK_FUNCS(random srandom)
AC_CHECK_FUNCS(tmpfile)
dnl Check for vsnprintf() separately, so we can detect situations where it 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 dnl doesn't return the correct size for formatted strings that are too large

View File

@ -320,6 +320,9 @@
/* Define if the ioctl TIOGWINSZ is defined */ /* Define if the ioctl TIOGWINSZ is defined */
#undef HAVE_TIOCGWINSZ #undef HAVE_TIOCGWINSZ
/* Define to 1 if you have the `tmpfile' function. */
#undef HAVE_TMPFILE
/* Define if `tm_gmtoff' is a member of `struct tm' */ /* Define if `tm_gmtoff' is a member of `struct tm' */
#undef HAVE_TM_GMTOFF #undef HAVE_TM_GMTOFF

View File

@ -666,3 +666,28 @@ add_obj(table_t *table, haddr_t objno, char *objname)
table->objs[i].objname = HDstrdup(objname); table->objs[i].objname = HDstrdup(objname);
} }
#ifndef H5_HAVE_TMPFILE
/*-------------------------------------------------------------------------
* Function: tmpfile
*
* Purpose: provide tmpfile() function when it is not supported by the
* system. Always return NULL for now.
*
* Return: a stream description when succeeds.
* NULL if fails.
*
* Programmer: Albert Cheng, 2005/8/9
*
* Modifications:
*
*-------------------------------------------------------------------------
*/
static
FILE *
tmpfile(void)
{
return NULL;
}
#endif