Reconnect arm to the universe build, and connect big-endian MIPS and ARM

and powerpc64 to universe for the first time. In general, provide
(slightly hacky) knowledge of multi-architecture TARGETs to universe as
well as the ability to distinguish the correct toolchain for a given
kernel using config -m.
This commit is contained in:
Nathan Whitehorn 2010-12-18 14:34:05 +00:00
parent 8dca9d3328
commit 8e7c4a0522

View File

@ -281,7 +281,15 @@ tinderbox:
# existing system is. # existing system is.
# #
.if make(universe) || make(universe_kernels) || make(tinderbox) .if make(universe) || make(universe_kernels) || make(tinderbox)
TARGETS?=amd64 i386 ia64 pc98 powerpc sparc64 sun4v mips TARGETS?=amd64 arm i386 ia64 mips pc98 powerpc sparc64 sun4v
TARGET_ARCHES_arm?= arm armeb
TARGET_ARCHES_mips?= mipsel mipseb
TARGET_ARCHES_powerpc?= powerpc powerpc64
TARGET_ARCHES_pc98?= i386
TARGET_ARCHES_sun4v?= sparc64
.for target in ${TARGETS}
TARGET_ARCHES_${target}?= ${target}
.endfor
.if defined(DOING_TINDERBOX) .if defined(DOING_TINDERBOX)
FAILFILE=tinderbox.failed FAILFILE=tinderbox.failed
@ -301,16 +309,24 @@ universe_prologue:
.for target in ${TARGETS} .for target in ${TARGETS}
universe: universe_${target} universe: universe_${target}
.ORDER: universe_prologue universe_${target} universe_epilogue .ORDER: universe_prologue universe_${target} universe_epilogue
universe_${target}: universe_${target}: universe_${target}_prologue
.if !defined(MAKE_JUST_KERNELS) universe_${target}_prologue:
@echo ">> ${target} started on `LC_ALL=C date`" @echo ">> ${target} started on `LC_ALL=C date`"
.if !defined(MAKE_JUST_KERNELS)
.for target_arch in ${TARGET_ARCHES_${target}}
universe_${target}: universe_${target}_${target_arch}
universe_${target}_${target_arch}: universe_${target}_prologue
@echo ">> ${target}.${target_arch} buildworld started on `LC_ALL=C date`"
@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
${MAKE} ${JFLAG} buildworld \ ${MAKE} ${JFLAG} buildworld \
TARGET=${target} \ TARGET=${target} \
> _.${target}.buildworld 2>&1 || \ TARGET_ARCH=${target_arch} \
(echo "${target} world failed," \ > _.${target}.${target_arch}.buildworld 2>&1 || \
"check _.${target}.buildworld for details" | ${MAKEFAIL})) (echo "${target}.${target_arch} world failed," \
@echo ">> ${target} buildworld completed on `LC_ALL=C date`" "check _.${target}.${target_arch}.buildworld for details" | \
${MAKEFAIL}))
@echo ">> ${target}.${target_arch} buildworld completed on `LC_ALL=C date`"
.endfor
.endif .endif
.if !defined(MAKE_JUST_WORLDS) .if !defined(MAKE_JUST_WORLDS)
.if exists(${.CURDIR}/sys/${target}/conf/NOTES) .if exists(${.CURDIR}/sys/${target}/conf/NOTES)
@ -333,9 +349,15 @@ KERNCONFS!= cd ${.CURDIR}/sys/${TARGET}/conf && \
! -name DEFAULTS ! -name NOTES ! -name DEFAULTS ! -name NOTES
universe_kernconfs: universe_kernconfs:
.for kernel in ${KERNCONFS} .for kernel in ${KERNCONFS}
TARGET_ARCH_${kernel}!= cd ${.CURDIR}/sys/${TARGET}/conf && \
config -m ${.CURDIR}/sys/${TARGET}/conf/${kernel} | \
cut -f 2
universe_kernconfs: universe_kernconf_${TARGET}_${kernel}
universe_kernconf_${TARGET}_${kernel}:
@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \ @(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
${MAKE} ${JFLAG} buildkernel \ ${MAKE} ${JFLAG} buildkernel \
TARGET=${TARGET} \ TARGET=${TARGET} \
TARGET_ARCH=${TARGET_ARCH_${kernel}} \
KERNCONF=${kernel} \ KERNCONF=${kernel} \
> _.${TARGET}.${kernel} 2>&1 || \ > _.${TARGET}.${kernel} 2>&1 || \
(echo "${TARGET} ${kernel} kernel failed," \ (echo "${TARGET} ${kernel} kernel failed," \