|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH v3 13/23] Kconfig: Shifting to the new Kconfig system
Hi Sharan,
This patch looks ok.
-- Felipe
Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>
On 19.09.19, 11:17, "Minios-devel on behalf of Sharan Santhanam"
<minios-devel-bounces@xxxxxxxxxxxxxxxxxxxx on behalf of
Sharan.Santhanam@xxxxxxxxx> wrote:
In this patch, we use the version of the kconfig. The existing
kconfig still exists. In later commits we will replace the old
kconfig with the new config.
NOTE: The later kconfig system deprecates silentoldconfig. In a
later patch this will be replace syncconfig.
Signed-off-by: Sharan Santhanam <sharan.santhanam@xxxxxxxxx>
---
Config.uk | 29 +++++++++++++++--------------
Makefile | 16 +++++++++-------
support/build/Makefile.rules | 2 +-
3 files changed, 25 insertions(+), 22 deletions(-)
diff --git a/Config.uk b/Config.uk
index d2a4e32..21ae657 100644
--- a/Config.uk
+++ b/Config.uk
@@ -2,34 +2,35 @@
# For a description of the syntax of this configuration file,
# see
https://www.kernel.org/doc/Documentation/kbuild/Config.in-language.txt.
#
-mainmenu "Unikraft/$UK_FULLVERSION Configuration"
+mainmenu "Unikraft/$(UK_FULLVERSION) Configuration"
config KCONFIG_APP_IN
string
- option env="KCONFIG_APP_IN"
+ default "$(KCONFIG_APP_IN)"
config KCONFIG_ELIB_IN
string
- option env="KCONFIG_ELIB_IN"
+ default "$(KCONFIG_ELIB_IN)"
config KCONFIG_EPLAT_IN
string
- option env="KCONFIG_EPLAT_IN"
+ default "$(KCONFIG_EPLAT_IN)"
+
config UK_FULLVERSION
string
- option env="UK_FULLVERSION"
+ default "$(UK_FULLVERSION)"
config UK_CODENAME
string
- option env="UK_CODENAME"
+ default "$(UK_CODENAME)"
config UK_ARCH
string
- option env="UK_ARCH"
+ default "$(UK_ARCH)"
config UK_BASE
string
- option env="UK_BASE"
+ default "$(UK_BASE)"
config UK_APP
string
- option env="UK_APP"
+ default "$(UK_APP)"
config UK_DEFNAME
string
- option env="UK_NAME"
+ default "$(UK_NAME)"
menu "Architecture Selection"
source "arch/Config.uk"
@@ -37,12 +38,12 @@ endmenu
menu "Platform Configuration"
source "plat/Config.uk"
- source "$KCONFIG_EPLAT_IN"
+ source "$(KCONFIG_EPLAT_IN)"
endmenu
menu "Library Configuration"
source "lib/Config.uk"
- source "$KCONFIG_ELIB_IN"
+ source "$(KCONFIG_ELIB_IN)"
endmenu
menu "Build Options"
@@ -183,12 +184,12 @@ endmenu
if UK_APP != UK_BASE
menu "Application Options"
- source "$KCONFIG_APP_IN"
+ source "$(KCONFIG_APP_IN)"
endmenu
endif
config UK_NAME
string "Image name"
- default $UK_DEFNAME
+ default UK_DEFNAME
help
Name to be used for final image
diff --git a/Makefile b/Makefile
index afb8206..c7a6a99 100644
--- a/Makefile
+++ b/Makefile
@@ -127,11 +127,11 @@ ELIB_DIR := $(realpath $(patsubst %/,%,$(patsubst
%.,%,$(ELIB_DIR))))
# KConfig settings
CONFIG_DIR := $(CONFIG_UK_APP)
CONFIG_CONFIG_IN := $(CONFIG_UK_BASE)/Config.uk
-CONFIG := $(CONFIG_UK_BASE)/support/kconfig
+CONFIG := $(CONFIG_UK_BASE)/support/kconfig.new
UK_CONFIG := $(CONFIG_DIR)/.config
UK_CONFIG_OUT := $(BUILD_DIR)/config
UK_GENERATED_INCLUDES := $(BUILD_DIR)/include
-KCONFIG_DIR := $(BUILD_DIR)/kconfig
+KCONFIG_DIR := $(BUILD_DIR)/kconfig.new
UK_FIXDEP := $(KCONFIG_DIR)/fixdep
KCONFIG_AUTOCONFIG := $(KCONFIG_DIR)/auto.conf
KCONFIG_TRISTATE := $(KCONFIG_DIR)/tristate.config
@@ -473,6 +473,8 @@ AR := ar
CAT := cat
SED := sed
AWK := awk
+YACC := bison
+LEX := flex
PATCH := patch
GZIP := gzip
TAR := tar
@@ -496,7 +498,7 @@ CXXFLAGS += -DCC_VERSION=$(CC_VERSION)
GOCFLAGS += -DCC_VERSION=$(CC_VERSION)
# ensure $(BUILD_DIR)/kconfig, $(BUILD_DIR)/include and
$(BUILD_DIR)/include/uk exists
-$(call mk_sub_build_dir,kconfig)
+$(call mk_sub_build_dir,kconfig.new)
$(call mk_sub_build_dir,include)
$(call mk_sub_build_dir,include/uk)
@@ -661,13 +663,13 @@ $(KCONFIG_EPLAT_IN).new:
# enforce execution
.PHONY: $(KCONFIG_APP_IN).new $(KCONFIG_ELIB_IN).new
$(KCONFIG_EPLAT_IN).new
-KCONFIG_TOOLS = conf mconf gconf nconf fixdep
+KCONFIG_TOOLS = conf mconf gconf nconf qconf fixdep
KCONFIG_TOOLS := $(addprefix $(KCONFIG_DIR)/,$(KCONFIG_TOOLS))
$(KCONFIG_TOOLS):
mkdir -p $(@D)/lxdialog
$(MAKE) CC="$(HOSTCC_NOCCACHE)" HOSTCC="$(HOSTCC_NOCCACHE)" \
- obj=$(@D) -C $(CONFIG) -f Makefile.br $(@F)
+ obj=$(@D) -C $(CONFIG) -f Makefile.br $(@)
DEFCONFIG = $(call qstrip,$(UK_DEFCONFIG))
@@ -675,7 +677,7 @@ DEFCONFIG = $(call qstrip,$(UK_DEFCONFIG))
# recognize that if it's still at its default $(CONFIG_DIR)/defconfig
COMMON_CONFIG_ENV = \
CONFIG_="CONFIG_" \
- BR2_CONFIG="$(UK_CONFIG)" \
+ KCONFIG_CONFIG="$(UK_CONFIG)" \
KCONFIG_AUTOCONFIG="$(KCONFIG_AUTOCONFIG)" \
KCONFIG_AUTOHEADER="$(KCONFIG_AUTOHEADER)" \
KCONFIG_TRISTATE="$(KCONFIG_TRISTATE)" \
@@ -763,7 +765,7 @@ savedefconfig: $(KCONFIG_DIR)/conf $(KCONFIG_APP_IN)
$(KCONFIG_ELIB_IN) $(KCONFI
# Regenerate $(KCONFIG_AUTOHEADER) whenever $(UK_CONFIG) changed
$(KCONFIG_AUTOHEADER): $(UK_CONFIG) $(KCONFIG_DIR)/conf $(KCONFIG_APP_IN)
$(KCONFIG_ELIB_IN) $(KCONFIG_EPLAT_IN)
- @$(COMMON_CONFIG_ENV) $(KCONFIG_DIR)/conf --silentoldconfig
$(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $(KCONFIG_DIR)/conf --syncconfig
$(CONFIG_CONFIG_IN)
# Misc stuff
diff --git a/support/build/Makefile.rules b/support/build/Makefile.rules
index 74b6d7d..906a0a6 100644
--- a/support/build/Makefile.rules
+++ b/support/build/Makefile.rules
@@ -234,7 +234,7 @@ depflags = -Wp$(comma)-MD$(comma)$(call
tmp_depfile,$(3))
define build_cmd_fixdep =
$(call build_cmd,$1,$2,$3,$4)
$Q $(UK_FIXDEP) $(call tmp_depfile,$3) $3 '$(call strip,$4)' \
- $(BUILD_DIR) > $(call out2dep,$3) && \
+ > $(call out2dep,$3) && \
$(RM) $(call tmp_depfile,$3)
endef
--
2.7.4
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |