--- src/config/InterViews/arch.def.orig	Tue Jun 29 08:40:43 1993
+++ src/config/InterViews/arch.def	Sun Jan 23 17:28:56 2000
@@ -404,6 +404,24 @@
 #define MacroFile InterViews/iv-alpha.cf
 #endif /* __alpha */
 
+/*
+ * XXX imake(1) seems to invoke /usr/libexec/cpp directly in certain
+ * cases, leaving some macros including __FreeBSD__ undefined.
+ */
+#if !defined(__FreeBSD__)
+#define __FreeBSD__
+#endif /* __FreeBSD__ */
+
+#ifdef __FreeBSD__
+#undef freebsd
+#undef FREEBSD
+#define FreeBSDArchitecture
+#define ArchitectureName FREEBSD
+#define architectureName freebsd
+#define MacroIncludeFile <InterViews/iv-freebsd.cf>
+#define MacroFile InterViews/iv-freebsd.cf
+#endif
+
 #ifndef ArchitectureName
 XCOMM WARNING: Imakefile not configured; guessing at definitions!!!
 XCOMM This might mean that BOOTSTRAPCFLAGS was not set when building imake.
