This replaces the one use of ftime() on BSD with gettimeofday() in cad/spice. gettimeofday() was already available at the time that code was written in the 1980s. I've followed the existing style and not used #elif.
This also removes the useless inclusion of <sgtty.h>, which will go away, too. ok? Index: Makefile =================================================================== RCS file: /cvs/ports/cad/spice/Makefile,v retrieving revision 1.33 diff -u -p -r1.33 Makefile --- Makefile 10 Mar 2013 23:04:45 -0000 1.33 +++ Makefile 1 Dec 2013 21:24:02 -0000 @@ -5,7 +5,7 @@ COMMENT= Simulation Program for Integrat V= 3f5 DISTNAME= spice${V} PKGNAME= spice-${V} -REVISION= 6 +REVISION= 7 CATEGORIES= cad # BSD Index: files/OpenBSD =================================================================== RCS file: /cvs/ports/cad/spice/files/OpenBSD,v retrieving revision 1.5 diff -u -p -r1.5 OpenBSD --- files/OpenBSD 13 Nov 2011 12:50:39 -0000 1.5 +++ files/OpenBSD 1 Dec 2013 21:24:02 -0000 @@ -5,7 +5,7 @@ MAKE = ${MAKE_PROGRAM} DEFAULT_EDITOR = /usr/bin/vi X_DIR = ${X11BASE} -LDFLAGS = -lm -ltermlib -lcompat +LDFLAGS = -lm -ltermlib SYS_CFLAGS = -Dbsd -DHAS_STDLIB -DHAS_INTWAITSTATUS SYS_DIR = ${DIST_DIR}/OpenBSD SPICE_DIR = ${PREFIX} Index: patches/patch-src_include_mfb_h =================================================================== RCS file: /cvs/ports/cad/spice/patches/patch-src_include_mfb_h,v retrieving revision 1.1 diff -u -p -r1.1 patch-src_include_mfb_h --- patches/patch-src_include_mfb_h 9 May 2010 17:50:26 -0000 1.1 +++ patches/patch-src_include_mfb_h 1 Dec 2013 21:24:02 -0000 @@ -1,7 +1,18 @@ $OpenBSD: patch-src_include_mfb_h,v 1.1 2010/05/09 17:50:26 espie Exp $ ---- src/include/mfb.h.orig Sun May 9 19:41:32 2010 -+++ src/include/mfb.h Sun May 9 19:41:48 2010 -@@ -369,7 +369,7 @@ typedef struct mfb MFB; +--- src/include/mfb.h.orig Mon Oct 8 10:19:42 1990 ++++ src/include/mfb.h Sun Dec 1 22:20:06 2013 +@@ -31,6 +31,10 @@ Author: 1985 Wayne A. Christopher + + #include <sys/types.h> + ++#ifdef HAS_GETTIMEOFDAY ++#include <sys/time.h> ++#endif ++ + #ifdef HAS_FTIME + #include <sys/timeb.h> + #endif +@@ -369,7 +373,7 @@ typedef struct mfb MFB; extern MFB *MFBCurrent; /* global FB structure */ Index: patches/patch-src_include_os_bsd_h =================================================================== RCS file: patches/patch-src_include_os_bsd_h diff -N patches/patch-src_include_os_bsd_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_include_os_bsd_h 1 Dec 2013 21:24:02 -0000 @@ -0,0 +1,20 @@ +$OpenBSD$ +--- src/include/os_bsd.h.orig Sun Apr 25 01:09:46 1993 ++++ src/include/os_bsd.h Sun Dec 1 22:04:25 2013 +@@ -10,13 +10,15 @@ Copyright 1990 Regents of the University of California + + #define HAS_NO_ATRIGH_DECL /* if asinh( ) is not in math.h */ + #define HAS_ATRIGH /* acosh( ), asinh( ), atanh( ) */ +-#define HAS_FTIME /* ftime( ), <times.h> */ ++#define HAS_GETTIMEOFDAY /* gettimeofday() */ + #define HAS_TERMCAP /* tgetxxx( ) */ + #define HAS_VFORK /* BSD-ism, should not be necessary */ + #define HAS_INDEX /* index( ) instead of strchr( ) */ + #define HAS_BCOPY /* bcopy( ), bzero( ) */ + #define HAS_BSDRANDOM /* srandom( ) and random( ) */ ++#ifndef __OpenBSD__ + #define HAS_BSDTTY /* <sgtty.h> */ ++#endif + #define HAS_BSDDIRS /* <sys/dir.h> */ + #define HAS_BSDRUSAGE /* getrusage( ) */ + #define HAS_BSDRLIMIT /* getrlimit( ) */ Index: patches/patch-src_lib_mfb_mfbgnc_c =================================================================== RCS file: /cvs/ports/cad/spice/patches/patch-src_lib_mfb_mfbgnc_c,v retrieving revision 1.1 diff -u -p -r1.1 patch-src_lib_mfb_mfbgnc_c --- patches/patch-src_lib_mfb_mfbgnc_c 2 Aug 2001 23:54:56 -0000 1.1 +++ patches/patch-src_lib_mfb_mfbgnc_c 1 Dec 2013 21:24:02 -0000 @@ -1,13 +1,44 @@ $OpenBSD: patch-src_lib_mfb_mfbgnc_c,v 1.1 2001/08/02 23:54:56 pvalchev Exp $ ---- src/lib/mfb/mfbgnc.c.orig Tue Apr 9 20:08:26 1991 -+++ src/lib/mfb/mfbgnc.c Thu Aug 2 17:06:58 2001 -@@ -25,7 +25,9 @@ Author: -C- 1982 Giles C. Billingsley - - /* Library routines */ +--- src/lib/mfb/mfbgnc.c.orig Wed Apr 10 04:08:26 1991 ++++ src/lib/mfb/mfbgnc.c Sun Dec 1 22:15:12 2013 +@@ -103,10 +103,15 @@ extern void ftime(); + MFBGenCode(PM) + char *PM; + { ++#ifdef HAS_GETTIMEOFDAY ++ struct timeval time1, time2; ++ float reftime, elapsedtime; ++#else #ifdef HAS_FTIME -+#ifndef __OpenBSD__ - extern void ftime(); -+#endif /*__OpenBSD__*/ + struct timeb time1, time2; + float reftime, elapsedtime; #endif - - /* ++#endif + static char result[512]; /* 512 chars maximum per transfer */ + char hexadec(); /* return a hexadecimal character */ + char octal(); /* return an octal character */ +@@ -146,6 +151,16 @@ MFBGenCode(PM) + mfbarg(cp, Reg, reg, tmp); + if(*cp++ != '>') + continue; ++#ifdef HAS_GETTIMEOFDAY ++ gettimeofday(&time1, NULL); ++ reftime = (float)(time1.tv_sec * 1000 + time1.tv_usec / 1000); ++ while(tmp > 0){ ++ gettimeofday(&time2, NULL); ++ elapsedtime = (float)(time2.tv_sec * 1000 + time2.tv_usec / 1000) - reftime; ++ if(elapsedtime > (float)tmp) ++ break; ++ } ++#else + #ifdef HAS_FTIME + ftime(&time1); + reftime = (float)(time1.time * 1000 + time1.millitm); +@@ -157,6 +172,7 @@ MFBGenCode(PM) + } + #else + sleep((tmp + 999) / 1000); /* Yuk; have to round up to seconds */ ++#endif + #endif + dp = result; + } -- Christian "naddy" Weisgerber na...@mips.inka.de