Index: share/mk/bsd.mkopt.mk =================================================================== --- share/mk/bsd.mkopt.mk +++ share/mk/bsd.mkopt.mk @@ -58,3 +58,12 @@ .endif # !defined(MK_${var}) .endfor .undef __DEFAULT_NO_OPTIONS + +# +# MK_* options which are always no, usually because they are +# unsupported/badly broken on this architecture. +# +.for var in ${__ALWAYS_NO_OPTIONS} +MK_${var}:= no +.endfor +.undef __ALWAYS_NO_OPTIONS Index: sys/conf/kern.opts.mk =================================================================== --- sys/conf/kern.opts.mk +++ sys/conf/kern.opts.mk @@ -48,6 +48,34 @@ NAND \ OFED +# Options that cannot be turned on this architecture, usually because +# of compilation or other issues so severe it cannot be used even +# on an experimental basis +__ALWAYS_NO_OPTIONS= + +# Things that don't work based on the CPU +.if ${MACHINE_CPUARCH} == "arm" +__ALWAYS_NO_OPTIONS+= CDDL ZFS +.endif + +.if ${MACHINE_CPUARCH} == "mips" +__ALWAYS_NO_OPTIONS+= CDDL ZFS +.endif + +.if ${MACHINE_CPUARCH} == "powerpc" && ${MACHINE_ARCH} != "powerpc64" +__ALWAYS_NO_OPTIONS+= ZFS +.endif + +# Things that don't work because the kernel doesn't have the support +# for them. +.if ${MACHINE} != "i386" +__ALWAYS_NO_OPTIONS+= EISA +.endif + +.if ${MACHINE} != "i386" && ${MACHINE} != "amd64" +__ALWAYS_NO_OPTIONS+= OFED +.endif + # expanded inline from bsd.mkopt.mk to avoid share/mk dependency # Those that default to yes @@ -83,6 +111,16 @@ .undef __DEFAULT_NO_OPTIONS # +# MK_* options which are always no, usually because they are +# unsupported/badly broken on this architecture. +# +.for var in ${__ALWAYS_NO_OPTIONS} +MK_${var}:= no +.endfor +.undef __ALWAYS_NO_OPTIONS +#end of bsd.mkopt.mk expanded inline. + +# # MK_*_SUPPORT options which default to "yes" unless their corresponding # MK_* variable is set to "no". # @@ -104,6 +142,3 @@ .endif .endif .endfor - - -