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>
