summaryrefslogtreecommitdiff
path: root/scripts/kconfig/expr.h
AgeCommit message (Collapse)Author
2008-01-28kconfig: environment symbol supportRoman Zippel
Add the possibility to import a value from the environment into kconfig via the option syntax. Beside flexibility this has the advantage providing proper dependencies. Documented the options syntax. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-01-28kconfig: explicitly introduce expression listRoman Zippel
Rename E_CHOICE to E_LIST to explicitly add support for expression lists. Add a helper macro expr_list_for_each_sym to more easily iterate over the list. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2008-01-28kconfig: delete unused FILE_ and SYMBOL_ flagsSam Ravnborg
The *_PRINTED flags were never used - so delete them. Do we need them later then we can re-add them. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
2008-01-28kconfig: rename E_OR & friends to avoid name clashSam Ravnborg
We had macros named the same as a set of enumeration values. It is legal code but very confusing to read - so rename the macros from E_* to EXPR_* Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
2007-07-25kconfig: remove unused members from struct symbolSam Ravnborg
dep and dep2 in struct symbol was unused - remove them. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
2007-07-25kconfig: attach help text to menusSam Ravnborg
Roman Zippel wrote: > A simple example would be > help texts, right now they are per symbol, but they should really be per > menu, so archs can provide different help texts for something. This patch does this and at the same time introduce a few API funtions used to access the help text. The relevant api functions are introduced in the various frontends. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
2006-06-09kconfig: add defconfig_list/module optionRoman Zippel
This makes it possible to change two options which were hardcoded sofar. 1. Any symbol can now take the role of CONFIG_MODULES 2. The more useful option is to change the list of default file names, which kconfig uses to load the base configuration if .config isn't available. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-09kconfig: integrate split config into silentoldconfigRoman Zippel
Now that kconfig can load multiple configurations, it becomes simple to integrate the split config step, by simply comparing the new .config file with the old auto.conf (and then saving the new auto.conf). A nice side effect is that this saves a bit of disk space and cache, as no data needs to be read from or saved into the splitted config files anymore (e.g. include/config is now 648KB instead of 5.2MB). Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-09kconfig: allow loading multiple configurationsRoman Zippel
Extend conf_read_simple() so it can load multiple configurations. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-09kconfig: allow multiple default values per symbolRoman Zippel
Extend struct symbol to allow storing multiple default values, which can be used to hold multiple configurations. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2006-06-09kconfig: remove SYMBOL_{YES,MOD,NO}Roman Zippel
The SYMBOL_{YES,MOD,NO} are not really used anymore (they were more used be the cml1 converter), so just remove them. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2005-11-09[PATCH] kconfig: Fix Kconfig performance bugDavid Gibson
When doing its recursive dependency check, scripts/kconfig/conf uses the flag SYMBOL_CHECK_DONE to avoid rechecking a symbol it has already checked. However, that flag is only set at the top level, so if a symbol is first encountered as a dependency of another symbol it will be rechecked every time it is encountered until it's encountered at the top level. This patch adjusts the flag setting so that each symbol will only be checked once, regardless of whether it is first encountered at the top level, or while recursing down from another symbol. On complex configurations, this vastly speeds up scripts/kconfig/conf. The config in the powerpc merge tree is particularly bad: this patch reduces the time for 'scripts/kconfig/conf -o arch/powerpc/Kconfig' by a factor of 40 on a G5. That's even including the time to print the config, so the speedup in the actual checking is more likely 2 or 3 orders of magnitude. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-01-05kconfig: Redo and improve search supportSam Ravnborg
Based on patch from: Roman Zippel <zippel@linux-m68k.org> The search functionality has been improved: - Restructured printout with more info - Include value of relevant symbols - Improved handling of corner cases - Generic search support moved to backend - ready to be utilised by xconfig and gconfig - Search functionality moved to fronend - not hardcoded in menubox.c Sample search (^$ used to limit search): Search for "^USB_STORAGE$": Symbol: USB_STORAGE [=y] Prompt: USB Mass Storage support Defined at drivers/usb/storage/Kconfig:7 Depends on: USB Location: -> Device Drivers -> USB Support Selects: SCSI Some symbols has loong "Depends on:" lines - for example FW_LOADER. Use arrows to scroll horisontally to see full value. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2004-03-18[PATCH] config: disable debug printsAndrew Morton
From: Roman Zippel <zippel@linux-m68k.org> This disables some debug prints, which are more confusing than helpful for normal users.
2003-06-02[PATCH] add more warningsRoman Zippel
Add a number of warnings to avoid misuse of the previously added features (most important check for recursive dependencies).
2003-06-02[PATCH] support for 'range'Roman Zippel
The 'range' keyword allows to define a lower and upper limit for integer and hex symbols.
2003-06-02[PATCH] reverse dependency supportRoman Zippel
The 'select' keyword defines a lower limit for symbols and allows to select other symbols when a symbol is selected, e.g.: config JOLIET bool "Microsoft Joliet CDROM extensions" select NLS This means when JOLIET is selected, NLS will be selected as well.
2003-06-02[PATCH] expression supportRoman Zippel
"default" accepts now not only a single symbol but also an expression which can be assigned to boolean and tristate symbols.
2003-06-02[PATCH] Change P_ROOTMENU into a MENU_ROOT flagRoman Zippel
This changes P_ROOTMENU into a MENU_ROOT flag and also fixes some qconf usability problems. Some gconf fixes by Romain Lievin <roms@tilp.info>.
2003-06-02[PATCH] Remove old code and macrosRoman Zippel
Remove old code and debugging macros which were used by the cml1->kconfig converter.
2003-03-15[PATCH] add menuconfig supportRoman Zippel
This adds the support for the menuconfig keyword, which allows to define a config symbol and a submenu with a single step, e.g. instead of menu "SCSI device support" config SCSI tristate "SCSI device support" this is now enough: menuconfig SCSI tristate "SCSI device support"
2002-12-15[PATCH] kconfig: symbol change notificationRoman Zippel
Add a changed flag to properties, which can be used by front ends to check for changed symbols/properties.
2002-11-07[PATCH] various kconfig updatesRoman Zippel
Various small kconfig updates to fix all the reported little problems and the single menu mode for menuconfig by Petr Baudis <pasky@ucw.cz>.
2002-10-29[PATCH] new kernel configuration 2/7Roman Zippel
This adds the new kernel config core (library + the three front ends).