20 Sep, 2010

16 commits


08 Sep, 2010

1 commit

  • Commit 861b4ea4 broke oldnoconfig when removed the oldnoconfig checks on
    if (input_mode == nonint_oldconfig ||
    input_mode == oldnoconfig) {
    if (input_mode == nonint_oldconfig &&
    sym->name &&
    !sym_is_choice_value(sym)) {
    to avoid oldnoconfig chugging through the else stanza.

    Fix that to restore expected behaviour (which I've confirmed in the
    Fedora kernel build that the configs end up looking the same.)

    Signed-off-by: Kyle McMartin
    Acked-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Kyle McMartin
     

06 Sep, 2010

1 commit


01 Sep, 2010

1 commit

  • A straight forward port to QT4 using qt3to4 and compiling against
    qt3support

    * Use pkg-config to detect QT4 which is hopefully portable enough
    * If no QT4, QT3 will by tried instead
    * Classes renamed using qt3to4
    * If build using QT3 renamed to QT3 class names using defines
    * ConfigInfoView::menu has to be renamed as QT4 moc strips struct from
    struct menu and creates a name conflict
    * QT2 support has been dropped
    * The hidden options inserted in 39a4897c1bb66e8a36043c105d7fd73d8b32b480
    are use in native API

    Signed-off-by: Alexander Stein
    Signed-off-by: Michal Marek

    Alexander Stein
     

31 Aug, 2010

1 commit


26 Aug, 2010

1 commit


17 Aug, 2010

4 commits

  • Signed-off-by: Arnaud Lacombe
    Signed-off-by: Michal Marek

    Arnaud Lacombe
     
  • On BSD systems, `check-lxdialog' would select -lcurses as the default
    curses library which would conflict with -lncurses at runtime: curses'
    compatible symbols are getting handled by the system's curses library while the
    ncurses-specific symbols are getting handled by the ports' ncurses.

    This fixes `nconf' segmentation fault on these systems.

    Signed-off-by: Arnaud Lacombe
    Signed-off-by: Michal Marek

    Arnaud Lacombe
     
  • This fixes:
    % gmake LKC_GENPARSER=1 menuconfig
    [...]
    scripts/kconfig/confdata.c:739: error: 'errno' undeclared (first use in this function)
    scripts/kconfig/confdata.c:739: error: (Each undeclared identifier is reported only once
    scripts/kconfig/confdata.c:739: error: for each function it appears in.)
    scripts/kconfig/confdata.c:739: error: 'ENOENT' undeclared (first use in this function)

    triggered on NetBSD.

    Signed-off-by: Arnaud Lacombe
    Signed-off-by: Michal Marek

    Arnaud Lacombe
     
  • Remove the old hotkeys feature, and replace it by an interactive string
    search.
    From nconfig help:

    Searching: pressing '/' triggers interactive search mode.
    nconfig performs a case insensitive search for the string
    in the menu prompts (no regex support).
    Pressing the up/down keys highlights the previous/next
    matching item. Backspace removes one character from the
    match string. Pressing either '/' again or ESC exits
    search mode. All other keys behave normally.

    Miscellaneous other changes (including Rundy's and Justin's input).

    Signed-off-by: Nir Tzachar
    Acked-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Nir Tzachar
     

15 Aug, 2010

2 commits

  • Following sample Kconfig generated a segfault:

    config FOO
    bool
    select PERF_EVENTS if HAVE_HW_BREAKPOINT

    config PERF_EVENTS
    bool

    config HAVE_HW_BREAKPOINT
    bool
    depends on PERF_EVENTS

    Fix by reverting back to a valid property if there was no
    property on the stack of symbols.

    The above pattern were seen in sh Kconfig.
    A fix for the Kconfig file has been sent to the sh folks.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • savedefconfig failed to save the correct minimal config
    when it encountered a choice marked optional.

    Consider following minimal configuration:
    $cat Kconfig
    choice
    prompt "choice"
    optional

    config A
    bool "a"

    config B
    bool "b"

    endchoice

    $cat .config | grep -v ^#
    CONFIG_A=y

    $conf --savedefconfig=defconfig Kconfig

    would before this fix result in an empty file, because
    kconfig would assume that CONFIG_A=y is a default value.
    But because the choice is optional the default is that
    both A and B are =n.

    Fix so we handle optional choices correct.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     

13 Aug, 2010

3 commits


12 Aug, 2010

2 commits

  • If a minimal config did not specify the value
    of all choice values, the resulting configuration
    could have wrong values.

    Consider following example:
    config M
    def_bool y
    option modules
    choice
    prompt "choice list"
    config A
    tristate "a"
    config B
    tristate "b"
    endchoice

    With a defconfig like this:
    CONFIG_M=y
    CONFIG_A=y

    The resulting configuration would have

    CONFIG_A=m

    which was unexpected.

    The problem was not not all choice values were set and thus
    kconfig calculated a wrong value.

    The fix is to set all choice values when we
    read a defconfig files.

    conf_set_all_new_symbols() is refactored such that
    random choice values are now handled by a dedicated function.
    And new choice values are set by set_all_choice_values().

    This was not the minimal fix, but the fix that resulted
    in the most readable code.

    Signed-off-by: Sam Ravnborg
    Reported-by: Arve Hjønnevåg
    Tested-by: Arve Hjønnevåg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • savedefconfig failed to save choice symbols equal to 'y'
    for tristate choices.
    This resulted in this value being lost.

    In particular is fixes an issue where

    make ARCH=avr32 atngw100_defconfig
    make ARCH=avr32 savedefconfig
    cp defconfig arch/avr32/configs/atngw100_defconfig
    make ARCH=avr32 atngw100_defconfig
    diff -u .config .config.old

    failed to produce an identical .config.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     

04 Aug, 2010

1 commit


03 Aug, 2010

7 commits

  • savedefconfig will save a minimal config to a file
    named "defconfig".

    The config symbols are saved in the same order as
    they appear in the menu structure so it should
    be possible to map them to the relevant menus
    if desired.

    The implementation was tested against several minimal
    configs for arm which was created using brute-force.

    There was one regression related to default numbers
    which had their valid range further limited by another symbol.

    Sample:

    config FOO
    int "foo"
    default 4

    config BAR
    int "bar"
    range 0 FOO

    If FOO is set to 3 then BAR cannot take a value higher than 3.
    But the current implementation will set BAR equal to 4.

    This is seldomly used and the final configuration is OK,
    and the fix was non-trivial.
    So it was documented in the code and left as is.

    Signed-off-by: Sam Ravnborg
    Acked-by: Uwe Kleine-König
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • Add a a few local functions to avoid some code duplication
    No functional changes.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • Move logic to determine default for a choice to
    a separate function.
    No functional changes.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • alldefconfig create a configuration with all values set
    to their default value (form the Kconfig files).

    This may be useful when we try to use more sensible default
    values and may also be used in combination with
    the minimal defconfigs.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • Consider following kconfig file:

    config TEST1
    bool "test 1"
    depends on TEST2

    config TEST2
    bool "test 2"
    depends on TEST1

    Previously kconfig would report:

    foo:6:error: found recursive dependency: TEST2 -> TEST1 -> TEST2

    With the following patch kconfig reports:
    foo:5:error: recursive dependency detected!
    foo:5: symbol TEST2 depends on TEST1
    foo:1: symbol TEST1 depends on TEST2

    Note that we now report where the offending symbols are defined.
    This can be a great help for complex situations involving
    several files.

    Patch is originally from Roman Zippel with a few adjustments by Sam.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel
    Signed-off-by: Michal Marek

    Roman Zippel
     
  • When we add a new config symbol save the file/line
    so we later can refer to their location.

    The information is saved as a property to a config symbol
    because we may have multiple definitions of the same symbol.

    This has the side-effect that a symbol always has
    at least one property.

    Signed-off-by: Sam Ravnborg
    Cc: Roman Zippel
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • Rename to a name that better match the other kconfig targets.

    listnewconfig shall read as:

    - list new options compared to current configuration

    New options are now written to stdout so one can redirect the output.

    Do not exit with an error code if there is new options.

    These are feature changes compared to the original
    nonint_oldconfig - but as this feature has not yet been in a
    released kernel it should not matter.

    It is still possible to do:

    make listnewconfig
    lookup new config options in Kconfig*
    edit .config

    Signed-off-by: Sam Ravnborg
    Cc: Aristeu Rozanski
    Acked-by: Aristeu Rozanski
    Signed-off-by: Michal Marek

    Sam Ravnborg