[PATCH] scripts: create a separate section for host tools

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Sat Jun 9 00:27:56 PDT 2018


This allows to enable host tools even if they are not needed for the
current configuration to improve compile coverage and simplify packaging
these tools. The conversion doesn't cover all tools available but can be
extended later.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
---
 Kconfig                    |  2 ++
 arch/arm/Kconfig           |  1 -
 arch/arm/mach-omap/Kconfig |  6 -----
 scripts/Kconfig            | 51 ++++++++++++++++++++++++++++++++++++++
 scripts/Makefile           |  6 ++---
 scripts/imx/Kconfig        |  4 +--
 6 files changed, 58 insertions(+), 12 deletions(-)
 create mode 100644 scripts/Kconfig

diff --git a/Kconfig b/Kconfig
index 53d4f5a276b7..197dd1c4b3ef 100644
--- a/Kconfig
+++ b/Kconfig
@@ -9,3 +9,5 @@ config SRCARCH
 	option env="SRCARCH"
 
 source "arch/$SRCARCH/Kconfig"
+
+source "scripts/Kconfig"
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 37cde0c0c527..c1a89e185d5c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -265,7 +265,6 @@ source arch/arm/mach-ep93xx/Kconfig
 source arch/arm/mach-highbank/Kconfig
 source arch/arm/mach-imx/Kconfig
 source arch/arm/mach-mxs/Kconfig
-source scripts/imx/Kconfig
 source arch/arm/mach-mvebu/Kconfig
 source arch/arm/mach-netx/Kconfig
 source arch/arm/mach-nomadik/Kconfig
diff --git a/arch/arm/mach-omap/Kconfig b/arch/arm/mach-omap/Kconfig
index e8fc4b843a1b..c451cf0d47fd 100644
--- a/arch/arm/mach-omap/Kconfig
+++ b/arch/arm/mach-omap/Kconfig
@@ -138,12 +138,6 @@ config OMAP3_USBBOOT
 	  which is already initialized by the ROM code. Use the omap3-usb-loader
 	  tool selectable below to upload images.
 
-config OMAP3_USB_LOADER
-	bool "enable omap3 USB loader host tool"
-	depends on ARCH_OMAP3
-	help
-	  Say Y here to build the omap3 usb loader tool.
-
 config OMAP_SERIALBOOT
 	bool "enable booting from serial"
 	select XYMODEM
diff --git a/scripts/Kconfig b/scripts/Kconfig
new file mode 100644
index 000000000000..14a577ac4f8b
--- /dev/null
+++ b/scripts/Kconfig
@@ -0,0 +1,51 @@
+menu "Host Tools"
+
+config COMPILE_HOST_TOOLS
+	bool "Allow to enable unused host tools"
+	help
+	  Usually the needed host tools are selected (or selectable) depending
+	  on some config options. If you say yes here, the host tools that are
+	  not needed can be selected, too.
+
+	  This is usefull for compile coverage testing and for packaging the
+	  host tools.
+
+source scripts/imx/Kconfig
+
+config MVEBU_HOSTTOOLS
+	bool "mvebu hosttools" if COMPILE_HOST_TOOLS
+	depends on ARCH_MVEBU || COMPILE_HOST_TOOLS
+	default y if ARCH_MVEBU
+	help
+	  This enables building the tools kwbimage to create an image suitable
+	  for Marvell mvebu machines and kwboot to boot via UART.
+
+config MXS_HOSTTOOLS
+	bool "mxs hosttools" if COMPILE_HOST_TOOLS
+	depends on ARCH_MXS || COMPILE_HOST_TOOLS
+	default y if ARCH_MXS
+	help
+	  This builds the tools mxsimage and mxsboot which are needed to
+	  create bootable image files for mxs. You need openssl development
+	  files to compile this tool.
+
+config OMAP3_USB_LOADER
+	bool "omap3 USB loader"
+	depends on ARCH_OMAP3 || COMPILE_HOST_TOOLS
+	help
+	  Say Y here to build the omap3 usb loader tool.
+
+	  You need libusb-1.0 to compile this tool.
+
+config OMAP4_HOSTTOOL_USBBOOT
+	bool "omap4 usbboot"
+	depends on (ARCH_OMAP4 && !MMU) || COMPILE_HOST_TOOLS
+	default y if OMAP4_USBBOOT
+	help
+	  Say Y here to build the omap4 usb loader tool.
+	  Note that you need to enable OMAP4_USBBOOT to create an image
+	  suitable to boot using this tool.
+
+	  You need libusb-1.0 to compile this tool.
+
+endmenu
diff --git a/scripts/Makefile b/scripts/Makefile
index 8eda41e13b13..59d22e18bdd1 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -12,14 +12,14 @@ hostprogs-y                      += bareboxcrc32
 hostprogs-y                      += kernel-install
 hostprogs-$(CONFIG_IMD)          += bareboximd
 hostprogs-$(CONFIG_KALLSYMS)     += kallsyms
-hostprogs-$(CONFIG_ARCH_MVEBU)   += kwbimage kwboot
+hostprogs-$(CONFIG_MVEBU_HOSTTOOLS) += kwbimage kwboot
 hostprogs-$(CONFIG_ARCH_NETX)    += gen_netx_image
 hostprogs-$(CONFIG_ARCH_OMAP)    += omap_signGP mk-omap-image
 hostprogs-$(CONFIG_ARCH_S5PCxx)  += s5p_cksum
 hostprogs-$(CONFIG_ARCH_DAVINCI) += mkublheader
 hostprogs-$(CONFIG_ARCH_ZYNQ)	 += zynq_mkimage
 hostprogs-$(CONFIG_ARCH_SOCFPGA) += socfpga_mkimage
-hostprogs-$(CONFIG_ARCH_MXS)     += mxsimage mxsboot
+hostprogs-$(CONFIG_MXS_HOSTTOOLS)+= mxsimage mxsboot
 HOSTCFLAGS += -I$(srctree)/scripts/include/
 HOSTLOADLIBES_mxsimage  = `pkg-config --libs openssl`
 HOSTCFLAGS_omap3-usb-loader.o = `pkg-config --cflags libusb-1.0`
@@ -27,7 +27,7 @@ HOSTLOADLIBES_omap3-usb-loader  = `pkg-config --libs libusb-1.0`
 hostprogs-$(CONFIG_OMAP3_USB_LOADER)  += omap3-usb-loader
 HOSTCFLAGS_omap4_usbboot.o = `pkg-config --cflags libusb-1.0`
 HOSTLOADLIBES_omap4_usbboot = -lpthread `pkg-config --libs libusb-1.0`
-hostprogs-$(CONFIG_OMAP4_USBBOOT) += omap4_usbboot
+hostprogs-$(CONFIG_OMAP4_HOSTTOOL_USBBOOT) += omap4_usbboot
 
 subdir-y			+= mod
 subdir-y			+= imx
diff --git a/scripts/imx/Kconfig b/scripts/imx/Kconfig
index fda9c639c1d4..ef83fa14dd14 100644
--- a/scripts/imx/Kconfig
+++ b/scripts/imx/Kconfig
@@ -1,6 +1,6 @@
 config ARCH_IMX_USBLOADER
-	depends on ARCH_MXS || ARCH_IMX
-	bool "compile imx-usb-loader"
+	depends on ARCH_MXS || ARCH_IMX || COMPILE_HOST_TOOLS
+	bool "imx-usb-loader"
 	help
 	  imx-usb-loader is a tool to upload and start imximages to an i.MX SoC
 	  in ROM boot mode. It requires libusb, so make sure you have the libusb
-- 
2.17.1




More information about the barebox mailing list