diff --git a/sys/conf/kern.opts.mk b/sys/conf/kern.opts.mk --- a/sys/conf/kern.opts.mk +++ b/sys/conf/kern.opts.mk @@ -62,6 +62,10 @@ REPRODUCIBLE_BUILD \ VERIEXEC +__DEFAULT_DEPENDENT_OPTIONS = \ + REPRODUCIBLE_PATHS/REPRODUCIBLE_BUILD \ + + # Some options are totally broken on some architectures. We disable them. If you # need to enable them on an experimental basis, you must change this code. # Note: These only apply to the list of modules we build by default and @@ -174,6 +178,22 @@ OPT_${opt}:= ${rep} .endif .endfor + +# List of FOO/BAR options, FOO defaults to BAR if not set +.for vv in ${__DEFAULT_DEPENDENT_OPTIONS} +.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H}) +MK_${vv:H}?= no +.elif defined(WITH_${vv:H}) +MK_${vv:H}?= yes +.elif defined(WITHOUT_${vv:H}) +MK_${vv:H}?= no +.else +MK_${vv:H}?= ${MK_${vv:T}} +.endif +MK_${vv:H}:= ${MK_${vv:H}} +.endfor +.undef __DEFAULT_DEPENDENT_OPTIONS + #end of bsd.mkopt.mk expanded inline. # diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk --- a/sys/conf/kern.post.mk +++ b/sys/conf/kern.post.mk @@ -372,7 +372,7 @@ _ILINKS+= i386 .endif -.if ${MK_REPRODUCIBLE_BUILD} != "no" +.if ${MK_REPRODUCIBLE_PATHS} != "no" PREFIX_SYSDIR=/usr/src/sys PREFIX_OBJDIR=/usr/obj/usr/src/${MACHINE}.${MACHINE_CPUARCH}/sys/${KERN_IDENT} CFLAGS+= -ffile-prefix-map=${SYSDIR}=${PREFIX_SYSDIR} diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk --- a/sys/conf/kmod.mk +++ b/sys/conf/kmod.mk @@ -303,7 +303,7 @@ beforedepend: ${_ILINKS} beforebuild: ${_ILINKS} -.if ${MK_REPRODUCIBLE_BUILD} != "no" +.if ${MK_REPRODUCIBLE_PATHS} != "no" PREFIX_SYSDIR=/usr/src/sys CFLAGS+= -ffile-prefix-map=${SYSDIR}=${PREFIX_SYSDIR} .if defined(KERNBUILDDIR)