Date: Sun, 14 Mar 1999 06:30:02 -0800 (PST) From: Sheldon Hearn <sheldonh@iafrica.com> To: freebsd-bugs@FreeBSD.org Subject: Re: misc/8071: some obj-links seem not to be taken Message-ID: <199903141430.GAA56082@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR misc/8071; it has been noted by GNATS. From: Sheldon Hearn <sheldonh@iafrica.com> To: freebsd-gnats-submit@freebsd.org Cc: Subject: Re: misc/8071: some obj-links seem not to be taken Date: Sun, 14 Mar 1999 16:25:39 +0200 Here's useful feedback that came out of a series of private mailings in response to my closing the PR: --------" Date : Fri, 12 Mar 1999 05:51:14 +0100 From : Bjoern Fischer <bfischer@Techfak.Uni-Bielefeld.DE> To : Sheldon Hearn <sheldonh@iafrica.com> Subject : Re: misc/8071: some obj-links seem not to be taken > # cd /usr/src > # find . \( -name 'obj' -a -type l \) -delete > # make clean ; make cleandir ; make cleandir > # make buildworld 2>&1 | tee /var/log/buildworld.log > # make installworld 2>&1 | tee /var/log/installworld.log Ok, I have attached the output of `make obj' and `make installworld'. As you see `make installworld' fails to install libcrypt. Although the obj-link was created properly in `make obj', it now points to /usr/obj/aout/usr/src/lib/libcrypt. I've looked through `make buildworld' output and found that the original link to /usr/obj/usr/src/lib/libcrypt was replaced with the new aout one while building the aout legacy support. Do we have a general problem here? One source and two different obj directories. Would it be a solution to add an extra obj link for aout where required, named `obj-aout' possibly? "-------- Given that OBJLINK support is breaking the legacy build and that it hasn't been necessary for ages (thanks to MAKEOBJDIRPREFIX), I propose that the following diffs be applied to the source tree to completely remove OBJLINK support. Ciao, Sheldon. -------- Index: bsd.obj.mk =================================================================== RCS file: /home/ncvs/src/share/mk/bsd.obj.mk,v retrieving revision 1.26 diff -u -d -r1.26 bsd.obj.mk --- bsd.obj.mk 1998/08/30 20:33:27 1.26 +++ bsd.obj.mk 1999/03/14 13:46:26 @@ -31,10 +31,6 @@ # NOOBJ Do not create object directories. This should not be set # if anything is built. # -# OBJLINK Create a symbolic link from ${.CURDIR}/obj to -# ${CANONICALOBJDIR}. Note: this BREAKS the read-only source -# tree rule! -# # +++ targets +++ # # clean: @@ -60,7 +56,7 @@ .if !defined(NOOBJ) && ${.OBJDIR} != ${CANONICALOBJDIR} .if ${.OBJDIR} == ${.CURDIR} @${ECHO} "Warning: Object directory not changed from original ${.CURDIR}" -.elif !defined(MAKEOBJDIR) && !defined(MAKEOBJDIRPREFIX) && !defined(OBJLINK) +.elif !defined(MAKEOBJDIR) && !defined(MAKEOBJDIRPREFIX) @${ECHO} "Warning: Using ${.OBJDIR} as object directory instead of\ canonical ${CANONICALOBJDIR}" .endif @@ -70,7 +66,6 @@ .if defined(NOOBJ) obj: .else -.if !defined(OBJLINK) obj: _SUBDIR @if ! test -d ${CANONICALOBJDIR}/; then \ mkdir -p ${CANONICALOBJDIR}; \ @@ -80,30 +75,7 @@ fi; \ ${ECHO} "${CANONICALOBJDIR} created for ${.CURDIR}"; \ fi -.else -obj: _SUBDIR - @if ! test -d ${CANONICALOBJDIR}/; then \ - mkdir -p ${CANONICALOBJDIR}; \ - if ! test -d ${CANONICALOBJDIR}/; then \ - ${ECHO} "Unable to create ${CANONICALOBJDIR}."; \ - exit 1; \ - fi; \ - rm -f ${.CURDIR}/obj; \ - ln -s ${CANONICALOBJDIR} ${.CURDIR}/obj; \ - ${ECHO} "${.CURDIR} -> ${CANONICALOBJDIR}"; \ - fi .endif -.endif -.endif - -.if !target(objlink) -objlink: _SUBDIR - @if test -d ${CANONICALOBJDIR}/; then \ - rm -f ${.CURDIR}/obj; \ - ln -s ${CANONICALOBJDIR} ${.CURDIR}/obj; \ - else \ - echo "No ${CANONICALOBJDIR} to link to - do a make obj."; \ - fi .endif # Index: bsd.subdir.mk =================================================================== RCS file: /home/ncvs/src/share/mk/bsd.subdir.mk,v retrieving revision 1.25 diff -u -d -r1.25 bsd.subdir.mk --- bsd.subdir.mk 1998/08/08 07:02:08 1.25 +++ bsd.subdir.mk 1999/03/14 13:46:51 @@ -33,7 +33,7 @@ # # afterdistribute, afterinstall, all, beforeinstall, checkdpadd, # clean, cleandepend, cleandir, depend, install, lint, maninstall, -# obj, objlink, realinstall, regress, tags +# obj, realinstall, regress, tags # .if !target(__initialized__) @@ -88,7 +88,7 @@ .for __target in all checkdpadd clean cleandepend cleandir depend lint \ - maninstall obj objlink regress tags + maninstall obj regress tags .if !target(${__target}) ${__target}: _SUBDIRUSE .endif Index: make.conf =================================================================== RCS file: /home/ncvs/src/etc/make.conf,v retrieving revision 1.74 diff -u -d -r1.74 make.conf --- make.conf 1999/02/03 22:25:41 1.74 +++ make.conf 1999/03/14 13:48:59 @@ -28,10 +28,6 @@ # To avoid building sendmail #NO_SENDMAIL= true # -# To have 'obj' symlinks created in your source directory -# (they aren't needed/necessary) -#OBJLINK= yes -# # To compile just the kernel with special optimisations, you should use # this instead of CFLAGS (which is not applicable to kernel builds anyway): # Index: Makefile =================================================================== RCS file: /home/ncvs/src/release/Makefile,v retrieving revision 1.472 diff -u -d -r1.472 Makefile --- Makefile 1999/02/14 13:56:14 1.472 +++ Makefile 1999/03/14 13:53:22 @@ -239,7 +239,6 @@ echo "cd /usr/src/release/sysinstall" >> ${CHROOTDIR}/mk echo "make obj" >> ${CHROOTDIR}/mk echo "cd /usr/src/release" >> ${CHROOTDIR}/mk - echo "make objlink" >> ${CHROOTDIR}/mk echo "make \$${_RELTARGET}" >> ${CHROOTDIR}/mk echo "echo make ${.TARGET} Finished" >> ${CHROOTDIR}/mk chmod 755 ${CHROOTDIR}/mk To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199903141430.GAA56082>