Commit d9a3317a by Mumit Khan Committed by Jeff Law

configure.in (sys/param.h,sys/times.h): Check.

	* 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
parent 4dfa6961
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.
......
......@@ -24,6 +24,7 @@ Boston, MA 02111-1307, USA. */
# include <unistd.h>
#endif
#include <errno.h> /* for ENOSYS */
#include "f2c.h"
#ifndef RETSIGTYPE
......@@ -50,10 +51,14 @@ integer G77_alarm_0 (integer *seconds, sig_proc proc)
#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;
}
......@@ -71,3 +71,16 @@
/* 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
......@@ -79,7 +79,8 @@ dnl AC_DEFINE(KR_headers)])])
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
......@@ -96,7 +97,8 @@ AC_STRUCT_TM
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"
......
......@@ -23,12 +23,17 @@ Boston, MA 02111-1307, USA. */
# 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
......@@ -45,6 +50,7 @@ double G77_dtime_0 (tarray)
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;
......@@ -85,4 +91,8 @@ double G77_dtime_0 (real tarray[2])
#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 */
}
......@@ -23,12 +23,17 @@ Boston, MA 02111-1307, USA. */
# 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
......@@ -45,6 +50,7 @@ double G77_etime_0 (tarray)
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;
......@@ -77,4 +83,8 @@ double G77_etime_0 (real tarray[2])
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 */
}
......@@ -28,7 +28,9 @@ Boston, MA 02111-1307, USA. */
# 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
......
......@@ -28,7 +28,9 @@ Boston, MA 02111-1307, USA. */
# 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
......
......@@ -29,11 +29,14 @@ Boston, MA 02111-1307, USA. */
# 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
......@@ -43,6 +46,7 @@ int G77_system_clock_0 (count, count_rate, count_max)
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
......@@ -63,4 +67,8 @@ int G77_system_clock_0 (integer *count, integer *count_rate, integer *count_max)
else
*count = cnt;
return 0;
#else /* ! HAVE_TIMES */
errno = ENOSYS;
return -1;
#endif /* ! HAVE_TIMES */
}
......@@ -28,7 +28,9 @@ Boston, MA 02111-1307, USA. */
# 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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment