Re: [kbuild-devel] Removal of CPP and CPPFLAGS

2001-05-18 Thread Keith Owens

On Fri, 18 May 2001 09:41:51 +0200 (CEST), 
Kai Germaschewski [EMAIL PROTECTED] wrote:
On Fri, 18 May 2001, Keith Owens wrote:
 I plan to remove CPP and CPPFLAGS, replacing $(CPP) with $(CC) -E
 throughout and merging CPPFLAGS into [AC]FLAGS.  This change will make
 it much easier to handle implicit dependencies in kbuild 2.5.

I don't see this, can you explain it further? CFLAGS is set to
$(CPPFLAGS) + compilation flags, whereas the preprocessing of course only
needs $(CPPFLAGS). Well, currently it's not done cleanly at all, i.e.
-D__MODULE__ -include ... etc. are added directly to the command line and
aren't part of $(CPPFLAGS), but that's fixable.

That is precisely my problem, it is not done cleanly at the moment.
We currently have, in roughly this order

  global cppflags in top level makefile
  include list from top level makefile
  module/kernel flags from top level makefile
  global cflags in top level makefile
  extra cflags for entire directory from makefile
  extra cflags for individual file from makefile

The last two are called EXTRA_CFLAGS and CFLAGS_$@, even though they
almost always contain preprocessor flags.  Some of the preprocessing
steps are missing some flags, I just got a bug report that genksyms
does not get extra cflags from the directory or file so the modversions
calculation is not always correct.

For 2.5 I want users to be able to specify extra flags at the global,
directory and file level on the command line, without having to edit
the makefile.  We sometimes get patches sent out with debugging options
turned on the makefile because somebody forgot to remove their
debugging change.  So the list will be

  global cflags from top level makefile
  global extra cflags from command line
  include list from top level makefile
  module/kernel flags from top level makefile
  extra cflags for entire directory from makefile
  extra cflags for entire directory from command line
  extra cflags for individual file from makefile
  extra cflags for individual file from command line

If I maintain the semi-separation between preprocessor and other C
flags then it gets very messy when most of the extra cflags are really
being used for preproessing options.  I would have to include almost
all flags in the preprocessor steps anyway, just in case they affected
cpp.  So why have an artificial separation that only affects a couple
of cases, has been a source of error and AFAICT provides no benefit?
It is a lot easier to say that all steps get all flags and let the
preprocessor and compiler work out which bits they want.


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Removal of CPP and CPPFLAGS

2001-05-18 Thread Kai Germaschewski

On Fri, 18 May 2001, Keith Owens wrote:

 That is precisely my problem, it is not done cleanly at the moment.
 We currently have, in roughly this order

   global cppflags in top level makefile
   include list from top level makefile
   module/kernel flags from top level makefile
   global cflags in top level makefile
   extra cflags for entire directory from makefile
   extra cflags for individual file from makefile

 The last two are called EXTRA_CFLAGS and CFLAGS_$@, even though they
 almost always contain preprocessor flags.  Some of the preprocessing
 steps are missing some flags, I just got a bug report that genksyms
 does not get extra cflags from the directory or file so the modversions
 calculation is not always correct.

Okay, I see your point now. There's of course the option to have
EXTRA_CPPFLAGS/CPPFLAGS_$@, but most likely Makefile writers will get this
wrong, and it effectively doubles the number of FLAGS variables to track.

 If I maintain the semi-separation between preprocessor and other C
 flags then it gets very messy when most of the extra cflags are really
 being used for preproessing options.  I would have to include almost
 all flags in the preprocessor steps anyway, just in case they affected
 cpp.  So why have an artificial separation that only affects a couple
 of cases, has been a source of error and AFAICT provides no benefit?
 It is a lot easier to say that all steps get all flags and let the
 preprocessor and compiler work out which bits they want.

Okay, I think you're right, the logical separation is not worth the
additional complexity. But why not leave the CPP variable at least?

--Kai



___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Removal of CPP and CPPFLAGS

2001-05-18 Thread Keith Owens

On Fri, 18 May 2001 12:44:31 +0200 (CEST), 
Kai Germaschewski [EMAIL PROTECTED] wrote:
Okay, I think you're right, the logical separation is not worth the
additional complexity. But why not leave the CPP variable at least?

On second thoughts I will keep CPP, it is a useful indication that the
command just preprocesses instead of compiling.


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread John Cowan

Christoph Hellwig wrote:

 On Fri, May 18, 2001 at 11:51:28AM -0400, John Cowan wrote:
 
Jes Sorensen wrote:


Telling them to install an updated gcc for kernel compilation
is a necessary evil, which can easily be done without disturbing the
rest of the system. Updating the system's python installation is not a
reasonable request.


Au contraire.  It is very reasonable to have both python and python2
installed.  Having two different gcc versions installed is a big pain
in the arse.

 
 Fump. Some distributions do even come with two gcc's out of the box.
 With the whole egcs and gcc2.95 (dunno about 3.0) you can even share
 the compiler driver if you want.


Yes, I should have limited myself to pre-egcs versions.

-- 
There is / one art || John Cowan [EMAIL PROTECTED]
no more / no less  || http://www.reutershealth.com
to do / all things || http://www.ccil.org/~cowan
with art- / lessness   \\ -- Piet Hein


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Kai Germaschewski

On Fri, 18 May 2001, Eric S. Raymond wrote:

 That being the case, we do face a question of design
 philosophy, expressed as a policy question about how to design
 rulesets.  Actually two questions:

 1. When we have a platform symbol for a reference design like MVME147, do
we stick to its spec sheet or consider it representative of all derivatives
(which may have other facilities)?

 I know my answer to this one, which I will implement unless there's
 strong consensus otherwise.  I go for explicitness.  If we're going to
 support MVME147 derivatives and variants in the ruleset, they get
 their own platform symbols.

I believe it's important two distinguish between two things here,
auto-configuration and normal configuration.

One should take care to not mix these things up. Of course I don't know
about the specific hardware there, but I believe selecting NVME147 will
give you arch specific code which will cope with general aspects of that
board, but also for derived designs. That makes sense, and no need to
introduce different config symbols at that level.
I'd call CONFIG symbols like that basic, and they should be described by a
ruleset which ensures that building the kernel will actually work, and
that you have a chance that it even runs. (Things like a SCSI driver
requires the SCSI midlayer, etc. which would normally lead to unresolved
symbols or the inability to load the driver module into the running kernel
later).

On the other hand, for some people it would be nice to say I've got the
reference board, build the right kernel. That's okay, but it should be
another option, and rules like that should be in a separate files, so they
don't clutter up the basic rulesets.

So, leave the flexibility to people who need, and on top of that you can
have a mechanism which allows easier configuration for people who don't
want to care about the details.

However, more important there would be some option like build me a kernel
for the hardware I'm currently running on (and let the user fine tune
afterwards).

--Kai


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Alan Cox [EMAIL PROTECTED]:
  I don't want to do (a); it conflicts with my design objective of
  simplifying configuration enough that Aunt Tillie can do it.  I won't 
  do that unless I see a strong consensus that it's the only Right Thing.
 
 Its a good way of getting the defaults right. It may also be an appropriate
 way of guiding presentation (eg putting the stuff the ruleset says you wont
 have under a subcategory so you would see
 
 
   CPU type
   Devices
   blah
   blah
   Other Options
   IDE disk
   Cardbus

I want to understand what you're driving at here and I don't get it.  What's
the referent of Its?  Are you saying you think Aunt Tillie's view of the
world should guide the presentation of options?
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

Are we at last brought to such a humiliating and debasing degradation,
that we cannot be trusted with arms for our own defence?  Where is the
difference between having our arms in our own possession and under our
own direction, and having them under the management of Congress?  If
our defence be the *real* object of having those arms, in whose hands
can they be trusted with more propriety, or equal safety to us, as in
our own hands?
-- Patrick Henry, speech of June 9 1788

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Michael Meissner [EMAIL PROTECTED]:
 On Fri, May 18, 2001 at 06:09:09PM +0200, Christoph Hellwig wrote:
  Aunt Tillie shouldn't try to manually configure a kernel.
 
 Ummm, maybe Aunt Tillie wants to learn how to configure a kernel  After
 all, all of us at one point in time were newbies in terms of configuring
 kernels, etc.

And if she doesn't, maybe her teenage daughter Muffy wants to learn.  You know,
the one with the unicorn appliques and the pink scrunchies and the Back Street
Boys posters in her bedroom?

Dammit, if we're serious about empowering people with free software we can't
limit ourselves with the attitude that configuring kernels (or anything
else) is the sacred preserve of a geek elite.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

The price of liberty is, always has been, and always will be blood.  The person
who is not willing to die for his liberty has already lost it to the first
scoundrel who is willing to risk dying to violate that person's liberty.  Are
you free? 
-- Andrew Ford

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Michael Elizabeth Chastain

Hi Alan,

 CML1 has had no official maintainer for about 4 years. People contribute bits
 and it works. So as it stands there would be no reason to remove it.

Actually, I actively maintained all three config tools for several months
just before the 2.2 release (January 1999).  Then I went back to work
and it's been neglected since then.

It just feels like 4 years in Linux time.

Michael

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Michael Elizabeth Chastain

My two cents:

I'm in favor of a new description language.

I'm in favor of new tools for processing it.

I'm comfortable with Python as an implementation language.  The speed
problems seem to be under control.

It would be nice if either (a) the tools ran with Python 1.5.2 or (b)
some more time elapses and lots more people have Python 2.0 installed.

I think the transition to a new language is so big that anything
controversial about the config files themselves should not be part of
the transition.  Just translate the CML1 files directly into CML2.
If someone says such-and-such is yucky, the defense is: the CML2
version is less yucky or equally yucky as CML1 was.

After the transition, then have discussions about re-designing the
actual style of the files.

Let the arch maintainers be in charge of their files.

We used to have a lot of problems with arch maintainers writing
stuff that didn't work with all three config programs.  Then I
realized there's never been a spec for this stuff.  So I wrote
Documentation/kbuild/config-language.txt, and it became a lot easier for
people to write good Config.in files.  Andrzej Krzysztofowicz also went
through all the places in the spec where xconfig had documented silly
restrictions, and fixed them in xconfig.

If there's a good language spec, and good tools that actually report
language errors, arch maintainers and subsystem maintainers can take
care of their own files.

Michael

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Michael Elizabeth Chastain [EMAIL PROTECTED]:
 My two cents:
 
 I'm in favor of a new description language.
 
 I'm in favor of new tools for processing it.

If you, wearing your CML1 maintainer hat, hadn't made these things clear 
a year ago ago, CML2 wouldn't exist today.
 
 I'm comfortable with Python as an implementation language.  The speed
 problems seem to be under control.

Linus is comfortable with it too.  That argument seems to be over for
everyone but Jes Sorensen.  In any case, Greg Banks is tracking the 
Python implementation in C (though I don't think he has the theorem
prover working yet).

 It would be nice if either (a) the tools ran with Python 1.5.2 or (b)
 some more time elapses and lots more people have Python 2.0 installed.

I think we'll get (b).  2.5 will be bleeding edge by definition; I'm not
worried about anyone working on an unstable branch being unable to 
install Python 2.0.  And 2.6 is 18 to 24 months out.  By the time 
Python 2.0 is needed for a stable-branch build, it will be ubiquitous.

 I think the transition to a new language is so big that anything
 controversial about the config files themselves should not be part of
 the transition.  Just translate the CML1 files directly into CML2.
 If someone says such-and-such is yucky, the defense is: the CML2
 version is less yucky or equally yucky as CML1 was.

That's exactly the approach I've taken until very recently.  But the
compiler and configurator codebase is stable now.  It seemed to me
time to think about improving the rulebase.

I started this CML2 design philosophy heads-up precisely because I
didn't want to redesign the rulebase without a lot of input and
explicit discussion.

 Let the arch maintainers be in charge of their files.

I'm totally in favor of that.  No way do I want to maintain the
rulebase myself!
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

If gun laws in fact worked, the sponsors of this type of legislation
should have no difficulty drawing upon long lists of examples of
criminal acts reduced by such legislation. That they cannot do so
after a century and a half of trying -- that they must sweep under the
rug the southern attempts at gun control in the 1870-1910 period, the
northeastern attempts in the 1920-1939 period, the attempts at both
Federal and State levels in 1965-1976 -- establishes the repeated,
complete and inevitable failure of gun laws to control serious crime.
-- Senator Orrin Hatch, in a 1982 Senate Report

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Michael Elizabeth Chastain

Eric Raymond writes:
 That's exactly the approach I've taken until very recently.  But the
 compiler and configurator codebase is stable now.  It seemed to me
 time to think about improving the rulebase.

Ah, that is where we have different views.  I think CML2 would be better
off if you shelved improving the rulebase and focussed on integrating
into the kernel.

I'm not very good at getting things integrated into the kernel (it
took me a year to get CONFIG_SMP in).  Alan is certainly an expert on
integration hurdles.

Do you have a checklist from Linus about what he wants to see?

Michael

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Michael Elizabeth Chastain [EMAIL PROTECTED]:
 Ah, that is where we have different views.  I think CML2 would be better
 off if you shelved improving the rulebase and focussed on integrating
 into the kernel.

It's a drop-in install now.  Is there something else specific you think I
could be doing?
 
 I'm not very good at getting things integrated into the kernel (it
 took me a year to get CONFIG_SMP in).  Alan is certainly an expert on
 integration hurdles.

Alan is occasionally an expert at *producing* integration hurdles.
I'm the official Configure.help maintainer, I've got a version that
covers both the ac and Linus trees and contains more than 340 help
entries now missing, and I haven't seen it in a mainline tree yet.

 Do you have a checklist from Linus about what he wants to see?

There was one (the big item was that he wanted the rulebase split into 
per-directory files), but to the best of my knowledge I've fulfilled it.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

As with the Christian religion, the worst advertisement for Socialism
is its adherents.
-- George Orwell 

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Keith Owens

On Fri, 18 May 2001 14:41:22 -0400, 
Eric S. Raymond [EMAIL PROTECTED] wrote:
Michael Elizabeth Chastain [EMAIL PROTECTED]:
 It would be nice if either (a) the tools ran with Python 1.5.2 or (b)
 some more time elapses and lots more people have Python 2.0 installed.

I think we'll get (b).  2.5 will be bleeding edge by definition; I'm not
worried about anyone working on an unstable branch being unable to 
install Python 2.0.  And 2.6 is 18 to 24 months out.  By the time 
Python 2.0 is needed for a stable-branch build, it will be ubiquitous.

Please, please never loose sight of the requirement for kbuild to work
on non-Linux platforms.  People cross compile kernels from Solaris,
HP/UX, Cygwin, etc.  kbuild should run on any platform that has gcc,
binutils and textutils.  Any requirements to build a kernel beyond that
list starts getting awkward.


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Keith Owens [EMAIL PROTECTED]:
 Please, please never loose sight of the requirement for kbuild to work
 on non-Linux platforms.  People cross compile kernels from Solaris,
 HP/UX, Cygwin, etc.

Python 2.0 runs quite nicely under the Macintosh OS, other Unixes and Cygwin.
You could even cross-configure from a Windows box if you wanted to do such
a thing.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

Non-cooperation with evil is as much a duty as cooperation with good.
-- Mohandas Gandhi

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Alan Cox [EMAIL PROTECTED]:
 I was under the impression the MVME had VME bus. So you can hang IDE off it
 and other gunge. Its also a reference design so you may find MVME147 like
 boards..

Urk.  Alan is right, I misinterpreted the original question.  There is
no on-board support for IDE or PCMCIA, but you could plug in an IDE
daughterboard with an IDE drive or a PCMCIA slot.  This would be a
pretty damn perverse thing to do, however -- there are newer, less
expensive, faster, and generally better SBCs that have IDE/ATAPI and
PCMCIA built in.  On top of that, VMEbus SBCs aren't normally used for
consumer devices -- their market is basically industrial-control
applications with a side of scientific instrumentation.

That being the case, we do face a question of design
philosophy, expressed as a policy question about how to design
rulesets.  Actually two questions:

1. When we have a platform symbol for a reference design like MVME147, do 
   we stick to its spec sheet or consider it representative of all derivatives
   (which may have other facilities)?

I know my answer to this one, which I will implement unless there's
strong consensus otherwise.  I go for explicitness.  If we're going to
support MVME147 derivatives and variants in the ruleset, they get
their own platform symbols.

2. How much extra tsuris should we accept in order to handle
   perverse edge cases like this one?  There are three ways we
   can cope:

   (a) Back off the capability approach.  That is, accept that 
   people doing configuration are going to explicitly and 
   exhaustively specify low-level hardware.

   (b) Add complexity to the ruleset.  Split SCSI into SCSI_MIDLEVEL and 
   SCSI_DRIVERS capabilities, make sure SCSI_DRIVERS is implied
   whenever a SCSI card is configured, etc.

   (c) Decide not to support this case and document the fact in the
   rulesfile.  If you're going put gunge on the VME bus that replaces
   the SBC's on-board facilities, you can hand-hack your own configs.

I don't want to do (a); it conflicts with my design objective of
simplifying configuration enough that Aunt Tillie can do it.  I won't 
do that unless I see a strong consensus that it's the only Right Thing.

The larger question in choosing between (b) and (c) is one of the usual ones
in programming -- that is, generality vs. maintainability.  Is it ever 
acceptable for the configuration system to deliberately punt an edge case
like this one in order to keep from having a combinatorial-complexity
explosion in the ruleset?

I know what my sense of taste and proportion says.  But I'm not going
to impose my vision on everybody.  If you have an opinion, I'd like
to hear it.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

Whether the authorities be invaders or merely local tyrants, the
effect of such [gun control] laws is to place the individual at the 
mercy of the state, unable to resist.
-- Robert Anson Heinlein, 1949

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Jes Sorensen

 Keith == Keith Owens [EMAIL PROTECTED] writes:

Keith cc trimmed back to mailing lists only.  On Fri, 18 May 2001
Keith 10:53:53 -0400, Eric S. Raymond [EMAIL PROTECTED] wrote:
 (a) Back off the capability approach.  That is, accept that people
 doing configuration are going to explicitly and exhaustively
 specify low-level hardware.

Keith No, you loose one of the nicer features of CML2.

No, explicit selection *must* be available as an option.

Jes

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Alan Cox

 For CML1 and CML2 to handle the same language, we would either have
 to live with the CML1 language's limitations or retrofit the old tools
 to speak CML2 language.  The chance of the latter happening is, I think
 we can agree, effectively zero.

Being able to turn CML2 into CML1 might be the more useful exercise.

Alan


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Aaron Lehmann

On Fri, May 18, 2001 at 12:34:13PM -0400, Eric S. Raymond wrote:
 Even supposing somebody were loony enough to do that, how would preserving
 an old interface in amber do anything to explore new UI possibilities?

I don't know about the rest of the world, but I _much_ prefer the old
menuconfig to CML2's menuconfig. While I haven't spent much time playing
with CML2, I'm familiar with cml1's tools and see no reason why they
need changes, which IMHO (so far) are detrimental.

That's not even to mention python issues, speed, or anything else.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] CML2 1.4.5 is available

2001-05-18 Thread Eric S. Raymond

The latest version is always available at http://www.tuxedo.org/~esr/cml2/

Release 1.4.5: Fri May 18 02:02:27 EDT 2001
* Rulesfile updated for 2.4.5pre3, 2.4.4ac10.

The project page now also includes a download URL for the latest
version of the Configure.help file.  It features over 340 entries that
are missing in the one Linus and Alan are shipping.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

The best we can hope for concerning the people at large is that they be
properly armed.
-- Alexander Hamilton, The Federalist Papers at 184-188

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread John Cowan

Jes Sorensen wrote:

 Telling them to install an updated gcc for kernel compilation
 is a necessary evil, which can easily be done without disturbing the
 rest of the system. Updating the system's python installation is not a
 reasonable request.


Au contraire.  It is very reasonable to have both python and python2
installed.  Having two different gcc versions installed is a big pain
in the arse.

 So far I haven't heard a single
 developer say something positive about CML2, the most positive I have
 heard so far has been whatever, it's his choice, I don't care,
 I want to hack. The majority are of the NO! and you got to be
 kiddin'.


Anonymized hearsay evidence is less than convincing.


 Let's just say you didn't exactly give peoiple a good impression with
 the trolling around on how everybody had to change their option names 
 and how important it was for the world.


Decidedly bad form to criticize someone for a bug (in this case,
a design bug) that's already been fixed.  If that behavior starts,
who shall escape hanging?

 
 I do not have Python2 installed and I do not plan to, if you
 change CML2 to use a reasonable programming language I might give it a
 try.


Those who don't remember the past are condemned to repeat it.

John Cowan, _novus homo_ (Latin for upstart)

-- 
There is / one art || John Cowan [EMAIL PROTECTED]
no more / no less  || http://www.reutershealth.com
to do / all things || http://www.ccil.org/~cowan
with art- / lessness   \\ -- Piet Hein


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Alan Cox

(c) Decide not to support this case and document the fact in the
rulesfile.  If you're going put gunge on the VME bus that replaces
the SBC's on-board facilities, you can hand-hack your own configs.
 
 In general this is the best option, if you create a non-standard
 configuration for machine foo then it is your problem, not everybody
 else's.

Which makes CML2 inferior to CML1 again. Now if it could parse CML1 rulesets
this whole discussion wouldn't be needed. 

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Alan Cox

 That's ok as long as she doesn't add backstreet boys songtexts as long as your
 signature to her mails.

I wouldn't worry. She'd be swimming to Cuba in search of asylum from the MPAA
if she did

 Your point is basically:
   Lets rewrite the kernel in VBA to make every word user
   capable of driver hacking.

I think thats a bit unfair. Changing the description language so drastically
is the big problem, not the tools or its UI. Its 'and Im forking the config
language from under every other config tool including the kde work and mconfig'



___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Christoph Hellwig

On Fri, May 18, 2001 at 12:04:34PM -0400, Eric S. Raymond wrote:
 Alan Cox [EMAIL PROTECTED]:
   I don't want to do (a); it conflicts with my design objective of
   simplifying configuration enough that Aunt Tillie can do it.  I won't 
   do that unless I see a strong consensus that it's the only Right Thing.
  
  Its a good way of getting the defaults right. It may also be an appropriate
  way of guiding presentation (eg putting the stuff the ruleset says you wont
  have under a subcategory so you would see
  
  
  CPU type
  Devices
  blah
  blah
  Other Options
  IDE disk
  Cardbus
 
 I want to understand what you're driving at here and I don't get it.  What's
 the referent of Its?  Are you saying you think Aunt Tillie's view of the
 world should guide the presentation of options?

Aunt Tillie shouldn't try to manually configure a kernel.

Christoph

P.S. _please_ shorten your .sig
-- 
Whip me.  Beat me.  Make me maintain AIX.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread David Lang

if you punt in case C you should then have a mode where all dependancies
are ignored and all options are presented to the person ding the config.
This is FAR better then forcing them to hand-hack the config file.

possibly split the rules file into two parts.

part 1. absolute requirements (i.e. if you select a SCSI controller you
MUST select SCSI)

part 2. simplifications (i.e. if x86 and printer then x86_printer)

tehn have a mode where the part 2 rules are not evaluated to handle the
corner cases.

David Lang


 On Fri, 18 May 2001, Eric S.
Raymond wrote:

 Date: Fri, 18 May 2001 10:53:53 -0400
 From: Eric S. Raymond [EMAIL PROTECTED]
 To: Alan Cox [EMAIL PROTECTED]
 Cc: Tom Rini [EMAIL PROTECTED],
  Michael Meissner [EMAIL PROTECTED],
  Keith Owens [EMAIL PROTECTED], CML2 [EMAIL PROTECTED],
  [EMAIL PROTECTED]
 Subject: Re: CML2 design philosophy heads-up

 Alan Cox [EMAIL PROTECTED]:
  I was under the impression the MVME had VME bus. So you can hang IDE off it
  and other gunge. Its also a reference design so you may find MVME147 like
  boards..

 Urk.  Alan is right, I misinterpreted the original question.  There is
 no on-board support for IDE or PCMCIA, but you could plug in an IDE
 daughterboard with an IDE drive or a PCMCIA slot.  This would be a
 pretty damn perverse thing to do, however -- there are newer, less
 expensive, faster, and generally better SBCs that have IDE/ATAPI and
 PCMCIA built in.  On top of that, VMEbus SBCs aren't normally used for
 consumer devices -- their market is basically industrial-control
 applications with a side of scientific instrumentation.

 That being the case, we do face a question of design
 philosophy, expressed as a policy question about how to design
 rulesets.  Actually two questions:

 1. When we have a platform symbol for a reference design like MVME147, do
we stick to its spec sheet or consider it representative of all derivatives
(which may have other facilities)?

 I know my answer to this one, which I will implement unless there's
 strong consensus otherwise.  I go for explicitness.  If we're going to
 support MVME147 derivatives and variants in the ruleset, they get
 their own platform symbols.

 2. How much extra tsuris should we accept in order to handle
perverse edge cases like this one?  There are three ways we
can cope:

(a) Back off the capability approach.  That is, accept that
people doing configuration are going to explicitly and
exhaustively specify low-level hardware.

(b) Add complexity to the ruleset.  Split SCSI into SCSI_MIDLEVEL and
SCSI_DRIVERS capabilities, make sure SCSI_DRIVERS is implied
whenever a SCSI card is configured, etc.

(c) Decide not to support this case and document the fact in the
rulesfile.  If you're going put gunge on the VME bus that replaces
the SBC's on-board facilities, you can hand-hack your own configs.

 I don't want to do (a); it conflicts with my design objective of
 simplifying configuration enough that Aunt Tillie can do it.  I won't
 do that unless I see a strong consensus that it's the only Right Thing.

 The larger question in choosing between (b) and (c) is one of the usual ones
 in programming -- that is, generality vs. maintainability.  Is it ever
 acceptable for the configuration system to deliberately punt an edge case
 like this one in order to keep from having a combinatorial-complexity
 explosion in the ruleset?

 I know what my sense of taste and proportion says.  But I'm not going
 to impose my vision on everybody.  If you have an opinion, I'd like
 to hear it.
 --
   a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

 Whether the authorities be invaders or merely local tyrants, the
 effect of such [gun control] laws is to place the individual at the
 mercy of the state, unable to resist.
 -- Robert Anson Heinlein, 1949
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Alan Cox [EMAIL PROTECTED]:
  In general this is the best option, if you create a non-standard
  configuration for machine foo then it is your problem, not everybody
  else's.
 
 Which makes CML2 inferior to CML1 again. Now if it could parse CML1 rulesets
 this whole discussion wouldn't be needed. 

I think you're confusing a couple of different issues here, Alan.  Even 
supposing CML2 could parse CML1 rulesets, the design question about how
configuration *should* work (that is, what kind of user experience we 
want to create and who we optimize ruleset design for) wouldn't go away.

I'm raising these questions now because CML2's capabilities invite 
thinking about them.  But they're independent of the underlying language.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

To stay young requires the unceasing cultivation of the ability to
unlearn old falsehoods.
-- Lazarus Long 

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Christoph Hellwig

On Fri, May 18, 2001 at 01:22:35PM -0400, Eric S. Raymond wrote:
 Michael Meissner [EMAIL PROTECTED]:
  On Fri, May 18, 2001 at 06:09:09PM +0200, Christoph Hellwig wrote:
   Aunt Tillie shouldn't try to manually configure a kernel.
  
  Ummm, maybe Aunt Tillie wants to learn how to configure a kernel  After
  all, all of us at one point in time were newbies in terms of configuring
  kernels, etc.
 
 And if she doesn't, maybe her teenage daughter Muffy wants to learn.  You know,
 the one with the unicorn appliques and the pink scrunchies and the Back Street
 Boys posters in her bedroom?

That's ok as long as she doesn't add backstreet boys songtexts as long as your
signature to her mails.

On the other hand she should _really_ learn how to do it - like we all did.

 Dammit, if we're serious about empowering people with free software we can't
 limit ourselves with the attitude that configuring kernels (or anything
 else) is the sacred preserve of a geek elite.

I see _no_ reason to give up my control for people with an attitude that
configuring kernels will not need knowledge of what one is doing.

Your point is basically:

Lets rewrite the kernel in VBA to make every word user
capable of driver hacking.

That doesn't work.

Christoph
--
Auch der Dumme hat manchmal einen gescheiten Gedanken.
Er merkt es nur nicht.  -- Danny Kaye

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Jes Sorensen

 Eric == Eric S Raymond [EMAIL PROTECTED] writes:

Eric Jes Sorensen [EMAIL PROTECTED]:
  For a start, so far there has been no reason whatsoever to change
 the format of definitions.

Eric The judgment of the kbuild team is unanimous that you are
Eric mistaken on this.  That's the five people (excluding me) who
Eric wrote and maintained the CML1 code.  *They* said that code had
Eric to go, Linus has concurred with their judgment, and the argument
Eric is over.

Replacing the code does not require changing the style of the config
files. Thats a major problem with CML2, you introduce a new 'let me do
everything for you' tool that relies on a programming language that is
not being shipped by any major vendor nor does it look like they are
planning to do it anytime soon. And even if they start doing so, this
is a totally unreasonable requirement, you *must* to make it possible
to compile kernels on older distributions without requiring people to
update half of their system. On some architectures, the majority of
the users are still on glibc 2.0 and other old versions of
tools. Telling them to install an updated gcc for kernel compilation
is a necessary evil, which can easily be done without disturbing the
rest of the system. Updating the system's python installation is not a
reasonable request. Nobody disagrees that the Makefiles needs a
redesign, however that doesn't mean everything else has to be
redisigned in a totally incompatible manner.

Eric If you persist in misunderstanding what I am doing, you are
Eric neither going to be able to influence my behavior nor to
Eric persuade other people that it is wrong.  Listen carefully,
Eric please:

Oh I don't, on the other hand I see you consistently ignoring the
needs and requirements of the users. So far I haven't heard a single
developer say something positive about CML2, the most positive I have
heard so far has been whatever, it's his choice, I don't care,
I want to hack. The majority are of the NO! and you got to be
kiddin'.

Eric 1. The CML2 system neither changes the CONFIG_ symbol namespace
Eric nor assumes any changes in it.  (Earlier versions did, but Greg
Eric Banks showed me how to avoid needing to.)

Let's just say you didn't exactly give peoiple a good impression with
the trolling around on how everybody had to change their option names 
and how important it was for the world.

Eric 2. The ruleset changes I have made simplify the configuration
Eric process, but they do *not* in any way restrict the space of
Eric configurations that are possible.  By design, every valid
Eric (consistent) configuration in CML1 can be generated in CML2.  I
Eric treat departures from that rule as rulesfile bugs and fix them
Eric (as I just did at Ray Knight's instruction).

What spawned this recent discussion was you wanting to remove config
options and automatically enable things instead of giving the users
the explicit choice to do so. Now you are trying to tell me that you
are not changing things?

Eric 3. I do not have (nor do I seek) the power to impose anything
Eric on anyone.

We'll let that one stand on display for a few minutes.

Eric You really ought to give CML2 a technical evaluation yourself
Eric before you flame me again.  Much of what you seem to think you
Eric know is not true.

So far I have had to deal with a number of requests from you trying to
impose unreasonable changes on developers. Thats more than plenty for
me. I do not have Python2 installed and I do not plan to, if you
change CML2 to use a reasonable programming language I might give it a
try.

Jes

PS: And if you could start making your .signature rfc1855 compliant it
was be pleasant for all readers of this mailing list.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Christoph Hellwig

On Fri, May 18, 2001 at 11:51:28AM -0400, John Cowan wrote:
 Jes Sorensen wrote:
 
  Telling them to install an updated gcc for kernel compilation
  is a necessary evil, which can easily be done without disturbing the
  rest of the system. Updating the system's python installation is not a
  reasonable request.
 
 
 Au contraire.  It is very reasonable to have both python and python2
 installed.  Having two different gcc versions installed is a big pain
 in the arse.

Fump. Some distributions do even come with two gcc's out of the box.
With the whole egcs and gcc2.95 (dunno about 3.0) you can even share
the compiler driver if you want.

Christoph

-- 
Of course it doesn't work. We've performed a software upgrade.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Alan Cox

 On 05/18/2001 at 02:44:07 PM [EMAIL PROTECTED] wrote:
 But the real question is whether the old tools have enough value to be
 worth the effort.  What problem are you trying to solve here?
 
 How about:
 1.  Some of us are perfectly satisfied with the existing tools and don't want
   them to be yanked out from under us.

 2.  Some of us have no interest in Python and don't like being forced to deal
   with installing/upgrading it just for CML2.

Since someone is rewriting CML2 in C that #2 is a non issue. #1 may be a case
of bolting alternative ui's onto the parser 


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Alan Cox

 But the real question is whether the old tools have enough value to be
 worth the effort.  What problem are you trying to solve here?

Im just playing with ideas and writing a CML1 parser for amusement while I
ponder single pass computation of the entire dependancy graph from a CML1
rule base 8)


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Christoph Hellwig

On Fri, May 18, 2001 at 12:34:13PM -0400, Eric S. Raymond wrote:
 Alan, it sounds very much like you just said something stupid.  This
 seems sufficiently unlikely that I am shaking my head in disbelief and
 fingernailing wax out of both ears (and if you think doing both those
 things at once is easy try it sometime :-)).
 
 Do you really believe that anyone is going to maintain the CML1 tools
 for as long as a nanosecond after they get dropped out of the kernel tree?

I _will_ continue to maintain mconfig (after mec stopped even before cml2).

Christoph

-- 
Of course it doesn't work. We've performed a software upgrade.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread frank

On Fri, 18 May 2001, Eric S. Raymond wrote:

 Tom Rini [EMAIL PROTECTED]:
SCSI emulation over IDE, CONFIG_BLK_DEV_IDESCSI.  You have the SCSI mid
layer code but no SCSI hardware drivers.  It is a realistic case for an
embedded CD-RW appliance.
   
   Or alternatively, you want to enable SCSI code, with no hardware driver,
   because you are going to build pcmcia, which builds the scsi drivers only
   if CONFIG_SCSI is defined, and the user might put in an Adaptec 1460B or
   1480 scsi card into your pcmcia slot.
  
  Both of these 'problems' assume that you can have IDE or PCMCIA on these
  particular boxes.  Does anyone know if that's actually true?
 
 The answer is: no, you can't.  
 
 I found a feature list for the MVME147 on the web at
 http://www.mcg.mot.com/cfm/templates/article.cfm?PageID=1095.  It
 confirmed what thought I remembered from the Motorola site; no PCMCIA,
 no IDE/ATAPI.  As a matter of fact neither of these technologies
 existed yet when the board was being designed in the mid-1980s.

But it is a VME board. That means you can put a SCSI controller on the VME
bus (and these do exist, I have one right here). 

Frank

 
 (The article I found is kind of interesting.  It's a dissection of the
 MVME147's design and history...narrated in first person.)
 
 In any case, if this *had* been a problem, the right fix IMO would have
 been to split the SCSI symbol into SCSI and SCSI_DRIVERS and have
 constraints that would make SCSI and the presence of any SCSI card 
 imply SCSI_DRIVERS.
 -- 
   a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a
 
 The prestige of government has undoubtedly been lowered considerably
 by the Prohibition law. For nothing is more destructive of respect for
 the government and the law of the land than passing laws which cannot
 be enforced. It is an open secret that the dangerous increase of crime
 in this country is closely connected with this.
   -- Albert Einstein, My First Impression of the U.S.A., 1921
 -
 To unsubscribe from this list: send the line unsubscribe linux-kernel in
 the body of a message to [EMAIL PROTECTED]
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 Please read the FAQ at  http://www.tux.org/lkml/
 

HI! I'm a .signature virus! cp me into your .signature file to help me spread!


___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



[kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Alan Cox [EMAIL PROTECTED]:
 What I am trying to say is that if you can infer probable configuration
 categories that are relevant then instead of automatically filling the other
 areas in and blocking changing them without using vi you can put the other
 options as a submenu. That guides the less expert user and also helps rather
 than hinders the expert

OK, that's useful input.  Noted.

There's a bit of a technical problem with the distinction between 
derivations (which are like macros) and question symbols (which can
be suppressed or unsuppressed depending on their visibility predicate
But perhaps I can think up a solution to that one over lunch.
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

You [should] not examine legislation in the light of the benefits it will
convey if properly administered, but in the light of the wrongs it
would do and the harm it would cause if improperly administered
-- Lyndon Johnson, former President of the U.S.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Wayne . Brown



On 05/18/2001 at 02:44:07 PM [EMAIL PROTECTED] wrote:

But the real question is whether the old tools have enough value to be
worth the effort.  What problem are you trying to solve here?


How about:



1.  Some of us are perfectly satisfied with the existing tools and don't want
  them to be yanked out from under us.

2.  Some of us have no interest in Python and don't like being forced to deal
  with installing/upgrading it just for CML2.



Wayne



___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel



Re: [kbuild-devel] Re: CML2 design philosophy heads-up

2001-05-18 Thread Eric S. Raymond

Alan Cox [EMAIL PROTECTED]:
 Being able to turn CML2 into CML1 might be the more useful exercise.

That's...not a completely crazy idea.  Hmmm...

It might be possible to take a CML2 rulebase and generate a sort of stupid
jackleg CML1 translation of it.  The resulting config.in would be huge
and nasty, and would only work in forward sequence with no side-effect
computation, but you just might be able to get the old tools to parse it.

Again there's a technical problem with derivations.   Probably solvable.

But the real question is whether the old tools have enough value to be
worth the effort.  What problem are you trying to solve here?
-- 
a href=http://www.tuxedo.org/~esr/;Eric S. Raymond/a

This would be the best of all possible worlds, if there were
no religion in it.
-- John Adams, in a letter to Thomas Jefferson.

___
kbuild-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/kbuild-devel