Re: Two Junior Kernel Hacker tasks..

2001-06-26 Thread Terry Lambert

John Baldwin wrote:
 
 Actually, make depend takes a relatively long time, and when
 I'm hacking on a kernel, I don't want to wait 15 minutes to
 build a kernel after changing one file.  I compile kernels
 w/o config or make depend a lot.

Me too.  I can make a small set of changes to a couple
of kernel files, rebuild, reinstall, and reboot, and
be running the new kernel in under 3 minutes.  Adding
a make depend puts that a bit further out (annoyingly
so).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-26 Thread Alfred Perlstein

* Terry Lambert [EMAIL PROTECTED] [010626 02:41] wrote:
 John Baldwin wrote:
  
  Actually, make depend takes a relatively long time, and when
  I'm hacking on a kernel, I don't want to wait 15 minutes to
  build a kernel after changing one file.  I compile kernels
  w/o config or make depend a lot.
 
 Me too.  I can make a small set of changes to a couple
 of kernel files, rebuild, reinstall, and reboot, and
 be running the new kernel in under 3 minutes.  Adding
 a make depend puts that a bit further out (annoyingly
 so).

You guys are right, you just have to be watchful if new headers
are added to files that you don't forget to 'make depend' otherwise
it gets nasty real fast like if those headers change. :)

-Alfred


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-25 Thread John Baldwin


On 24-Jun-01 Peter Pentchev wrote:
 On Sat, Jun 23, 2001 at 10:44:51PM -0700, John Baldwin wrote:
 
 On 23-Jun-01 Peter Pentchev wrote:
  On Sat, Jun 23, 2001 at 12:23:35PM -0700, Terry Lambert wrote:
   make buildkernel is rather easy way to work it around: in
   any case object tree is machine-dependent, and one yet
   another directory does not destroy anything. ;|
  
  The make buildkernel approach sucks for incremental
  builds, since you are unable to avoid the config run
  each time, and a lot of unnecessary stuff gets compiled
  again because of opt_*.h files whose contents have not
  changed (even if you defeat the clean of the compile
  directory).
  
  About the release process, you are right, it is a bit harder
  to restart without some tweaks, but the buildkernel target
  is about as restartable as it can be.  (I really don't think
  anyone would ever advocate skipping the config(8) or
  the 'make depend' stage..)
 
 Actually, make depend takes a relatively long time, and when
 I'm hacking on a kernel, I don't want to wait 15 minutes to
 build a kernel after changing one file.  I compile kernels
 w/o config or make depend a lot.
 
 OK, so if you're really really sure your changes do not affect
 the dependency graph, use -DNOKERNELDEPEND :)

make ; make install is a _lot_ shorter to type than:

make -DNOKERNELDEPEND -DDOWHATIWANTDANGIT -DDONTDOTHIS
-DDONTDOTHATOTHERTHINGEITHER buildkernel ; make -DDONTINSTALLFOO
-DDONTTRYTODOTHIS installkernel

And I won't even mention 'make reinstall'...

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Valentin Nechayev

 Sat, Jun 23, 2001 at 12:23:35, tlambert2 (Terry Lambert) wrote about Re: Two Junior 
Kernel Hacker tasks..: 

  make buildkernel is rather easy way to work it around: in
  any case object tree is machine-dependent, and one yet
  another directory does not destroy anything. ;|
 The make buildkernel approach sucks for incremental
 builds, since you are unable to avoid the config run
 each time, and a lot of unnecessary stuff gets compiled
 again because of opt_*.h files whose contents have not
 changed (even if you defeat the clean of the compile
 directory).

It is mostly problem of current implementation. You can define some
variables (NO_KERNELDEPEND, NOCLEAN, NO_KERNELCONFIG) and avoid it,
if you are sure you can do it in this way.
I said about the right idea to move last rarity - kernel building - outside
from /usr/src, to /usr/obj or another object prefix.

 The make release process has similar problems, for

Of course, and `make buildworld' also. But for most cases -DNOCLEAN is enough
to skip unnesessary steps.


/netch

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread freebsd-hackers

On Fri, Jun 22, 2001 at 10:50:00AM -0700, Matthew Jacob wrote:
 Why can't we do it like NetBSD and have
 
 sys/${MACHINE_ARCH}/compile?

It makes it harder to make src/sys/compile a single simple symlink to
writable storage.

Our /sys layout is suffiently different from NetBSD, I don't think there
is any benefit from following them (nad it would be
sys/arch/${MACHINE_ARCH}/compile anyway).

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread hackers

On Fri, Jun 22, 2001 at 01:51:54PM -0500, Will Andrews wrote:
 On Fri, Jun 22, 2001 at 11:43:58AM -0700, Matthew Jacob ([EMAIL PROTECTED]) wrote:
  Yes, and you're right. But we'll probably never do this (tm).
 
 Never say never.  I for one am in favor of that system.  =)

Yuck!  Puke!  I for one am not in favor of that system.
 
-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread hackers

On Fri, Jun 22, 2001 at 12:42:36PM -0600, Warner Losh wrote:
 Please use ${MACHINE}, not ${MACHINE_ARCH}.  That way I can build
 GENERIC for both i386 and pc98 at the same time without resorting to
 the GENERIC98 hack I use now.
... 
 I'd be up for doing this, so long as I got to choose where to build
 into :-)
 
   sys/arch/${MACHINE}/compile/FOO
 
 but that would start the arch bikeshed.  I'd love to just do it.


Which is another good reason for sys/compile/${MACHINE}/FOO
Otherwise where DOES the pc98 kernel builds happen?  Under the
non-existant sys/pc98/ ?
 
 With powerpc, we are going to have a lot of different ports ala
 i386/pc98 (that have the same MAHINCE_ARCH, but different MACHINE) if
 NetBSD is any indication.

Even more data that IMHO makes sys/compile/${MACHINE}/FOO make more
sense.

-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread freebsd-hackers

On Fri, Jun 22, 2001 at 12:11:36PM -0700, John Baldwin wrote:
 On 22-Jun-01 Warner Losh wrote:
  In message [EMAIL PROTECTED] John Baldwin writes:
 : 2) Build kernels in sys/compile/${MACHINE_ARCH}/FOO rather than
 : sys/compile/FOO.
  
  Please use ${MACHINE}, not ${MACHINE_ARCH}.  That way I can build
  GENERIC for both i386 and pc98 at the same time without resorting to
  the GENERIC98 hack I use now.
 
 Sure, sounds good.  Actually, with mjacob's suggestion, I would go with
 sys/${MACHINE}/compile/FOO

pc98 and powerpc variations will make this ugly.

 I would tackle the sys/arch bikeshed on its own merits for now.  (BTW,
 I favor sys/arch FWIW).  If we use the path I proposed above
 (sys/MACHINE/compile/FOO) then if we do a sys/MACHINE -
 sys/arch/MACHINE move we get the compile directory move for free.

PUKE, GROSS.  NO.
 
-- 
-- David  ([EMAIL PROTECTED])

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Peter Pentchev

On Sat, Jun 23, 2001 at 10:44:51PM -0700, John Baldwin wrote:
 
 On 23-Jun-01 Peter Pentchev wrote:
  On Sat, Jun 23, 2001 at 12:23:35PM -0700, Terry Lambert wrote:
   make buildkernel is rather easy way to work it around: in
   any case object tree is machine-dependent, and one yet
   another directory does not destroy anything. ;|
  
  The make buildkernel approach sucks for incremental
  builds, since you are unable to avoid the config run
  each time, and a lot of unnecessary stuff gets compiled
  again because of opt_*.h files whose contents have not
  changed (even if you defeat the clean of the compile
  directory).
  
  About the release process, you are right, it is a bit harder
  to restart without some tweaks, but the buildkernel target
  is about as restartable as it can be.  (I really don't think
  anyone would ever advocate skipping the config(8) or
  the 'make depend' stage..)
 
 Actually, make depend takes a relatively long time, and when
 I'm hacking on a kernel, I don't want to wait 15 minutes to
 build a kernel after changing one file.  I compile kernels
 w/o config or make depend a lot.

OK, so if you're really really sure your changes do not affect
the dependency graph, use -DNOKERNELDEPEND :)

G'luck,
Peter

-- 
This sentence contains exactly threee erors.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Valentin Nechayev

  sys/${MACHINE_ARCH}/compile?
 It makes it harder to make src/sys/compile a single simple symlink to
 writable storage.

There is no need to make symlink in src tree.

 -- David  ([EMAIL PROTECTED])

Are you David O'Brien or freebsd-hackers list itself?


/netch

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Warner Losh

In message [EMAIL PROTECTED] [EMAIL PROTECTED] writes:
: On Fri, Jun 22, 2001 at 12:42:36PM -0600, Warner Losh wrote:
:  Please use ${MACHINE}, not ${MACHINE_ARCH}.  That way I can build
:  GENERIC for both i386 and pc98 at the same time without resorting to
:  the GENERIC98 hack I use now.
: ... 
:  I'd be up for doing this, so long as I got to choose where to build
:  into :-)
:  
:  sys/arch/${MACHINE}/compile/FOO
:  
:  but that would start the arch bikeshed.  I'd love to just do it.
: 
: 
: Which is another good reason for sys/compile/${MACHINE}/FOO
: Otherwise where DOES the pc98 kernel builds happen?  Under the
: non-existant sys/pc98/ ?

sys/pc98 does exist.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Warner Losh

In message [EMAIL PROTECTED] [EMAIL PROTECTED] writes:
:  Sure, sounds good.  Actually, with mjacob's suggestion, I would go with
:  sys/${MACHINE}/compile/FOO
: 
: pc98 and powerpc variations will make this ugly.

No they won't.  pc98 is the reason that this *MAKES* sense.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Warner Losh

In message [EMAIL PROTECTED] [EMAIL PROTECTED] writes:
: On Fri, Jun 22, 2001 at 10:50:00AM -0700, Matthew Jacob wrote:
:  Why can't we do it like NetBSD and have
:  
:  sys/${MACHINE_ARCH}/compile?
: 
: It makes it harder to make src/sys/compile a single simple symlink to
: writable storage.

Generally, most people will have at most one or two architectures, so
the symlink isn't that hard to do.  Also, since most people wanting to 
do this could also just specify the command line option to config.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-24 Thread Warner Losh

In message [EMAIL PROTECTED] [EMAIL PROTECTED] writes:
: Which is another good reason for sys/compile/${MACHINE}/FOO
: Otherwise where DOES the pc98 kernel builds happen?  Under the
: non-existant sys/pc98/ ?

David, a simple ls to sys/pc98 shows that it is populated with lots of 
files.

% ls ~/FreeBSD/src/sys/pc98
CVS apm confi386pc98

So that's not an argument against it.

:  With powerpc, we are going to have a lot of different ports ala
:  i386/pc98 (that have the same MAHINCE_ARCH, but different MACHINE) if
:  NetBSD is any indication.
: 
: Even more data that IMHO makes sys/compile/${MACHINE}/FOO make more
: sense.

Actually, I don't think it argues in favor of
sys/compile/${MACHINE}/FOO at all.  *ALL* ${MACHINE} ports must have a 
sys/${MACHINE} in the current scheme.  That's by definition.

I also think that as we get more and more ports for power pc, we'll
see more people that need/want to do cross compiling or having one
tree for multiple ports.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-23 Thread Terry Lambert

 make buildkernel is rather easy way to work it around: in
 any case object tree is machine-dependent, and one yet
 another directory does not destroy anything. ;|

The make buildkernel approach sucks for incremental
builds, since you are unable to avoid the config run
each time, and a lot of unnecessary stuff gets compiled
again because of opt_*.h files whose contents have not
changed (even if you defeat the clean of the compile
directory).

The make release process has similar problems, for
that matter.  Too bad no one seems willing to commit
incremental fixes towards cleaning that up, or, when
they are willing (as in this case), people argue that
it's unnecessary, and nothing ever gets done.

I think they should go for it with the architecture
specific config directories (though I would point out
that they can achieve this effect already, with the
correct config arguments -- I do agree it should be
the default).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-23 Thread Peter Pentchev

On Sat, Jun 23, 2001 at 12:23:35PM -0700, Terry Lambert wrote:
  make buildkernel is rather easy way to work it around: in
  any case object tree is machine-dependent, and one yet
  another directory does not destroy anything. ;|
 
 The make buildkernel approach sucks for incremental
 builds, since you are unable to avoid the config run
 each time, and a lot of unnecessary stuff gets compiled
 again because of opt_*.h files whose contents have not
 changed (even if you defeat the clean of the compile
 directory).

Terry, this is simply not true.  Even in -stable, config(8)
is smart enough to try reading the opt_*.h files, and not
change them if they already contain the values it is about
to write there.

See for yourself:

[root@ringworld:v1 /usr/src]# LANG=C ls -lt /usr/obj/usr/src/sys/RINGWORLD/opt_*.h | 
head -2
-rw-r--r--  1 root  wheel0 Jun 11 23:35 /usr/obj/usr/src/sys/RINGWORLD/opt_aac.h
-rw-r--r--  1 root  wheel0 Jun 11 23:35 
/usr/obj/usr/src/sys/RINGWORLD/opt_wavelan.h
[root@ringworld:v1 /usr/src]#

As you can see, the two most recent files date back to June 11th...

[root@ringworld:v1 /usr/src]# LANG=C ls -lt /usr/obj/usr/src/sys/RINGWORLD | head -3
total 6187
-rw-r--r--  1 root  wheel   424510 Jun 23 22:51 .depend
-rwxr-xr-x  1 root  wheel  1963795 Jun 23 14:34 kernel
[root@ringworld:v1 /usr/src]#

..the kernel was rebuilt today at 14:34, and the .depend file was
regenerated by a 'make -DNOCLEAN buildkernel' about two minutes ago.
No opt*.h files were changed, NO recompilation was done, since
everything was completely up-to-date.

About the release process, you are right, it is a bit harder
to restart without some tweaks, but the buildkernel target
is about as restartable as it can be.  (I really don't think
anyone would ever advocate skipping the config(8) or
the 'make depend' stage..)

G'luck,
Peter

-- 
When you are not looking at it, this sentence is in Spanish.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-23 Thread Terry Lambert

Peter Pentchev wrote:
 Terry, this is simply not true.  Even in -stable, config(8)
 is smart enough to try reading the opt_*.h files, and not
 change them if they already contain the values it is about
 to write there.

Rerunning config and make depend always result in more
things being recompiled for me, than just me typing
make.

The buildkernel target also can not handle all of the
intricacies of all the parameters that you might want to
pass to config: things are lost.

It's not a reasonable workaround to the problem under
discussion (building multiple kernels for multiple
architectures using one tree).

Example:

All my PPC based NetBSD systems run different kernel
configurations, specific to the machine (not processor)
architecture.  But everything other than the kernel and
modules should be shared, since all the systems kernels
present the same ABI to user space.  Rebuilding everything
is not a reasonable option.


 [root@ringworld:v1 /usr/src]# LANG=C ls -lt /usr/obj/usr/src/sys/RINGWORLD/opt_*.h | 
head -2
 -rw-r--r--  1 root  wheel0 Jun 11 23:35 /usr/obj/usr/src/sys/RINGWORLD/opt_aac.h
 -rw-r--r--  1 root  wheel0 Jun 11 23:35 
/usr/obj/usr/src/sys/RINGWORLD/opt_wavelan.h
 [root@ringworld:v1 /usr/src]#
 
 As you can see, the two most recent files date back to June 11th...

Next time, include the other things like param.c
and so on, created by config.

I want to avoid _all_ unnecessary rebuilds.

(Technically, the vers.c rebuild is unnecessary, too,
since nothing is supposed to have changes, so vers.c
should not have been rewritten -- but that's another
discussion... 8-)).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-23 Thread Peter Pentchev

On Sat, Jun 23, 2001 at 02:03:53PM -0700, Terry Lambert wrote:
 Peter Pentchev wrote:
  Terry, this is simply not true.  Even in -stable, config(8)
  is smart enough to try reading the opt_*.h files, and not
  change them if they already contain the values it is about
  to write there.
 
 Rerunning config and make depend always result in more
 things being recompiled for me, than just me typing
 make.

Running 'make buildkernel' results in nothing at all recompiled
for me (please read the whole of my message this time).

 The buildkernel target also can not handle all of the
 intricacies of all the parameters that you might want to
 pass to config: things are lost.

If it's just parameters you want to pass, then use the CONFIG_ARGS
make env variable.

 It's not a reasonable workaround to the problem under
 discussion (building multiple kernels for multiple
 architectures using one tree).

For multiple architectures, no, it is not - but that was
the whole point of half this thread, wasn't it?  Making
the kernel build directories arch-specific..

 Example:
 
 All my PPC based NetBSD systems run different kernel
 configurations, specific to the machine (not processor)
 architecture.  But everything other than the kernel and
 modules should be shared, since all the systems kernels
 present the same ABI to user space.  Rebuilding everything
 is not a reasonable option.

So mount your /usr/obj accordingly - NFS mount of the whole,
a local fs (or maybe even a nullfs, but I won't go into that)
mount of the kernel-specific subdirs.  Then, use buildkernel.

  [root@ringworld:v1 /usr/src]# LANG=C ls -lt /usr/obj/usr/src/sys/RINGWORLD/opt_*.h 
| head -2
  -rw-r--r--  1 root  wheel0 Jun 11 23:35 
/usr/obj/usr/src/sys/RINGWORLD/opt_aac.h
  -rw-r--r--  1 root  wheel0 Jun 11 23:35 
/usr/obj/usr/src/sys/RINGWORLD/opt_wavelan.h
  [root@ringworld:v1 /usr/src]#
  
  As you can see, the two most recent files date back to June 11th...
 
 Next time, include the other things like param.c
 and so on, created by config.
 
 I want to avoid _all_ unnecessary rebuilds.

Uh.. excuse me?  Did you read two lines further, where I pasted
an ls of the *same* directory, and the two *most recent* files?
Only the .depend file had a modification time two minutes ago,
the kernel itself was the next file in the list, and it had
a mtime of several hours earlier.  Not param.c, not vers.c,
nothing had beed changed by the buildkernel target.

 (Technically, the vers.c rebuild is unnecessary, too,
 since nothing is supposed to have changes, so vers.c
 should not have been rewritten -- but that's another
 discussion... 8-)).

Look again.  It was not rewritten.

G'luck,
Peter

-- 
If I had finished this sentence,

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-23 Thread John Baldwin


On 23-Jun-01 Peter Pentchev wrote:
 On Sat, Jun 23, 2001 at 12:23:35PM -0700, Terry Lambert wrote:
  make buildkernel is rather easy way to work it around: in
  any case object tree is machine-dependent, and one yet
  another directory does not destroy anything. ;|
 
 The make buildkernel approach sucks for incremental
 builds, since you are unable to avoid the config run
 each time, and a lot of unnecessary stuff gets compiled
 again because of opt_*.h files whose contents have not
 changed (even if you defeat the clean of the compile
 directory).
 
 About the release process, you are right, it is a bit harder
 to restart without some tweaks, but the buildkernel target
 is about as restartable as it can be.  (I really don't think
 anyone would ever advocate skipping the config(8) or
 the 'make depend' stage..)

Actually, make depend takes a relatively long time, and when
I'm hacking on a kernel, I don't want to wait 15 minutes to
build a kernel after changing one file.  I compile kernels
w/o config or make depend a lot.

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Matthew Jacob



On Fri, 22 Jun 2001, John Baldwin wrote:

 Hey all,

 This is a request for some simple changes to the kernel configuration stuff
 that would be nice to have if someone wants to do them before I finally (if
 ever) get around to doing it.  Both have to do with making our kernel config
 stuff more multi-platform friendly.

 1) Split sys/i386/conf/NOTES up into MI and MD parts.  The MI portion would
become sys/conf/NOTES and would contain all the machine independent
options and devices.  The MD options and devices would live in
sys/${MACHINE_ARCH}/conf/NOTES.  This would include altering the
sys/${MACHINE_ARCH}/conf/Makefile's (based on the LINT: target in the
i386 Makefile) to concatenate the MI and MD NOTES files together to
feed to makelint.pl to build LINT.  This addresses problems with not having
a place for non-i386 kernel options/devices that aren't in GENERIC for
example.

 2) Build kernels in sys/compile/${MACHINE_ARCH}/FOO rather than sys/compile/FOO.
This is very helpful when you share the same sys/ tree across several
machines with different architectures.  For example, I share the same sys/
tree via NFS across almost all my testboxes including alpha and i386.  Every
time I want to compile GENERIC (I keep kernel.GENERIC up to date on my boxes)
as part of an installworld I have to go manipulate symlinks (and/or shuffle
directories around).  Fixing this would make life for the non-x86 centric
types a bit easier, although there'll probably be a big bikeshed over
changing the build directory.  *sigh*


Why can't we do it like NetBSD and have

sys/${MACHINE_ARCH}/compile?




To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread John Baldwin


On 22-Jun-01 Matthew Jacob wrote:
 
 
 On Fri, 22 Jun 2001, John Baldwin wrote:
 
 Hey all,

 This is a request for some simple changes to the kernel configuration stuff
 that would be nice to have if someone wants to do them before I finally (if
 ever) get around to doing it.  Both have to do with making our kernel config
 stuff more multi-platform friendly.

 1) Split sys/i386/conf/NOTES up into MI and MD parts.  The MI portion would
become sys/conf/NOTES and would contain all the machine independent
options and devices.  The MD options and devices would live in
sys/${MACHINE_ARCH}/conf/NOTES.  This would include altering the
sys/${MACHINE_ARCH}/conf/Makefile's (based on the LINT: target in the
i386 Makefile) to concatenate the MI and MD NOTES files together to
feed to makelint.pl to build LINT.  This addresses problems with not
having
a place for non-i386 kernel options/devices that aren't in GENERIC for
example.

 2) Build kernels in sys/compile/${MACHINE_ARCH}/FOO rather than
 sys/compile/FOO.
This is very helpful when you share the same sys/ tree across several
machines with different architectures.  For example, I share the same
sys/
tree via NFS across almost all my testboxes including alpha and i386. 
Every
time I want to compile GENERIC (I keep kernel.GENERIC up to date on my
boxes)
as part of an installworld I have to go manipulate symlinks (and/or
shuffle
directories around).  Fixing this would make life for the non-x86 centric
types a bit easier, although there'll probably be a big bikeshed over
changing the build directory.  *sigh*

 
 Why can't we do it like NetBSD and have
 
 sys/${MACHINE_ARCH}/compile?

Sure, fine.  I don't really care which, I just would like the problem solved
somehow. :)

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Matthew Jacob

 
  sys/${MACHINE_ARCH}/compile?

 Sure, fine.  I don't really care which, I just would like the problem solved
 somehow. :)

I seem to recall that the 2 or 3 times I've brought this up over the last 3-4
years either Bruce or Peter or both said No!, but my memory could be playing
me false.

What *I* do is NFS mount my test source from a common machine, but then nfs
loopback mount the compile directory for each machine. I'd use a nullfs mount
if that worked.

This has the feature of avoiding the multiplatform foo (mostly- it's been
known to break over the last year or so), and also to get more reasonable
compile performance.

-matt



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread John Baldwin


On 22-Jun-01 Matthew Jacob wrote:
 
  sys/${MACHINE_ARCH}/compile?

 Sure, fine.  I don't really care which, I just would like the problem solved
 somehow. :)
 
 I seem to recall that the 2 or 3 times I've brought this up over the last 3-4
 years either Bruce or Peter or both said No!, but my memory could be playing
 me false.
 
 What *I* do is NFS mount my test source from a common machine, but then nfs
 loopback mount the compile directory for each machine. I'd use a nullfs mount
 if that worked.
 
 This has the feature of avoiding the multiplatform foo (mostly- it's been
 known to break over the last year or so), and also to get more reasonable
 compile performance.

The thing I like though is that when my test box hangs, I have the kernel.debug
still accessible so I can pull up remote gdb on the machine.  Hence the desire
to share sys/compile over NFS as well.

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Matthew Jacob


 The thing I like though is that when my test box hangs, I have the kernel.debug
 still accessible so I can pull up remote gdb on the machine.  Hence the desire
 to share sys/compile over NFS as well.


Yes, that's helpful too.




To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] John Baldwin writes:
: 2) Build kernels in sys/compile/${MACHINE_ARCH}/FOO rather than sys/compile/FOO.

Please use ${MACHINE}, not ${MACHINE_ARCH}.  That way I can build
GENERIC for both i386 and pc98 at the same time without resorting to
the GENERIC98 hack I use now.

:This is very helpful when you share the same sys/ tree across several
:machines with different architectures.  For example, I share the same sys/
:tree via NFS across almost all my testboxes including alpha and i386.  Every
:time I want to compile GENERIC (I keep kernel.GENERIC up to date on my boxes)
:as part of an installworld I have to go manipulate symlinks (and/or shuffle
:directories around).  Fixing this would make life for the non-x86 centric
:types a bit easier, although there'll probably be a big bikeshed over
:changing the build directory.  *sigh*
: 

I'd be up for doing this, so long as I got to choose where to build
into :-)

sys/arch/${MACHINE}/compile/FOO

but that would start the arch bikeshed.  I'd love to just do it.

With powerpc, we are going to have a lot of different ports ala
i386/pc98 (that have the same MAHINCE_ARCH, but different MACHINE) if
NetBSD is any indication.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Will Andrews

On Fri, Jun 22, 2001 at 10:50:00AM -0700, Matthew Jacob ([EMAIL PROTECTED]) wrote:
 Why can't we do it like NetBSD and have
 
 sys/${MACHINE_ARCH}/compile?

I thought it was sys/arch/${MACHINE_ARCH}/compile?  ;)
Aren't you a NetBSD developer[*]?

-- 
wca
[*]  Sorry, couldn't resist.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] Matthew Jacob writes:
: Why can't we do it like NetBSD and have
: 
: sys/${MACHINE_ARCH}/compile?

That would be my second chopice (assumnig that we really do do it like
NetBSD and use ${MACHINE} rather than ${MACHINE_ARCH}).

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Matthew Jacob



On Fri, 22 Jun 2001, Will Andrews wrote:

 On Fri, Jun 22, 2001 at 10:50:00AM -0700, Matthew Jacob ([EMAIL PROTECTED]) wrote:
  Why can't we do it like NetBSD and have
 
  sys/${MACHINE_ARCH}/compile?

 I thought it was sys/arch/${MACHINE_ARCH}/compile?  ;)
 Aren't you a NetBSD developer[*]?

 --
 wca
 [*]  Sorry, couldn't resist.


Yes, and you're right. But we'll probably never do this (tm).

Groan...



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] Will Andrews writes:
: I thought it was sys/arch/${MACHINE_ARCH}/compile?  ;)
: Aren't you a NetBSD developer[*]?

Actually, it is sys/arch/${MACHINE}/compile since you can have
different machines based on the same machine_arch.  Look at the number
of mips, 60k, powerpc and arm ports.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] Matthew Jacob writes:
: Yes, and you're right. But we'll probably never do this (tm).

I keep trying :-)

However, I think the following would work for
sys/${MACHINE}/compile/FOO.  Note, I only did i386, but could do
others as well fairly quickly.

Warner

Index: sys/conf/Makefile.i386
===
RCS file: /home/imp/FreeBSD/CVS/src/sys/conf/Makefile.i386,v
retrieving revision 1.236
diff -u -r1.236 Makefile.i386
--- sys/conf/Makefile.i386  2001/06/13 10:58:28 1.236
+++ sys/conf/Makefile.i386  2001/06/22 18:47:09
@@ -29,7 +29,7 @@
 .if exists(./@/.)
 S= ./@
 .else
-S= ../..
+S= ../../..
 .endif
 .endif
 M= ${MACHINE_ARCH}
Index: usr.sbin/config/config.8
===
RCS file: /home/imp/FreeBSD/CVS/src/usr.sbin/config/config.8,v
retrieving revision 1.26
diff -u -r1.26 config.8
--- usr.sbin/config/config.82001/01/22 07:03:06 1.26
+++ usr.sbin/config/config.82001/06/22 18:46:38
@@ -110,7 +110,7 @@
 .Fx .
 .Nm
 creates the directory
-.Pa ../../compile/SYSTEM_NAME
+.Pa ../compile/SYSTEM_NAME
 or the one given with the
 .Fl d
 option 
Index: usr.sbin/config/main.c
===
RCS file: /home/imp/FreeBSD/CVS/src/usr.sbin/config/main.c,v
retrieving revision 1.50
diff -u -r1.50 main.c
--- usr.sbin/config/main.c  2001/02/23 00:22:04 1.50
+++ usr.sbin/config/main.c  2001/06/22 18:46:28
@@ -67,7 +67,7 @@
 #define FALSE  (0)
 #endif
 
-#defineCDIR../../compile/
+#defineCDIR../compile/
 
 char * PREFIX;
 char   destdir[MAXPATHLEN];

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Will Andrews

On Fri, Jun 22, 2001 at 11:43:58AM -0700, Matthew Jacob ([EMAIL PROTECTED]) wrote:
 Yes, and you're right. But we'll probably never do this (tm).

Never say never.  I for one am in favor of that system.  =)

Unfortunately at the moment we have sys/${MACHINE}/compile rather
than sys/arch/${MACHINE}/compile so we'd need repocopies (and a
lot of them I would imagine).

-- 
wca

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] Warner Losh writes:
: However, I think the following would work for
: sys/${MACHINE}/compile/FOO.  Note, I only did i386, but could do
: others as well fairly quickly.

Actually, the last patch is bad.  Try this one.  You will need to
mkdir sys/${MACHINE}/compile.  This at least makes it through make
depend.

Warner

Index: sys/conf/Makefile.i386
===
RCS file: /home/imp/FreeBSD/CVS/src/sys/conf/Makefile.i386,v
retrieving revision 1.236
diff -u -r1.236 Makefile.i386
--- sys/conf/Makefile.i386  2001/06/13 10:58:28 1.236
+++ sys/conf/Makefile.i386  2001/06/22 18:47:09
@@ -29,7 +29,7 @@
 .if exists(./@/.)
 S= ./@
 .else
-S= ../..
+S= ../../..
 .endif
 .endif
 M= ${MACHINE_ARCH}
Index: usr.sbin/config/config.8
===
RCS file: /home/imp/FreeBSD/CVS/src/usr.sbin/config/config.8,v
retrieving revision 1.26
diff -u -r1.26 config.8
--- usr.sbin/config/config.82001/01/22 07:03:06 1.26
+++ usr.sbin/config/config.82001/06/22 18:46:38
@@ -110,7 +110,7 @@
 .Fx .
 .Nm
 creates the directory
-.Pa ../../compile/SYSTEM_NAME
+.Pa ../compile/SYSTEM_NAME
 or the one given with the
 .Fl d
 option 
Index: usr.sbin/config/main.c
===
RCS file: /home/imp/FreeBSD/CVS/src/usr.sbin/config/main.c,v
retrieving revision 1.50
diff -u -r1.50 main.c
--- usr.sbin/config/main.c  2001/02/23 00:22:04 1.50
+++ usr.sbin/config/main.c  2001/06/22 18:52:03
@@ -67,7 +67,7 @@
 #define FALSE  (0)
 #endif
 
-#defineCDIR../../compile/
+#defineCDIR../compile/
 
 char * PREFIX;
 char   destdir[MAXPATHLEN];
@@ -158,8 +158,7 @@
{
char xxx[MAXPATHLEN];
if (*srcdir == '\0')
-   (void)snprintf(xxx, sizeof(xxx), ../../%s/include,
-   machinename);
+   (void)snprintf(xxx, sizeof(xxx), ../../include);
else
(void)snprintf(xxx, sizeof(xxx), %s/%s/include,
srcdir, machinename);

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread John Baldwin


On 22-Jun-01 Warner Losh wrote:
 In message [EMAIL PROTECTED] John Baldwin writes:
: 2) Build kernels in sys/compile/${MACHINE_ARCH}/FOO rather than
: sys/compile/FOO.
 
 Please use ${MACHINE}, not ${MACHINE_ARCH}.  That way I can build
 GENERIC for both i386 and pc98 at the same time without resorting to
 the GENERIC98 hack I use now.

Sure, sounds good.  Actually, with mjacob's suggestion, I would go with
sys/${MACHINE}/compile/FOO

:This is very helpful when you share the same sys/ tree across several
:machines with different architectures.  For example, I share the same
:sys/
:tree via NFS across almost all my testboxes including alpha and i386. 
:Every
:time I want to compile GENERIC (I keep kernel.GENERIC up to date on my
:boxes)
:as part of an installworld I have to go manipulate symlinks (and/or
:shuffle
:directories around).  Fixing this would make life for the non-x86 centric
:types a bit easier, although there'll probably be a big bikeshed over
:changing the build directory.  *sigh*
: 
 
 I'd be up for doing this, so long as I got to choose where to build
 into :-)
 
   sys/arch/${MACHINE}/compile/FOO
 
 but that would start the arch bikeshed.  I'd love to just do it.

I would tackle the sys/arch bikeshed on its own merits for now.  (BTW, I favor
sys/arch FWIW).  If we use the path I proposed above (sys/MACHINE/compile/FOO)
then if we do a sys/MACHINE - sys/arch/MACHINE move we get the compile
directory move for free.

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] John Baldwin writes:
: Sure, sounds good.  Actually, with mjacob's suggestion, I would go with
: sys/${MACHINE}/compile/FOO

You are behind on your email.  I've already posted patches that do
exactly this.  It turns out to be very easy.  I've also built a kernel
with them.  I'm also getting ready to build a pc98 kernel too.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread John Baldwin


On 22-Jun-01 Warner Losh wrote:
 In message [EMAIL PROTECTED] John Baldwin writes:
: Sure, sounds good.  Actually, with mjacob's suggestion, I would go with
: sys/${MACHINE}/compile/FOO
 
 You are behind on your email.  I've already posted patches that do
 exactly this.  It turns out to be very easy.  I've also built a kernel
 with them.  I'm also getting ready to build a pc98 kernel too.

I think we are just getting e-mails crossed. :)  Sounds good.  Can't wait to
see the commit. :)  Now to get someone to tackle the first item on the list...

 Warner

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] John Baldwin writes:
: I think we are just getting e-mails crossed. :)  Sounds good.  Can't wait to
: see the commit. :)  Now to get someone to tackle the first item on the list...

Hey, I did my part for the cause.  Let someone else do NOTES.

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Dima Dorfman

John Baldwin [EMAIL PROTECTED] writes:
 1) Split sys/i386/conf/NOTES up into MI and MD parts.  The MI portion would
become sys/conf/NOTES and would contain all the machine independent
options and devices.  The MD options and devices would live in
sys/${MACHINE_ARCH}/conf/NOTES.  This would include altering the
sys/${MACHINE_ARCH}/conf/Makefile's (based on the LINT: target in the
i386 Makefile) to concatenate the MI and MD NOTES files together to
feed to makelint.pl to build LINT.  This addresses problems with not having
a place for non-i386 kernel options/devices that aren't in GENERIC for
example.

OpenBSD (and I think NetBSD) solve this problem by having an 'include'
directive in the kernel config file.  E.g., in
sys/arch/i386/conf/GENRIC (the MD config file):

machine i386
...
include ../../../conf/GENREIC # -- MI config file
...

I think this is much more general than just splitting NOTES.  Is there
any reason we shouldn't do this?  I'd be willing to implement
'include' in config(8).

Thanks,

Dima Dorfman
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread John Baldwin


On 22-Jun-01 Dima Dorfman wrote:
 John Baldwin [EMAIL PROTECTED] writes:
 1) Split sys/i386/conf/NOTES up into MI and MD parts.  The MI portion would
become sys/conf/NOTES and would contain all the machine independent
options and devices.  The MD options and devices would live in
sys/${MACHINE_ARCH}/conf/NOTES.  This would include altering the
sys/${MACHINE_ARCH}/conf/Makefile's (based on the LINT: target in the
i386 Makefile) to concatenate the MI and MD NOTES files together to
feed to makelint.pl to build LINT.  This addresses problems with not
having
a place for non-i386 kernel options/devices that aren't in GENERIC for
example.
 
 OpenBSD (and I think NetBSD) solve this problem by having an 'include'
 directive in the kernel config file.  E.g., in
 sys/arch/i386/conf/GENRIC (the MD config file):
 
   machine i386
   ...
   include ../../../conf/GENREIC # -- MI config file
   ...
 
 I think this is much more general than just splitting NOTES.  Is there
 any reason we shouldn't do this?  I'd be willing to implement
 'include' in config(8).

That's fine.  LINT is still special, because we do extra processing to convert
NOTES to LINT, but that would make updating GENERIC easier.

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Peter Wemm

Matthew Jacob wrote:
  
   sys/${MACHINE_ARCH}/compile?
 
  Sure, fine.  I don't really care which, I just would like the problem solve
d
  somehow. :)
 
 I seem to recall that the 2 or 3 times I've brought this up over the last 3-4
 years either Bruce or Peter or both said No!, but my memory could be playing
 me false.

If I've said that before (and I'm not sure that I have), I have changed my
mind. I would prefer sys/{arch}/compile.

Cheers,
-Peter
--
Peter Wemm - [EMAIL PROTECTED]; [EMAIL PROTECTED]; [EMAIL PROTECTED]
All of this is for nothing if we don't go to the stars - JMS/B5


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Matthew Jacob

  I seem to recall that the 2 or 3 times I've brought this up over the last 3-4
  years either Bruce or Peter or both said No!, but my memory could be playing
  me false.

 If I've said that before (and I'm not sure that I have), I have changed my
 mind. I would prefer sys/{arch}/compile.


*AND THE CROWD CHEERS WILDLY!



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Warner Losh

In message [EMAIL PROTECTED] Matthew Jacob writes:
:   I seem to recall that the 2 or 3 times I've brought this up over the last 3-4
:   years either Bruce or Peter or both said No!, but my memory could be playing
:   me false.
: 
:  If I've said that before (and I'm not sure that I have), I have changed my
:  mind. I would prefer sys/{arch}/compile.
: 
: 
: *AND THE CROWD CHEERS WILDLY!

Maybe I should just commit it :-)

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread John Baldwin


On 22-Jun-01 Warner Losh wrote:
 In message [EMAIL PROTECTED] Matthew Jacob
 writes:
:   I seem to recall that the 2 or 3 times I've brought this up over the
:   last 3-4
:   years either Bruce or Peter or both said No!, but my memory could be
:   playing
:   me false.
: 
:  If I've said that before (and I'm not sure that I have), I have changed my
:  mind. I would prefer sys/{arch}/compile.
: 
: 
: *AND THE CROWD CHEERS WILDLY!
 
 Maybe I should just commit it :-)

No objection here. :)

 Warner

-- 

John Baldwin [EMAIL PROTECTED] -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
Power Users Use the Power to Serve!  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Two Junior Kernel Hacker tasks..

2001-06-22 Thread Valentin Nechayev

 Fri, Jun 22, 2001 at 10:52:01, jhb (John Baldwin) wrote about Two Junior Kernel 
Hacker tasks..: 

 2) Build kernels in sys/compile/${MACHINE_ARCH}/FOO rather than sys/compile/FOO.

I'd like to qualify the whole idea to put compilation data in some subdirectory
of /usr/src as harmful. `make buildkernel' places it in more reasoned
place (but /usr/obj/usr/src/sys/compile/i386/zzz is IMHO preferrable than
current /usr/obj/usr/src/sys/zzz). Building in /usr/src/sys/compile is
legacy issue which should be IMO removed, and /usr/sbin/config should require
explicit way in its command line.

But this is bound with another /usr/src pollutions. E.g. one cannot place
kernel config in /etc and say config /etc/kernel.config/nn12 without
moving it and current directory to /usr/src/sys/i386/conf or placing
symlink in it. LINT is also made in /usr/src/sys/${arch}/conf, not /etc
or subdirectory of /etc.

This is very helpful when you share the same sys/ tree across several
machines with different architectures.  For example, I share the same sys/
tree via NFS across almost all my testboxes including alpha and i386.  Every
time I want to compile GENERIC (I keep kernel.GENERIC up to date on my boxes)
as part of an installworld I have to go manipulate symlinks (and/or shuffle
directories around).  Fixing this would make life for the non-x86 centric
types a bit easier, although there'll probably be a big bikeshed over
changing the build directory.  *sigh*

make buildkernel is rather easy way to work it around: in any case object
tree is machine-dependent, and one yet another directory does not destroy
anything. ;|


/netch

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message