Re: kernel config

Andreas Koppenhoefer (koppenas@koppenas.informatik.uni-stuttgart.de)
Sun, 23 Jul 1995 22:36:53 +0200 (MET DST)


-----BEGIN PGP SIGNED MESSAGE-----

That's my favorite draft for a new kernel configure tool. Here are my $.02:

- - We need some simple control structs. Think of a set of drivers which
cannot be use together.

- - There should be some reasonable defaults. Your suggestet "suggest"
argument may be the right way.

- - I think we don't need to specify cflags as proposed below ('cflags
"-DCONFIG_AHA_1542"'). While using simple variables which can be set
to some boolean or integer values, they result in writing a config.h
file containing preprozessor defines.

- - What I miss very hard are comments from Linus! (Linus, do you follow
the disussion about a new kernel configuration tool? I' know, your're
a very busy man, nevertheless please give us some hints.)

> From: dholland@husc.harvard.edu
> Subject: Re: kernel config
> Date: Sat, 22 Jul 1995 18:00:31 -0400 (EDT)
>
> [...]
> That said, how about something along the lines of
>
> config file ::= section...
>
> section
> ::= identifier, doc-string, flag..., '{', config option... '}'
>
> flag
> ::= "require", identifier
> ::= "provide", identifier
> ::= "cflags", quoted string
> ::= "module"
>
> config option
> ::= typename, identifier, doc-string, flag..., ';'
>
> typename
> ::= "bool"
> ::= "int"
> ::= "int", constant, "..", constant
>
> doc-string ::= quoted string
>
> where identifier, constant, and quoted string are what you'd expect.
>
> If anyone tries to build this, note that identifiers can't begin with
> a digit or you'll get a conflict.
>
> This lets you, for instance, specify that SCSI tape support requires
> SCSI support, in the following way:
>
> scsi-adapters "Support for SCSI host adapters (disk/device
> controllers). This is required if you want support for other SCSI
> devices (hard disks, tapes, cdroms, scanners)."
> {
> aha1542 "Support for Adaptec 1542 SCSI cards."
> provide scsi cflags "-DCONFIG_AHA_1542";
> aic7xxx "Support for Adaptec 274x/284x/294x SCSI cards."
> provide scsi cflags "-DCONFIG_AIC7XXX";
> ABCDE "Support for the A.B.C.D.E. Super SCSI 1998 Edition."
> provide scsi cflags "-DCONFIG_ABCDE";
> }
>
> scsi-devices "Support for SCSI devices (hard drives, tapes, cdroms,
> scanners, etc.) Support for SCSI host adapters is required."
> {
> tapes "Support SCSI tape drives."
> require scsi provide tape cflags "-DCONFIG_SCSI_TAPE";
> disks "Support SCSI hard drives."
> require scsi provide disk cflags "-DCONFIG_SCSI_DISK";
> cdrom "Support SCSI cdroms."
> require scsi provide cdrom cflags "-DCONFIG_SCSI_CDROM";
> }
>
> etc.
>
> The idea is that you can select the adapters section all you like, but
> unless you actually choose a controller, it won't let you turn on any
> of the scsi devices.
>
> Hmm. Thinking about it there ought to be an option "suggest". For
> instance, since iso9660 support isn't useful without a cdrom, you'd
> have "suggest cdrom", and you'd have the cdroms "suggest iso9660".
> Presumably the config utility would do something intelligent with
> "suggest" operations that were references to things the user hadn't
> gotten to yet.

- - Andreas
- --
Andreas Koppenhoefer, Student der Universitaet Stuttgart, BR Deutschland
prefered languages: German, English, C, perl ("Just another Perl hacker,")
SMTP: koppenas@informatik.uni-stuttgart.de (university address)
Andreas.Koppenhoefer@studbox.uni-stuttgart.de (my home address)
privat: Belaustr. 5/3, D-70195 Stuttgart, Germany,
Earth, Sector ZZ9 plural Z alpha
phone: +49 711 694111 and +49 711 6999006 (19-22h MEZ=GMT+1)

-----BEGIN PGP SIGNATURE-----
Version: 2.6

iQBVAgUBMBKyrUVdjNvyndGpAQGcygH/S4+Cn2GM89G1dX3AzL5EM0xLOSwUrfB/
1eYi8RXPtP2EF+lbWlsX4Rb85UJ2DglYWTlIw/72lXFiMg47EM4BoA==
=J+/v
-----END PGP SIGNATURE-----