Page MenuHomeFreeBSD

D16773.id46846.diff
No OneTemporary

D16773.id46846.diff

Index: Makefile.inc1
===================================================================
--- Makefile.inc1
+++ Makefile.inc1
@@ -968,29 +968,10 @@
.endif # !defined(NO_CLEAN)
@mkdir -p ${WORLDTMP}
@touch ${WORLDTMP}/${.TARGET}
-
-.for _dir in \
- lib lib/casper lib/geom usr legacy/bin legacy/usr
- mkdir -p ${WORLDTMP}/${_dir}
-.endfor
- ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
- -p ${WORLDTMP}/legacy/usr >/dev/null
- ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
- -p ${WORLDTMP}/legacy/usr/include >/dev/null
- ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
- -p ${WORLDTMP}/usr >/dev/null
- ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
- -p ${WORLDTMP}/usr/include >/dev/null
- ln -sf ${.CURDIR}/sys ${WORLDTMP}
-.if ${MK_DEBUG_FILES} != "no"
- ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
- -p ${WORLDTMP}/legacy/usr/lib >/dev/null
- ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
- -p ${WORLDTMP}/usr/lib >/dev/null
-.endif
-.for _mtree in ${LOCAL_MTREE}
- ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
-.endfor
+# We can't use mtree to create the worldtmp directories since it may no be
+# available on the target system (this happens e.g. when building on non-FreeBSD)
+ cd ${.CURDIR}/tools/build; \
+ ${MAKE} DIRPRFX=tools/build/ DESTDIR=${WORLDTMP}/legacy installdirs
_legacy:
@echo
@echo "--------------------------------------------------------------"
@@ -1003,6 +984,19 @@
@echo ">>> stage 1.2: bootstrap tools"
@echo "--------------------------------------------------------------"
${_+_}cd ${.CURDIR}; ${BMAKE} bootstrap-tools
+ mkdir -p ${WORLDTMP}/usr
+ ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
+ -p ${WORLDTMP}/usr >/dev/null
+ ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.include.dist \
+ -p ${WORLDTMP}/usr/include >/dev/null
+ ln -sf ${.CURDIR}/sys ${WORLDTMP}
+.if ${MK_DEBUG_FILES} != "no"
+ ${WORLDTMP_MTREE} -f ${.CURDIR}/etc/mtree/BSD.debug.dist \
+ -p ${WORLDTMP}/usr/lib >/dev/null
+.endif
+.for _mtree in ${LOCAL_MTREE}
+ ${WORLDTMP_MTREE} -f ${.CURDIR}/${_mtree} -p ${WORLDTMP} > /dev/null
+.endfor
_cleanobj:
.if !defined(NO_CLEAN)
@echo
Index: tools/build/Makefile
===================================================================
--- tools/build/Makefile
+++ tools/build/Makefile
@@ -59,4 +59,20 @@
# Needed to build config (since it uses libnv)
SYSINCS+= ${SRCTOP}/sys/sys/nv.h ${SRCTOP}/sys/sys/cnv.h
+
+# Create all the directories that are needed during the legacy, bootstrap-tools
+# and cross-tools stages. We do this here using mkdir since mtree may not exist
+# yet (this happens if we are crossbuilding from Linux/Mac).
+installdirs:
+.for _dir in bin usr/lib usr/include lib/geom lib/casper
+ mkdir -p "${DESTDIR}/${_dir}"
+.endfor
+ ln -sf ../bin "${DESTDIR}/usr/bin"
+ ln -sf ../bin "${DESTDIR}/usr/sbin"
+ ln -sf bin "${DESTDIR}/sbin"
+
+.for _group in ${INCSGROUPS:NINCS}
+ mkdir -p "${DESTDIR}/${${_group}DIR}"
+.endfor
+
.include <bsd.lib.mk>

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 23, 5:00 AM (6 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25847322
Default Alt Text
D16773.id46846.diff (3 KB)

Event Timeline