* libU77/configure.in (sys/param.h,sys/times.h): Check.
(times,alarm): Likewise.
* libU77/config.h.in (HAVE_SYS_PARAM_H, HAVE_SYS_TIMES_H,
HAVE_ALARM, HAVE_TIMES): New defs.
* libU77/alarm_.c: Conditionalize for target platform. Set errno
to ENOSYS if target libc doesn't have the function.
* libU77/dtime_.c: Likewise.
* libU77/etime_.c: Likewise.
* libU77/sys_clock_.c: Likewise.
From-SVN: r17398
Sat Jan 17 22:40:31 1998 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * libU77/configure.in (sys/param.h,sys/times.h): Check.
+ (times,alarm): Likewise.
+ * libU77/config.h.in (HAVE_SYS_PARAM_H, HAVE_SYS_TIMES_H,
+ HAVE_ALARM, HAVE_TIMES): New defs.
+ * libU77/alarm_.c: Conditionalize for target platform. Set errno
+ to ENOSYS if target libc doesn't have the function.
+ * libU77/dtime_.c: Likewise.
+ * libU77/etime_.c: Likewise.
+ * libU77/sys_clock_.c: Likewise.
* configure.in (NON_UNIX_STDIO): Define if MINGW32.
(NON_ANSI_RW_MODE): Do not define for CYGWIN32 or MINGW32.
# include <unistd.h>
#endif
+#include <errno.h> /* for ENOSYS */
#include "f2c.h"
#ifndef RETSIGTYPE
#endif
{
int status;
-
+#if defined (HAVE_ALARM) && defined (SIGALRM)
if (signal(SIGALRM, (sig_type)proc) == SIG_ERR)
status = -1;
else
status = alarm (*seconds);
+#else /* ! HAVE_ALARM || ! SIGALRM */
+ errno = ENOSYS;
+ status = -1;
+#endif
return status;
}
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+
+/* Define if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define if you have the <sys/times.h> header file. */
+#undef HAVE_SYS_TIMES_H
+
+/* Define if you have the alarm function. */
+#undef HAVE_ALARM
+
+/* Define if you have the times function. */
+#undef HAVE_TIMES
+
dnl AC_MSG_RESULT($ac_cv_sys_proto)
AC_HEADER_TIME
-AC_CHECK_HEADERS(limits.h unistd.h sys/time.h string.h stdlib.h)
+AC_CHECK_HEADERS(limits.h unistd.h sys/time.h string.h stdlib.h \
+ sys/param.h sys/times.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
dnl Checks for library functions.
-AC_CHECK_FUNCS(symlink getcwd getwd lstat gethostname strerror clock getrusage)
+AC_CHECK_FUNCS(symlink getcwd getwd lstat gethostname strerror clock \
+ getrusage times alarm)
test $ac_cv_func_symlink = yes && MAYBES="$MAYBES symlnk_.o"
test $ac_cv_func_lstat = yes && MAYBES="$MAYBES lstat_.o"
test $ac_cv_func_gethostname = yes && MAYBES="$MAYBES hostnm_.o"
# include <unistd.h>
#endif
#include <sys/types.h>
-#include <sys/times.h>
-#include <sys/param.h>
+#if HAVE_SYS_TIMES_H
+# include <sys/times.h>
+#endif
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
#if HAVE_GETRUSAGE
# include <sys/time.h>
# include <sys/resource.h>
#endif
+#include <errno.h> /* for ENOSYS */
#include "f2c.h"
/* For dtime, etime we store the clock tick parameter (clk_tck) the
double G77_dtime_0 (real tarray[2])
#endif
{
+#if defined (HAVE_GETRUSAGE) || defined (HAVE_TIMES)
/* The getrusage version is only the default for convenience. */
#ifdef HAVE_GETRUSAGE
float utime, stime;
#endif /* HAVE_GETRUSAGE */
old_utime = utime; old_stime = stime;
return (tarray[0]+tarray[1]);
+#else /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */
+ errno = ENOSYS;
+ return 0.0;
+#endif /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */
}
# include <unistd.h>
#endif
#include <sys/types.h>
-#include <sys/times.h>
-#include <sys/param.h>
+#if HAVE_SYS_TIMES_H
+# include <sys/times.h>
+#endif
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
#if HAVE_GETRUSAGE
# include <sys/time.h>
# include <sys/resource.h>
#endif
+#include <errno.h> /* for ENOSYS */
#include "f2c.h"
/* For dtime, etime we store the clock tick parameter (clk_tck) the
double G77_etime_0 (real tarray[2])
#endif
{
+#if defined (HAVE_GETRUSAGE) || defined (HAVE_TIMES)
/* The getrusage version is only the default for convenience. */
#ifdef HAVE_GETRUSAGE
struct rusage rbuff;
tarray[1] = (float) buffer.tms_stime / (float)clk_tck;
#endif /* HAVE_GETRUSAGE */
return (tarray[0]+tarray[1]);
+#else /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */
+ errno = ENOSYS;
+ return 0.0;
+#endif /* ! HAVE_GETRUSAGE && ! HAVE_TIMES */
}
# include <unistd.h>
#endif
#include <errno.h>
-#include <sys/param.h>
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
#include "f2c.h"
#ifdef KR_headers
# include <unistd.h>
#endif
#include <errno.h>
-#include <sys/param.h>
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
#include "f2c.h"
#ifdef KR_headers
# include <time.h>
# endif
#endif
-#include <sys/times.h>
+#if HAVE_SYS_TIMES_H
+# include <sys/times.h>
+#endif
#include <limits.h>
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
+#include <errno.h> /* for ENOSYS */
#include "f2c.h"
#ifdef KR_headers
int G77_system_clock_0 (integer *count, integer *count_rate, integer *count_max)
#endif
{
+#if defined (HAVE_TIMES)
struct tms buffer;
unsigned long cnt;
#ifdef _SC_CLK_TCK
else
*count = cnt;
return 0;
+#else /* ! HAVE_TIMES */
+ errno = ENOSYS;
+ return -1;
+#endif /* ! HAVE_TIMES */
}
# include <unistd.h>
#endif
#include <errno.h>
-#include <sys/param.h>
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
+#endif
#include "f2c.h"
#ifdef KR_headers