Backed out rev.1.49. It broke bootstrapping from 2.1.5 2.2.7 and
probably other versions by spamming ${DESTDIR}/usr/include in much the same way as `make includes'. Details for 2.2.7: the bootstrap target has always done a weak spam of ${DESTDIR}/usr/include; we depend on it not installing any significant anachronisms (it probably shouldn't touch the headers at all; however, we may be depending on it for things like the renaming of ts_nsec to ts_sec in <sys/time.h>). Rev.1.49 strengthens the spam to everything in src/include. For 2.2.7, this is not immediately fatal. However, the `make all' step in src/includes is not followed by a `make clean' step, so new rpc headers are not generated after we've bootstrapped rpcgen. This causes a fatal error much later when the old (generated) rpc headers are used with the current headers (sys/types.h and/or the non-generated rpc headers). Details for 2.1.x: the bug is immediately fatal. It gives definition of errno that is not supported by 2.1.x's libc. The weak spam in the restored version avoids this problem by not installing errno.h. (Bootstrapping from 2.1.5 actually breaks much earlier.) I think the header problems supposedly fixed by rev.1.49 were caused by using NOCLEAN and having the build fall over when the weakly spammed headers are active. Minor differences in the layout will then cause the .depend files to point to nonexistent headers. It is a feature for symlinks like errno.h -> sys/errno.h to not exist early. The other change in rev.1.49 breaks building obj directories if NOCLEAN is set. It is only safe for _re_building with NOCLEAN set.
This commit is contained in:
parent
2bd69c5d34
commit
1ff0f342b7
@ -1,5 +1,5 @@
|
||||
#
|
||||
# $Id: Makefile.inc1,v 1.53 1998/12/30 12:06:07 bde Exp $
|
||||
# $Id: Makefile.inc1,v 1.54 1999/01/01 08:45:43 peter Exp $
|
||||
#
|
||||
# Make command line options:
|
||||
# -DCLOBBER will remove /usr/include
|
||||
@ -266,12 +266,12 @@ buildworld: check-objformat
|
||||
@echo ">>> Cleaning up the ${OBJFORMAT} obj tree"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 ${CLEANDIR:S/^/par-/}
|
||||
.endif
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@echo ">>> Rebuilding the ${OBJFORMAT} obj tree"
|
||||
@echo "--------------------------------------------------------------"
|
||||
cd ${.CURDIR}; ${BMAKE} -f Makefile.inc1 par-${OBJDIR}
|
||||
.endif
|
||||
.if !defined(NOTOOLS)
|
||||
@echo
|
||||
@echo "--------------------------------------------------------------"
|
||||
@ -471,8 +471,18 @@ bootstrap:
|
||||
.if defined(DESTDIR)
|
||||
rm -f ${DESTDIR}/usr/src/sys
|
||||
ln -s ${.CURDIR}/sys ${DESTDIR}/usr/src
|
||||
cd ${.CURDIR}/include; ${MAKE} all
|
||||
cd ${.CURDIR}/include; ${MAKE} beforeinstall
|
||||
cd ${.CURDIR}/include; find -dx . | cpio -dump ${DESTDIR}/usr/include
|
||||
.for d in net netatm netinet posix4 sys vm machine
|
||||
if [ -h ${DESTDIR}/usr/include/$d ]; then \
|
||||
rm -f ${DESTDIR}/usr/include/$d ; \
|
||||
fi
|
||||
.endfor
|
||||
cd ${.CURDIR}/sys; \
|
||||
find -dx net netatm netinet posix4 sys vm -name '*.h' -o -type d | \
|
||||
cpio -dump ${DESTDIR}/usr/include
|
||||
mkdir -p ${DESTDIR}/usr/include/machine
|
||||
cd ${.CURDIR}/sys/${MACHINE_ARCH}/include; find -dx . -name '*.h' -o -type d | \
|
||||
cpio -dump ${DESTDIR}/usr/include/machine
|
||||
.endif
|
||||
cd ${.CURDIR}/usr.bin/make; ${MAKE} ${MK_FLAGS} ${_DEPEND}; \
|
||||
${MAKE} ${MK_FLAGS} all; \
|
||||
|
Loading…
Reference in New Issue
Block a user