This patchset contains the necessary changes in the build system to enable interactive build configuration with Kconfig.
It also contains the Kconfig files for each hw/* subdirectory, including the boards. The most significant change is that the Makefile is now capable to include the generated kconfig-devices.mak or exclude it with the 'make defconfig' command. Ákos Kovács (71): rules.mak: New logical functions Makefile.target: CONFIG_NO_* variables removed default-configs/: CONFIG_GDBSTUB_XML removed scripts/kconfig: kconfig-frontends submodule added Makefile: Clone kconfig git submodule in Makefile hw/arm/Makefile.objs: CONFIG_* created for each board hw/i386/Makefile.objs: Build pc_piix* and pc_q35 boards condtionally hw/m68k/Makefile.objs: Conditionally build boards hw/microblaze/Makefile.objs: Create configs for petalogix boards hw/mips/Makefile.objs: Create CONFIG_* for mips boards hw/ppc/Makefile.objs: Build all boards conditinally hw/sh4/Makefile.objs: Build sh4 boards conditionally hw/sparc/Makefile.objs: CONFIG_* for sun4m and leon3 created hw/lm32/Makefile.objs: Conditionally build lm32 and milkmyst hw/s390x/Makefile.objs: Create CONFIG_S390_VIRTIO and CONFIG_S390_CCW hw/s390x/Kconfig: Add s390x Kconfig hw/xtensa/Makefile.objs: Build xtensa_sim and xtensa_lx60 conditionally hw/intc/Makefile.objs: Make CONFIG_ARMV7_NVIC hw/9pfs/Kconfig: Add 9pfs Kconfig hw/arm/Kconfig: Add ARM Kconfig hw/audio/Kconfig: Add audio Kconfig hw/block/Kconfig: Add Kconfig file hw/char/Kconfig: Add Kconfig file hw/core/Kconfig: Add Kconfig file hw/cpu/Kconfig: Add Kconfig file hw/display/Kconfig: Add Kconfig file hw/dma/Kconfig: Add Kconfig file hw/gpio/Kconfig: Add Kconfig file hw/i2c/Kconfig: Add Kconfig file hw/ide/Kconfig: Add Kconfig file hw/input/Kconfig: Add Kconfig file hw/intc/Kconfig: Add Kconfig file hw/isa/Kconfig: Add Kconfig file hw/misc/Kconfig: Add Kconfig file hw/mips/Kconfig: Add Kconfig for MIPS hw/nvram/Kconfig: Add Kconfig file hw/pci/Kconfig: Add Kconfig file hw/pci-bridge/Kconfig: Add Kconfig file hw/pci-host/Kconfig: Add Kconfig file hw/scsi/Kconfig: Add Kconfig file hw/sd/Kconfig: Add Kconfig file hw/ssi/Kconfig: Add Kconfig file hw/timer/Kconfig: Add Kconfig file hw/tpm/Kconfig: Add Kconfig file hw/alpha/Kconfig: Add Kconfig for Alpha hw/cris/Kconfig: Added Cris kconfig file hw/lm32/Kconfig: Added kconfig for lm32 hw/m68k/Kconfig: m68k kconfig file added hw/usb/Kconfig: Add Kconfig file hw/watchdog/Kconfig: Add Kconfig file hw/Kconfig: Add the main Kconfig for hw/ hw/moxie/Kconfig: Add Kconfig for moxie hw/unicore32/Kconfig: Add Unicore32 Kconfig hw/moxie/Kconfig: Make the board default and bool hw/xtensa/Kconfig: Kconfig for xtensa added hw/openrisc/Makefile.objs: Add CONFIG_ prefix for OPENRISC_SIM hw/openrisc/Kconfig: Add Kconfig for OpenRISC hw/sparc64/Kconfig: Kconfig added for Sparc64 configure: Generate Kconfig.targets with --target-list Kconfig: Main kconfig file added hw/usb/hcd-ohci.c: Move sysbus and PCI code to new files hw/usb/Makefile.objs: Make config options for USB_OHCI_* Makefile.objs: Split CONFIG_USB_EHCI hw/ppc/Makefile.objs: Create PPC405_UC for ppc405_uc.c hw/ppc/Kconfig: Add Kconfig for PPC hw/usb/Kconfig: Add the new USB_(O|U)HCI_(PCI|SYSBUS) hw/i386/Kconfig: Add i386 Kconfig hw/acpi/Kconfig: Create ACPI Kconfig hw/microblaze/Kconfig: Kconfig added for microblaze hw/sh4/Kconfig: Kconfig for SH4 added hw/sparc/Kconfig: Kconfig for Sparc added .gitmodules | 3 + Kconfig | 10 + Makefile | 97 +++++++++- Makefile.target | 12 +- configure | 14 ++ default-configs/arm-linux-user.mak | 2 - default-configs/arm-softmmu.mak | 15 +- default-configs/armeb-linux-user.mak | 2 - default-configs/i386-softmmu.mak | 3 + default-configs/m68k-linux-user.mak | 2 - default-configs/m68k-softmmu.mak | 4 +- default-configs/microblaze-softmmu.mak | 3 + default-configs/microblazeel-softmmu.mak | 3 + default-configs/mips-softmmu.mak | 6 + default-configs/mips64-softmmu.mak | 6 + default-configs/mips64el-softmmu.mak | 6 + default-configs/mipsel-softmmu.mak | 6 + default-configs/pci.mak | 2 + default-configs/ppc-linux-user.mak | 2 - default-configs/ppc-softmmu.mak | 9 +- default-configs/ppc64-linux-user.mak | 2 - default-configs/ppc64-softmmu.mak | 10 +- default-configs/ppc64abi32-linux-user.mak | 2 - default-configs/ppcemb-softmmu.mak | 9 +- default-configs/sh4-softmmu.mak | 4 + default-configs/sh4eb-softmmu.mak | 3 + default-configs/sparc-softmmu.mak | 2 + default-configs/x86_64-softmmu.mak | 3 + default-configs/xtensa-softmmu.mak | 3 + default-configs/xtensaeb-softmmu.mak | 3 + hw/9pfs/Kconfig | 2 + hw/Kconfig | 28 +++ hw/acpi/Kconfig | 4 + hw/alpha/Kconfig | 13 ++ hw/arm/Kconfig | 237 +++++++++++++++++++++++ hw/arm/Makefile.objs | 35 +++- hw/audio/Kconfig | 41 ++++ hw/block/Kconfig | 31 +++ hw/char/Kconfig | 24 +++ hw/core/Kconfig | 11 ++ hw/cpu/Kconfig | 18 ++ hw/cris/Kconfig | 7 + hw/display/Kconfig | 84 ++++++++ hw/dma/Kconfig | 24 +++ hw/gpio/Kconfig | 5 + hw/i2c/Kconfig | 6 + hw/i386/Kconfig | 54 ++++++ hw/i386/Makefile.objs | 5 +- hw/ide/Kconfig | 50 +++++ hw/input/Kconfig | 23 +++ hw/intc/Kconfig | 38 ++++ hw/intc/Makefile.objs | 2 +- hw/isa/Kconfig | 39 ++++ hw/lm32/Kconfig | 17 ++ hw/lm32/Makefile.objs | 4 +- hw/m68k/Kconfig | 22 +++ hw/m68k/Makefile.objs | 7 +- hw/microblaze/Kconfig | 19 ++ hw/microblaze/Makefile.objs | 7 +- hw/mips/Kconfig | 73 +++++++ hw/mips/Makefile.objs | 8 +- hw/misc/Kconfig | 67 +++++++ hw/moxie/Kconfig | 6 + hw/net/Kconfig | 74 +++++++ hw/nvram/Kconfig | 5 + hw/openrisc/Kconfig | 7 + hw/openrisc/Makefile.objs | 2 +- hw/pci-bridge/Kconfig | 3 + hw/pci-host/Kconfig | 36 ++++ hw/pci/Kconfig | 8 + hw/pci/Makefile.objs | 2 +- hw/ppc/Kconfig | 98 ++++++++++ hw/ppc/Makefile.objs | 14 +- hw/s390x/Kconfig | 12 ++ hw/s390x/Makefile.objs | 6 +- hw/scsi/Kconfig | 21 ++ hw/sd/Kconfig | 27 +++ hw/sh4/Kconfig | 17 ++ hw/sh4/Makefile.objs | 4 +- hw/sparc/Kconfig | 18 ++ hw/sparc/Makefile.objs | 3 +- hw/sparc64/Kconfig | 14 ++ hw/ssi/Kconfig | 14 ++ hw/timer/Kconfig | 81 ++++++++ hw/tpm/Kconfig | 6 + hw/unicore32/Kconfig | 5 + hw/usb/Kconfig | 77 ++++++++ hw/usb/Makefile.objs | 6 +- hw/usb/hcd-ohci-pci.c | 96 +++++++++ hw/usb/hcd-ohci-sysbus.c | 84 ++++++++ hw/usb/hcd-ohci.h | 311 ++++++++++++++++++++++++++++++ hw/watchdog/Kconfig | 7 + hw/xtensa/Kconfig | 10 + hw/xtensa/Makefile.objs | 4 +- rules.mak | 16 ++ scripts/kconfig | 1 + 96 files changed, 2283 insertions(+), 65 deletions(-) create mode 100644 Kconfig create mode 100644 hw/9pfs/Kconfig create mode 100644 hw/Kconfig create mode 100644 hw/acpi/Kconfig create mode 100644 hw/alpha/Kconfig create mode 100644 hw/arm/Kconfig create mode 100644 hw/audio/Kconfig create mode 100644 hw/block/Kconfig create mode 100644 hw/char/Kconfig create mode 100644 hw/core/Kconfig create mode 100644 hw/cpu/Kconfig create mode 100644 hw/cris/Kconfig create mode 100644 hw/display/Kconfig create mode 100644 hw/dma/Kconfig create mode 100644 hw/gpio/Kconfig create mode 100644 hw/i2c/Kconfig create mode 100644 hw/i386/Kconfig create mode 100644 hw/ide/Kconfig create mode 100644 hw/input/Kconfig create mode 100644 hw/intc/Kconfig create mode 100644 hw/isa/Kconfig create mode 100644 hw/lm32/Kconfig create mode 100644 hw/m68k/Kconfig create mode 100644 hw/microblaze/Kconfig create mode 100644 hw/mips/Kconfig create mode 100644 hw/misc/Kconfig create mode 100644 hw/moxie/Kconfig create mode 100644 hw/net/Kconfig create mode 100644 hw/nvram/Kconfig create mode 100644 hw/openrisc/Kconfig create mode 100644 hw/pci-bridge/Kconfig create mode 100644 hw/pci-host/Kconfig create mode 100644 hw/pci/Kconfig create mode 100644 hw/ppc/Kconfig create mode 100644 hw/s390x/Kconfig create mode 100644 hw/scsi/Kconfig create mode 100644 hw/sd/Kconfig create mode 100644 hw/sh4/Kconfig create mode 100644 hw/sparc/Kconfig create mode 100644 hw/sparc64/Kconfig create mode 100644 hw/ssi/Kconfig create mode 100644 hw/timer/Kconfig create mode 100644 hw/tpm/Kconfig create mode 100644 hw/unicore32/Kconfig create mode 100644 hw/usb/Kconfig create mode 100644 hw/usb/hcd-ohci-pci.c create mode 100644 hw/usb/hcd-ohci-sysbus.c create mode 100644 hw/usb/hcd-ohci.h create mode 100644 hw/watchdog/Kconfig create mode 100644 hw/xtensa/Kconfig create mode 160000 scripts/kconfig -- 1.8.1.2