aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMumit Khan <khan@xraylith.wisc.edu>1998-01-17 21:39:07 +0000
committerJeff Law <law@gcc.gnu.org>1998-01-17 14:39:07 -0700
commitd9a3317a6806010861b6f640ca1cc76e2044fefc (patch)
tree271b20260ce7a77404627a2146109f046d496eae
parent4dfa69619aac0e073659414c99bbbc2793b2e922 (diff)
downloadgcc-d9a3317a6806010861b6f640ca1cc76e2044fefc.zip
gcc-d9a3317a6806010861b6f640ca1cc76e2044fefc.tar.gz
gcc-d9a3317a6806010861b6f640ca1cc76e2044fefc.tar.bz2
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
-rw-r--r--gcc/f/runtime/ChangeLog.egcs10
-rw-r--r--gcc/f/runtime/libU77/alarm_.c7
-rw-r--r--gcc/f/runtime/libU77/config.h.in13
-rw-r--r--gcc/f/runtime/libU77/configure.in6
-rw-r--r--gcc/f/runtime/libU77/dtime_.c14
-rw-r--r--gcc/f/runtime/libU77/etime_.c14
-rw-r--r--gcc/f/runtime/libU77/link_.c4
-rw-r--r--gcc/f/runtime/libU77/symlnk_.c4
-rw-r--r--gcc/f/runtime/libU77/sys_clock_.c10
-rw-r--r--gcc/f/runtime/libU77/unlink_.c4
10 files changed, 75 insertions, 11 deletions
diff --git a/gcc/f/runtime/ChangeLog.egcs b/gcc/f/runtime/ChangeLog.egcs
index 47e86f4..e052c2d 100644
--- a/gcc/f/runtime/ChangeLog.egcs
+++ b/gcc/f/runtime/ChangeLog.egcs
@@ -1,4 +1,14 @@
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.
diff --git a/gcc/f/runtime/libU77/alarm_.c b/gcc/f/runtime/libU77/alarm_.c
index b1c347d..3e2f293 100644
--- a/gcc/f/runtime/libU77/alarm_.c
+++ b/gcc/f/runtime/libU77/alarm_.c
@@ -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;
}
diff --git a/gcc/f/runtime/libU77/config.h.in b/gcc/f/runtime/libU77/config.h.in
index 45ada20..4fcffeb 100644
--- a/gcc/f/runtime/libU77/config.h.in
+++ b/gcc/f/runtime/libU77/config.h.in
@@ -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
+
diff --git a/gcc/f/runtime/libU77/configure.in b/gcc/f/runtime/libU77/configure.in
index d50fa11..3cacc9f 100644
--- a/gcc/f/runtime/libU77/configure.in
+++ b/gcc/f/runtime/libU77/configure.in
@@ -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"
diff --git a/gcc/f/runtime/libU77/dtime_.c b/gcc/f/runtime/libU77/dtime_.c
index dfc3fde..8bcfde8 100644
--- a/gcc/f/runtime/libU77/dtime_.c
+++ b/gcc/f/runtime/libU77/dtime_.c
@@ -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 */
}
diff --git a/gcc/f/runtime/libU77/etime_.c b/gcc/f/runtime/libU77/etime_.c
index 625d3d0..269d964 100644
--- a/gcc/f/runtime/libU77/etime_.c
+++ b/gcc/f/runtime/libU77/etime_.c
@@ -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 */
}
diff --git a/gcc/f/runtime/libU77/link_.c b/gcc/f/runtime/libU77/link_.c
index 6892dcb..7a0b51b 100644
--- a/gcc/f/runtime/libU77/link_.c
+++ b/gcc/f/runtime/libU77/link_.c
@@ -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
diff --git a/gcc/f/runtime/libU77/symlnk_.c b/gcc/f/runtime/libU77/symlnk_.c
index d15e452..4b0bf24 100644
--- a/gcc/f/runtime/libU77/symlnk_.c
+++ b/gcc/f/runtime/libU77/symlnk_.c
@@ -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
diff --git a/gcc/f/runtime/libU77/sys_clock_.c b/gcc/f/runtime/libU77/sys_clock_.c
index 5644d49..47436dd 100644
--- a/gcc/f/runtime/libU77/sys_clock_.c
+++ b/gcc/f/runtime/libU77/sys_clock_.c
@@ -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 */
}
diff --git a/gcc/f/runtime/libU77/unlink_.c b/gcc/f/runtime/libU77/unlink_.c
index 5e7edf2..cd00559 100644
--- a/gcc/f/runtime/libU77/unlink_.c
+++ b/gcc/f/runtime/libU77/unlink_.c
@@ -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