freebsd-ports/cad/cider/files/patch-spice3f5_common_src_bin_main.c
John Marino d96901c320 Stage cad/cider. Mark BROKEN on F10+ caused by bmake
This port generates a makefile and then passes it to "make" via stdin,
which makes it different to troubleshoot.  When I finally saw the file
in order to figure out why several internal static libraries weren't
getting built leading to some programs not getting built, I saw a
generic static library target made up of variables.  fmake likes it;
bmake does not.

I tried USES+= fmake along with some patching but I must have missed
some hardcoded "make" commands because bmake got called again.  This
software is 20 years old so I finally gave it.  It got a stay of
execution by getting staged.  If somebody wants to study a target that
bmake just doesn't get, this is a good place to start.
2014-08-18 15:41:36 +00:00

25 lines
606 B
C

--- spice3f5/common/src/bin/main.c.orig 1994-03-12 08:22:28 UTC
+++ spice3f5/common/src/bin/main.c
@@ -36,6 +36,11 @@ Author: 1985 Wayne A. Christopher
#endif
#include "patchlev.h"
+
+#ifdef __FreeBSD__
+#include <ieeefp.h>
+#endif
+
#include "suffix.h"
/* (Virtual) Machine architecture parameters */
@@ -216,6 +221,10 @@ main(ac, av)
#endif
+#ifdef __FreeBSD__
+ fpsetmask(fpgetmask() & ~FP_X_INV & ~FP_X_DZ & ~FP_X_OFL);
+#endif
+
/* MFB tends to jump to 0 on errors. This tends to catch it. */
if (started) {
fprintf(cp_err, "main: Internal Error: jump to zero\n");