[PATCH] fake pre-processor macros when building on non-FreeBSD system

Robert Millan rmh at debian.org
Tue Jul 12 20:00:58 UTC 2011


2011/7/12 Oliver Pinter <oliver.pntr at gmail.com>:
> +.if ${OPSYS} != "FreeBSD"
>
> and what's the status example on NetBSD?

I didn't think of it.  There are some instances of __NetBSD__ and also
__OpenBSD__ in the kernel tree, and the same problem can be fixed for
these two systems with minimal effort.

Here's a new version of the patch, which also adds -U__NetBSD__ and
-U__OpenBSD__ to CFLAGS.

-- 
Robert Millan
-------------- next part --------------
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -90,6 +90,14 @@
 .endif
 WERROR?= -Werror
 
+.if !defined(OPSYS)
+OPSYS!= uname -s
+.endif
+
+.if ${OPSYS} != "FreeBSD"
+CFLAGS+= -Ulinux -U__linux__ -U__NetBSD__ -U__OpenBSD__ -D__FreeBSD__
+.endif
+
 # XXX LOCORE means "don't declare C stuff" not "for locore.s".
 ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS}
 
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -96,6 +96,14 @@
 CFLAGS+=	-D_KERNEL
 CFLAGS+=	-DKLD_MODULE
 
+.if !defined(OPSYS)
+OPSYS!=		uname -s
+.endif
+
+.if ${OPSYS} != "FreeBSD"
+CFLAGS+=	-Ulinux -U__linux__ -U__NetBSD__ -U__OpenBSD__ -D__FreeBSD__
+.endif
+
 # Don't use any standard or source-relative include directories.
 CSTD=		c99
 NOSTDINC=	-nostdinc


More information about the freebsd-hackers mailing list