Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Aug 1996 23:52:03 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        candy@fct.kgc.co.jp, freebsd-hackers@FreeBSD.org
Subject:   Re: Suggestion: let config(8) support symbolic linked /usr/src/sys/compile
Message-ID:  <199608281352.XAA27677@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>  Hello.  The document SMM:1 describes how to separate
>/usr/src/sys/compile directory from /usr/src. (see
>/usr/share/doc/smm/01.setup/paper.ascii.gz "6.6. Recompiling and
>reinstalling system software".)  I modified config(8) to support this
>facility.
>
>...
>    2.4 # rm machine; ln -s /usr/src/sys @; ln -s /usr/src/sys/i386 machine
>    2.5 # make all install
>
>My modification is very simple.  In the step 2.2, `config -l KERNEL'
>will do step 2.4 automatically.  How about this idea?

I'd like the final solution to use fewer symlinks.  This can probably
be done by generating absolute paths for `machine' symlink and the -I
statements:

	machine -> /usr/src/sys/i386/include	# or wherever it is
	S=	/usr/src/sys			# was ../.. or ./@

Perhaps the symlinks to the object directories should be in the conf
directory:

	somewhere/conf           -> /usr/src/obj/somewhere/conf
	somewhere/conf/GENERIC@  -> /usr/src/obj/somewhere/conf/GENERIC

The aic assembler sources use relative paths (because of lack of support
for -I in the aic assembler).  These paths become wrong when the obj dir
isn't in the source tree.  I use the following fixes for this.

---
diff -c2 src/sys/dev/aic7xxx/aic7xxx.seq~ src/sys/dev/aic7xxx/aic7xxx.seq
*** src/sys/dev/aic7xxx/aic7xxx.seq~	Mon Jun 10 07:44:17 1996
--- src/sys/dev/aic7xxx/aic7xxx.seq	Mon Jun 10 07:44:23 1996
***************
*** 42,50 ****
  VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.42 1996/06/09 17:29:11 gibbs Exp $"
  
! #if defined(__NetBSD__)
! #include "../../../../dev/ic/aic7xxxreg.h"
! #elif defined(__FreeBSD__)
! #include "../../dev/aic7xxx/aic7xxx_reg.h"
! #endif
  
  /*
--- 42,46 ----
  VERSION AIC7XXX_SEQ_VER "$Id: aic7xxx.seq,v 1.42 1996/06/09 17:29:11 gibbs Exp $"
  
! #include "aic7xxx_reg.h"
  
  /*
diff -c2 src/sys/i386/conf/files.i386~ src/sys/i386/conf/files.i386
*** src/sys/i386/conf/files.i386~	Tue Jul  9 13:19:17 1996
--- src/sys/i386/conf/files.i386	Tue Aug 27 17:47:47 1996
***************
*** 10,18 ****
  	clean		"aic7xxx_asm"
  #
  aic7xxx_seq.h			optional	ahc	device-driver	   \
  	compile-with	"./aic7xxx_asm -o $@ $S/dev/aic7xxx/aic7xxx.seq"   \
  	no-obj no-implicit-rule before-depend				   \
  	clean		"aic7xxx_seq.h"					   \
! 	dependency	"$S/dev/aic7xxx/aic7xxx_reg.h $S/dev/aic7xxx/aic7xxx.seq aic7xxx_asm"
  #
  linux_genassym			optional	compat_linux		   \
--- 10,24 ----
  	clean		"aic7xxx_asm"
  #
+ aic7xxx_reg.h			optional	ahc	device-driver	   \
+ 	dependency	"$S/dev/aic7xxx/aic7xxx_reg.h"			   \
+ 	compile-with	"cp $> $@"					   \
+ 	no-obj no-implicit-rule before-depend				   \
+ 	clean		"aic7xxx_reg.h"
+ #
  aic7xxx_seq.h			optional	ahc	device-driver	   \
  	compile-with	"./aic7xxx_asm -o $@ $S/dev/aic7xxx/aic7xxx.seq"   \
  	no-obj no-implicit-rule before-depend				   \
  	clean		"aic7xxx_seq.h"					   \
! 	dependency	"aic7xxx_reg.h $S/dev/aic7xxx/aic7xxx.seq aic7xxx_asm"
  #
  linux_genassym			optional	compat_linux		   \
---

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199608281352.XAA27677>