--- scrt/options.h.orig	Tue Feb 23 01:14:40 1993
+++ scrt/options.h	Wed Feb  2 22:22:22 2000
@@ -71,6 +71,7 @@
 	MC680X0		HP 9000/300, Sun 3, Next
 	MIPS		DECstation, SGI, Sony News
 	VAX		Vax ULTRIX
+	FREEBSD		x86 FreeBSD
 	WIN16		Microsoft Windows 3.1
 */
 
@@ -80,6 +81,7 @@
 #define MC680X0 1
 #define MIPS 1
 #define VAX 1
+#define FREEBSD 1
 #define WIN16 1
 
 /* Attributes of the selected architecture:
@@ -369,6 +371,34 @@
 				*/
 
 #define STACKPTR( x ) x = sc_processor_register( 14 )
+#endif
+
+/***************/
+/*   FREEBSD   */
+/***************/
+
+#ifdef FREEBSD
+#define IMPLEMENTATION_MACHINE	"Generic PC"
+#define IMPLEMENTATION_CPU	"Intelx86"
+#define IMPLEMENTATION_OS	"FreeBSD"
+#undef  IMPLEMENTATION_FS
+
+typedef int S2CINT;		/* Signed pointer size integer */
+typedef unsigned S2CUINT;	/* Unsigned pointer size interger */
+
+typedef int PAGELINK;		/* 32-bit sc_pagelink values */
+#define MAXS2CINT  0x7fffffff	/* Maximum value of an S2CINT */
+#define MSBS2CUINT 0x80000000	/* S2CUINT with 1 in the MSB */
+
+#define STACKPTR( x ) x = sc_processor_register( 0 )
+
+#include <setjmp.h>
+typedef jmp_buf sc_jmp_buf;
+
+/* Horrid kludge.  See callcc.c for the full story: */
+#define LAZY_STACK_POP 1
+#define LAZY_STACK_INCREMENT 4
+
 #endif
 
 /***************/
