diff --git a/.gitignore b/.gitignore index fc87f6d3..23b64f81 100644 --- a/.gitignore +++ b/.gitignore @@ -16,9 +16,9 @@ cscope* tags # Menuconfig temp files -/include/config -/include/generated -.config* +/config.h +.config +.config.old # Build temp files /platform/board.ld diff --git a/BUILD.gn b/BUILD.gn index 696f2219..af86842e 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -80,5 +80,7 @@ build_ext_component("make") { outdir = rebase_path(get_path_info(".", "out_dir")) sysroot_path = rebase_path(ohos_current_sysroot) arch_cflags = string_join(" ", target_arch_cflags) - command = "./build.sh ${board_name} ${ohos_build_compiler} ${root_build_dir} ${ohos_build_type} ${tee_enable} \"${device_company}\" \"${product_path}\" $outdir \"${ohos_version}\" ${sysroot_path} \"${arch_cflags}\"" + command = "./build.sh ${board_name} ${ohos_build_compiler} ${root_build_dir} ${ohos_build_type} ${tee_enable}" + command += " \"${device_company}\" \"${product_path}\" $outdir \"${ohos_version}\" ${sysroot_path} \"${arch_cflags}\"" + command += " \"${device_path}\"" } diff --git a/Kconfig b/Kconfig index 8bce9860..d8cbaa97 100644 --- a/Kconfig +++ b/Kconfig @@ -52,15 +52,15 @@ endmenu menu "Platform" ######################### config options of bsp ##################### -source "../../kernel/liteos_a/platform/Kconfig" +source "platform/Kconfig" ######################### config options of cpu arch ################ -source "../../kernel/liteos_a/arch/Kconfig" +source "arch/Kconfig" ######################### config options of rootfs ##################### -source "../../kernel/liteos_a/kernel/common/Kconfig" +source "kernel/common/Kconfig" ######################### config options of patchfs ##################### -source "../../kernel/liteos_a/kernel/common/patchfs/Kconfig" +source "kernel/common/patchfs/Kconfig" config QUICK_START bool "Enable QUICK_START" @@ -71,27 +71,24 @@ config QUICK_START endmenu ######################### config options of kernel ##################### -source "../../kernel/liteos_a/kernel/Kconfig" +source "kernel/Kconfig" ######################### config options of lib ######################## -source "../../kernel/liteos_a/lib/Kconfig" +source "lib/Kconfig" ######################### config options of compatibility ############## menu "Compat" -source "../../kernel/liteos_a/compat/posix/Kconfig" -source "../../kernel/liteos_a/bsd/Kconfig" +source "compat/posix/Kconfig" +source "bsd/Kconfig" endmenu -######################### config options of framework ################## -#source "../../frameworks/m2mcomm/Kconfig" - ######################## config options of filesystem ################## menu "FileSystem" -source "../../kernel/liteos_a/fs/vfs/Kconfig" -source "../../kernel/liteos_a/fs/fat/Kconfig" -source "../../kernel/liteos_a/fs/ramfs/Kconfig" -source "../../kernel/liteos_a/fs/romfs/Kconfig" -source "../../kernel/liteos_a/fs/nfs/Kconfig" -source "../../kernel/liteos_a/fs/proc/Kconfig" -source "../../kernel/liteos_a/fs/jffs2/Kconfig" +source "fs/vfs/Kconfig" +source "fs/fat/Kconfig" +source "fs/ramfs/Kconfig" +source "fs/romfs/Kconfig" +source "fs/nfs/Kconfig" +source "fs/proc/Kconfig" +source "fs/jffs2/Kconfig" config ENABLE_READ_BUFFER bool "Enable read buffer Option" default n @@ -117,7 +114,7 @@ config MAX_PATH_CACHE_SIZE endmenu ######################## config options of net ############################ -source "../../kernel/liteos_a/net/Kconfig" +source "net/Kconfig" ######################## config options of debug ######################## menu "Debug" @@ -219,14 +216,14 @@ config DEBUG_SEMAPHORE help Answer Y to enable debug semaphore. -source "../../kernel/liteos_a/shell/Kconfig" +source "shell/Kconfig" config NET_LWIP_SACK_TFTP bool "Enable Tftp" default y depends on SHELL && NET_LWIP_SACK && DEBUG_VERSION help Answer Y to enable LiteOS support tftp cmd and tftp tool. -source "../../kernel/liteos_a/net/telnet/Kconfig" +source "net/telnet/Kconfig" config SCHED_DEBUG bool "Enable sched debug Feature" default n @@ -265,7 +262,7 @@ config MEM_LEAKCHECK help Answer Y to enable record the LR of Function call stack of Mem operation, it can check the mem leak through the infomations of mem node. config BASE_MEM_NODE_INTEGRITY_CHECK - bool "Enable integrity check or not " + bool "Enable integrity check or not" default n depends on DEBUG_VERSION && MEM_DEBUG config MEM_WATERLINE @@ -290,20 +287,25 @@ config DRIVERS help Answer Y to enable LiteOS support driver. -source "../../kernel/liteos_a/bsd/dev/usb/Kconfig" +source "bsd/dev/usb/Kconfig" source "../../drivers/adapter/khdf/liteos/Kconfig" +# Device driver Kconfig import +osource "$(DEVICE_PATH)/Kconfig" +osource "$(DEVICE_PATH)/config/Kconfig" + source "drivers/char/mem/Kconfig" source "drivers/char/quickstart/Kconfig" source "drivers/char/random/Kconfig" -source "../../drivers/liteos/tzdriver/Kconfig" source "drivers/char/video/Kconfig" + +source "../../drivers/liteos/tzdriver/Kconfig" source "../../drivers/liteos/hievent/Kconfig" endmenu menu "Security" -source "../../kernel/liteos_a/security/Kconfig" +source "security/Kconfig" endmenu menu "Test" diff --git a/Makefile b/Makefile index 5653d002..ff3bf7c9 100644 --- a/Makefile +++ b/Makefile @@ -47,22 +47,17 @@ ROOTFS = rootfs LITEOS_TARGET = liteos LITEOS_LIBS_TARGET = libs_target -LITEOS_MENUCONFIG_H = $(LITEOSTOPDIR)/include/generated/autoconf.h LITEOS_PLATFORM_BASE = $(LITEOSTOPDIR)/platform export CONFIG_=LOSCFG_ -MENUCONFIG_PATH = $(LITEOSTOPDIR)/tools/menuconfig -KCONFIG_FILE_PATH = $(LITEOSTOPDIR)/Kconfig - -ifeq ($(OS), Linux) -MENUCONFIG_MCONF := $(MENUCONFIG_PATH)/mconf -MENUCONFIG_CONF := $(MENUCONFIG_PATH)/conf -else -MENUCONFIG_MCONF := $(MENUCONFIG_PATH)/kconfig-mconf.exe -MENUCONFIG_CONF := $(MENUCONFIG_PATH)/kconfig-conf.exe +ifeq ($(PRODUCT_PATH),) +export PRODUCT_PATH=$(LITEOSTOPDIR)/../../device/hisilicon/drivers endif -$(shell env CONFIG_=$(CONFIG_) $(MENUCONFIG_CONF) -s --olddefconfig $(KCONFIG_FILE_PATH)) +ifeq ($(shell which menuconfig),) +$(shell pip install --user kconfiglib >/dev/null) +endif +$(shell env CONFIG_=$(CONFIG_) PRODUCT_PATH=$(PRODUCT_PATH) olddefconfig >/dev/null) -include $(LITEOSTOPDIR)/tools/build/config.mk @@ -148,17 +143,12 @@ $(LITEOS_LIBS_TARGET): $(__LIBS) sysroot $(HIDE)echo "=============== make lib done ===============" ##### make menuconfig ##### -menuconfig:$(MENUCONFIG_MCONF) - $< $(KCONFIG_FILE_PATH) - -genconfig:$(MENUCONFIG_CONF) - $(HIDE)mkdir -p include/config include/generated - $< --olddefconfig $(KCONFIG_FILE_PATH) - $< --silentoldconfig $(KCONFIG_FILE_PATH) +menuconfig: + $(HIDE)menuconfig ##### menuconfig end ####### $(LITEOS_MENUCONFIG_H): .config - $(HIDE)$(MAKE) genconfig + $(HIDE)genconfig $(LITEOS_TARGET): $(__LIBS) sysroot $(HIDE)touch $(LOSCFG_ENTRY_SRC) @@ -223,11 +213,11 @@ update_all_config: $(HIDE)shopt -s globstar && for f in tools/build/config/**/*.config ; \ do \ echo updating $$f; \ - test -f $$f && cp $$f .config && $(MENUCONFIG_CONF) -s --olddefconfig $(KCONFIG_FILE_PATH) && $(MENUCONFIG_CONF) --savedefconfig $$f $(KCONFIG_FILE_PATH); \ + test -f $$f && cp $$f .config && olddefconfig && savedefconfig --out $$f; \ done -%.config: - $(HIDE)test -f tools/build/config/$@ && cp tools/build/config/$@ .config && $(MENUCONFIG_MCONF) $(KCONFIG_FILE_PATH) && $(MENUCONFIG_CONF) --savedefconfig tools/build/config/$@ $(KCONFIG_FILE_PATH) +update_config: + $(HIDE)test -f "$(CONFIG)" && cp "$(CONFIG)" .config && menuconfig && savedefconfig --out "$(CONFIG)" -.PHONY: all lib clean cleanall $(LITEOS_TARGET) debug release help update_all_config -.PHONY: prepare sysroot cleanrootfs $(ROOTFS) $(ROOTFSDIR) $(APPS) menuconfig genconfig $(LITEOS_LIBS_TARGET) $(__LIBS) $(OUT) +.PHONY: all lib clean cleanall $(LITEOS_TARGET) debug release help update_all_config update_config +.PHONY: prepare sysroot cleanrootfs $(ROOTFS) $(ROOTFSDIR) $(APPS) menuconfig $(LITEOS_LIBS_TARGET) $(__LIBS) $(OUT) diff --git a/bsd/dev/usb/Kconfig b/bsd/dev/usb/Kconfig index 2bdac15f..6d365d5e 100644 --- a/bsd/dev/usb/Kconfig +++ b/bsd/dev/usb/Kconfig @@ -15,7 +15,7 @@ config DRIVERS_USB_HOST_DRIVER choice depends on DRIVERS_USB_HOST_DRIVER prompt "USB HCD" - default y + default DRIVERS_USB_HOST_EHCI help Enable EHCI for USB 2.0. Enable XHCI for USB 3.0 diff --git a/build.sh b/build.sh index be60ebf0..70ffc687 100755 --- a/build.sh +++ b/build.sh @@ -41,6 +41,7 @@ outdir=${8} ohos_version=${9} sysroot_path=${10} arch_cflags=${11} +device_path=${12} echo "${board_name}" "${device_company}" echo "sh param:" "$@" @@ -95,6 +96,10 @@ if [ "x" != "x${arch_cflags}" ]; then export ARCH_CFLAGS="${arch_cflags}" fi +export OUTDIR="${outdir}" +export PRODUCT_PATH="${product_path}" +export DEVICE_PATH="${device_path}" + main && \ -make clean OUTDIR="${outdir}" PRODUCT_PATH="${product_path}" && \ -make -j rootfs VERSION="${ohos_version}" OUTDIR="${outdir}" PRODUCT_PATH="${product_path}" +make clean && \ +make -j rootfs VERSION="${ohos_version}" diff --git a/net/Kconfig b/net/Kconfig index 36a9e16b..ca7f8458 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -17,7 +17,7 @@ config NET_LWIP_SACK choice depends on NET_LWIP_SACK prompt "Lwipsack" - default y + default NET_LWIP_SACK_2_1 help Enable Lwipsack for 2.x diff --git a/tools/build/mk/los_config.mk b/tools/build/mk/los_config.mk index c508de67..cbefe9c7 100644 --- a/tools/build/mk/los_config.mk +++ b/tools/build/mk/los_config.mk @@ -121,7 +121,7 @@ CXX_PATH = $(LITEOSTOPDIR)/lib/cxxstl JFFS_PATH = $(LITEOSTOPDIR)/fs/jffs2 LITEOS_SCRIPTPATH ?= $(LITEOSTOPDIR)/tools/scripts LITEOS_LIB_BIGODIR = $(OUT)/lib/obj -LITEOS_MENUCONFIG_H = $(LITEOSTOPDIR)/include/generated/autoconf.h +LITEOS_MENUCONFIG_H = $(LITEOSTOPDIR)/config.h LOSCFG_ENTRY_SRC = $(LITEOSTOPDIR)/kernel/common/los_config.c ### include variable @@ -668,7 +668,7 @@ LITEOS_COPTS_EXTRA_INTERWORK := $(LITEOS_COPTS_EXTRA) endif # kernel configuration macros -LITEOS_CMACRO += -imacros $(LITEOS_MENUCONFIG_H) +LITEOS_CMACRO += -imacros "$(LITEOS_MENUCONFIG_H)" ifneq ($(LOSCFG_COMPILER_CLANG_LLVM), y) LITEOS_LD_OPTS += -nostartfiles diff --git a/tools/menuconfig/conf b/tools/menuconfig/conf deleted file mode 100755 index 6f76e9d2..00000000 Binary files a/tools/menuconfig/conf and /dev/null differ diff --git a/tools/menuconfig/mconf b/tools/menuconfig/mconf deleted file mode 100755 index 92c695e0..00000000 Binary files a/tools/menuconfig/mconf and /dev/null differ