Skip site navigation (1)Skip section navigation (2)
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>