From: Greg Banks <gnb@alphalink.com.au>
To: Peter Samuelson <peter@cadcamlab.org>
Cc: Kai Germaschewski <kai-germaschewski@uiowa.edu>,
linux-kernel@vger.kernel.org, kbuild-devel@lists.sourceforge.net
Subject: Re: [patch] config language dep_* enhancements
Date: Wed, 14 Aug 2002 12:27:01 +1000 [thread overview]
Message-ID: <3D59BFF5.2C3B4B6A@alphalink.com.au> (raw)
In-Reply-To: <20020814014241.GK761@cadcamlab.org>
Peter Samuelson wrote:
>
> [Greg Banks]
> > Does "complete" mean all the ports have also made the change and
> > been merged back?
> [...]
> Actually I suspect it would be more like the C99 thing: after the new
> syntax is added, we start doing [TRIVIAL] patches to clean out the
> old, and eventually once that is done we have the option of removing
> the old syntax or leaving it in as a known oddity. [...]
Fair enough.
> > I'm more concerned about subtle dependencies on execution order
> > resulting from misuse of conditionals.
>
> Yeah, that's the real reason 'n'!='' is Considered Harmful (and warned
> about in the docs even now).
There are issues regardless of the behaviour of "". For example, here's
one of at least 8 ways I've identified where things can go wrong when
conditionals are misused.
#
# Testing mixed overlap, type 1
# (mixed overlap, define first, query conditional, same menu)
#
mainmenu_option next_comment
comment 'xconfig needs this menu'
define_bool CONFIG_QUUX y
bool 'Set this symbol to ON' CONFIG_FOO
if [ "$CONFIG_FOO" = "y" ]; then
bool 'Here QUUX is a query symbol' CONFIG_QUUX
fi
endmenu
# Expected semantics:
# FOO=n => QUUX not asked, is y.
# FOO=y => QUUX asked, default y, can be either y or n.
# so list of valid configs is:
# QUUX=y FOO=n
# QUUX=y FOO=y
# QUUX=n FOO=y
# Actual semantics, "make config"
# FOO=n => QUUX not asked, is y (CORRECT)
# FOO=y => QUUX asked, default y,
# if y appears twice with same value (INCORRECT)
# if n appears twice with different values (INCORRECT)
# list of produced configs:
# QUUX=y FOO=n
# QUUX=y FOO=y QUUX=y
# QUUX=y FOO=y QUUX=n
# Actual semantics, "make menuconfig"
# FOO=n => QUUX not asked, is y (CORRECT)
# FOO=y => QUUX asked, default y,
# if y appears twice with same value (INCORRECT)
# cannot set to n (INCORRECT)
# list of produced configs:
# QUUX=y FOO=n
# QUUX=y FOO=y QUUX=y
# Actual semantics, "make xconfig"
# FOO=n => QUUX not asked
# on save, get "ERROR - Attempting to write value for unconfigured variable (CONFIG_QUUX)"
# does not save QUUX at all (INCORRECT)
# FOO=y => QUUX asked, default y,
# if y appears twice with same value (INCORRECT)
# cannot set to n (INCORRECT)
# list of produced configs:
# FOO=n
# QUUX=y FOO=y QUUX=y
Greg.
--
the price of civilisation today is a courageous willingness to prevail,
with force, if necessary, against whatever vicious and uncomprehending
enemies try to strike it down. - Roger Sandall, The Age, 28Sep2001.
next prev parent reply other threads:[~2002-08-14 2:22 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <200208062329.g76NTqP30962@devserv.devel.redhat.com.suse.lists.linux.kernel>
2002-08-07 10:01 ` Linux 2.4.20-pre1 Andi Kleen
2002-08-07 11:50 ` Alan Cox
2002-08-07 10:41 ` 64bit clean drivers was " Andi Kleen
2002-08-07 12:16 ` Alan Cox
2002-08-07 11:04 ` Andi Kleen
2002-08-07 11:10 ` Alan Cox
2002-08-07 11:18 ` Andi Kleen
2002-08-07 11:51 ` Alan Cox
2002-08-07 11:56 ` Andi Kleen
2002-08-07 13:26 ` Alan Cox
2002-08-07 16:28 ` Jeff Garzik
2002-08-08 15:14 ` Peter Samuelson
2002-08-08 16:49 ` Kai Germaschewski
2002-08-08 16:47 ` Peter Samuelson
2002-08-09 4:15 ` [patch] config language dep_* enhancements Peter Samuelson
2002-08-09 14:43 ` [kbuild-devel] " Greg Banks
2002-08-09 15:38 ` Andreas Schwab
2002-08-12 10:38 ` Greg Banks
2002-08-09 16:10 ` Peter Samuelson
2002-08-12 11:04 ` Greg Banks
2002-08-12 14:46 ` Kai Germaschewski
2002-08-12 19:45 ` Roman Zippel
2002-08-12 21:40 ` [kbuild-devel] " Tom Rini
2002-08-12 22:13 ` Roman Zippel
2002-08-12 22:15 ` Tom Rini
2002-08-12 22:32 ` Roman Zippel
2002-08-12 22:47 ` Tom Rini
2002-08-12 23:17 ` Roman Zippel
2002-08-12 23:32 ` Tom Rini
2002-08-13 3:35 ` Greg Banks
2002-08-13 0:03 ` Peter Samuelson
2002-08-13 7:54 ` Roman Zippel
2002-08-13 3:33 ` Greg Banks
2002-08-13 9:32 ` Roman Zippel
2002-08-13 10:32 ` [kbuild-devel] " Greg Banks
[not found] ` <3D587483.1C459694@alphalink.com.au>
2002-08-13 3:39 ` Peter Samuelson
2002-08-13 4:31 ` Greg Banks
2002-08-13 14:00 ` [kbuild-devel] " Greg Banks
2002-08-13 15:53 ` Peter Samuelson
2002-08-13 18:48 ` Kai Germaschewski
2002-08-14 1:13 ` Greg Banks
2002-08-14 3:28 ` Peter Samuelson
2002-08-14 4:35 ` [patch] kernel config 3/N - move sound into drivers/media Peter Samuelson
2002-08-14 5:08 ` Kai Germaschewski
2002-08-14 5:49 ` Peter Samuelson
2002-08-14 10:56 ` [kbuild-devel] " Arnd Bergmann
2002-08-14 12:20 ` S390 vs S390x, was " Christoph Hellwig
2002-08-14 17:21 ` Arnd Bergmann
2002-08-14 18:16 ` Christoph Hellwig
2002-08-14 21:18 ` Arnd Bergmann
2002-08-14 19:22 ` Christoph Hellwig
2002-08-14 22:52 ` Arnd Bergmann
2002-08-14 6:14 ` Greg Banks
2002-08-14 6:31 ` Greg Banks
2002-08-14 8:16 ` Russell King
2002-08-14 6:01 ` [kbuild-devel] Re: [patch] config language dep_* enhancements Greg Banks
2002-08-14 8:18 ` Russell King
2002-08-14 14:22 ` Peter Samuelson
2002-08-15 1:28 ` Greg Banks
2002-08-15 2:33 ` Peter Samuelson
2002-08-15 3:27 ` Greg Banks
2002-08-13 18:43 ` Kai Germaschewski
2002-08-13 20:48 ` Peter Samuelson
2002-08-14 1:27 ` Greg Banks
2002-08-14 1:42 ` Peter Samuelson
2002-08-14 2:27 ` Greg Banks [this message]
2002-08-14 2:57 ` Peter Samuelson
2002-08-14 4:39 ` Kai Germaschewski
2002-08-14 5:35 ` Greg Banks
2002-08-14 11:40 ` Roman Zippel
2002-08-15 1:52 ` [kbuild-devel] " Greg Banks
2002-08-15 3:30 ` John Alvord
2002-08-16 2:24 ` Peter Samuelson
2002-08-15 9:46 ` Roman Zippel
2002-08-15 14:43 ` Kai Germaschewski
2002-08-15 20:12 ` Roman Zippel
2002-08-16 2:08 ` Greg Banks
2002-08-16 10:54 ` Roman Zippel
2002-08-19 9:27 ` Greg Banks
2002-08-19 10:20 ` Roman Zippel
2002-08-20 14:10 ` Greg Banks
2002-08-20 17:51 ` Roman Zippel
2002-08-19 20:30 ` Sam Ravnborg
2002-08-20 14:28 ` David Woodhouse
2002-08-23 15:18 ` Kai Germaschewski
2002-08-23 23:03 ` Roman Zippel
2002-08-24 12:43 ` Greg Banks
2002-08-14 1:19 ` Greg Banks
2002-08-12 15:47 ` Peter Samuelson
2002-08-13 3:23 ` [kbuild-devel] " Greg Banks
2002-08-13 16:04 ` Sam Ravnborg
2002-08-13 16:20 ` [kbuild-devel] " Peter Samuelson
2002-08-14 0:22 ` Greg Banks
2002-08-14 20:14 ` Get rid of shell based Config.in parsers? Sam Ravnborg
2002-08-14 22:21 ` [kbuild-devel] " Peter Samuelson
2002-08-15 17:51 ` Linus Torvalds
2002-08-08 23:57 ` 64bit clean drivers was Re: Linux 2.4.20-pre1 Thunder from the hill
2002-08-08 19:23 ` Roman Zippel
2002-08-08 20:03 ` Andi Kleen
2002-08-08 20:19 ` Roman Zippel
2002-08-08 17:42 ` Peter Samuelson
2002-08-09 10:21 ` Roman Zippel
2002-08-09 11:47 ` Peter Samuelson
2002-08-09 12:07 ` Russell King
2002-08-09 12:49 ` Peter Samuelson
2002-08-09 14:53 ` [kbuild-devel] " Greg Banks
2002-08-09 22:37 ` Thunder from the hill
2002-08-08 20:37 ` Andi Kleen
2002-08-08 20:51 ` Roman Zippel
2002-08-07 17:31 ` Thunder from the hill
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3D59BFF5.2C3B4B6A@alphalink.com.au \
--to=gnb@alphalink.com.au \
--cc=kai-germaschewski@uiowa.edu \
--cc=kbuild-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=peter@cadcamlab.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®