Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jan 2003 16:09:36 -0800
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        current@FreeBSD.ORG
Subject:   Re: Patch to teach config(8) about "platforms".
Message-ID:  <20030128160936.A4252@FreeBSD.org>
In-Reply-To: <20030128235528.GA844@athlon.pn.xcllnt.net>; from marcel@xcllnt.net on Tue, Jan 28, 2003 at 03:55:28PM -0800
References:  <20030125153116.A25743@FreeBSD.org> <20030128.233856.71130419.nyan@jp.FreeBSD.org> <20030128120830.A81856@FreeBSD.org> <20030128225335.GB537@athlon.pn.xcllnt.net> <20030128151749.A831@FreeBSD.org> <20030128235528.GA844@athlon.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
* De: Marcel Moolenaar <marcel@xcllnt.net> [ Data: 2003-01-28 ]
	[ Subjecte: Re: Patch to teach config(8) about "platforms". ]
> On Tue, Jan 28, 2003 at 03:17:49PM -0800, Juli Mallett wrote:
> > * De: Marcel Moolenaar <marcel@xcllnt.net> [ Data: 2003-01-28 ]
> > 	[ Subjecte: Re: Patch to teach config(8) about "platforms". ]
> > > > I just really would like things to be clean, and abstracted, and not waste
> > > > anyone's time.  Why should we have to duplicate so much code?
> > > 
> > > I'm not sure platform is the answer. We already have the distinction
> > > between MACHINE_ARCH and MACHINE and it looks to me that MACHINE can
> > > do what you try to achieve with platform. Why add a "platform"
> > > keyword to config(8) if we already have the "machine" keyword?
> > 
> > Because that requires us to do what pc98 does, which is to have the
> > meta-port be the master port, and include up into the arch-port, and
> > that means that either you have every header in the arch-port be
> > wrapped by the meta-port, as <machine> is the meta-port, or you just
> > copy everything and make local changes.
> 
> I'm sorry, you use implications I don't see to come to a conclusion
> I don't get:
> 
> Start with the beginning: We have MACHINE_ARCH and MACHINE. Can you
> represent the problem you're seeing with MIPS with two entities,
> namely MACHINE_ARCH and MACHINE?
> If yes, how exactly do these entities need to be defined in that case
> and how do they relate to each other.
> If no, explain why you need more entities to capture the problem.

Sure, say we support sgimips and algor MACHINE's on the mips MACHINE_ARCH.
That's SGI workstations, which are big-endian and have ARCBIOS stuff,
and Algorithmics development boards, which support little-endian and
big-endian configurations.  Obviously we have "machine mips", right?  But
that determines what <machine> is a link to, and files.<machine> that is
read.  So that means that we need to have <machine/*.h> stubbed in both
<algor/> and <sgimips/>.  Each of those defines the things they need to
be defined, and then includes <mips/\&.h>.  Even if we know that we never
need to have any changes, or otherwise have the abstraction the wrong way
around.  It also means that you have to pull in the mips options and files
list for both of those ports, and so on.  So you end up having "machine
$(MACHINE)" and having to explicitly inherit bit by bit everything that
you may need into the meta-port (algor or sgimips -- $(MACHINE)), in an
explicit manner.

My way, <machine> is "mips" and the headers which provide tunables include
<platform/\&.h>.  Optional hardware for a given platform is pulled in via
files.mips optional directives.  Everything is less convoluted, IMHO.

> No implementation details please.

I did my best, but I still have to show that there are two explicit
meta-ports.  My previous email had no "implementation details", just
general structure, and you rejected it, so I hope this is better.
-- 
Juli Mallett <jmallett@FreeBSD.org>
AIM: BSDFlata -- IRC: juli on EFnet
OpenDarwin, Mono, FreeBSD Developer
ircd-hybrid Developer, EFnet addict
FreeBSD on MIPS-Anything on FreeBSD

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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