summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2018-06-09 09:27:56 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-06-11 22:06:36 +0200
commit526dddf4c3493a7b7732d9bd0aab2d3e22b3154a (patch)
treef7c4008ee722af799da9bb319a30a88fbe76cbdc /scripts
parent23ee83f42f947a7f9d725c71f638f7c9bacc93c3 (diff)
downloadbarebox-526dddf4c3493a7b7732d9bd0aab2d3e22b3154a.tar.gz
barebox-526dddf4c3493a7b7732d9bd0aab2d3e22b3154a.tar.xz
scripts: create a separate section for host tools
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@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/Kconfig51
-rw-r--r--scripts/Makefile6
-rw-r--r--scripts/imx/Kconfig4
3 files changed, 56 insertions, 5 deletions
diff --git a/scripts/Kconfig b/scripts/Kconfig
new file mode 100644
index 0000000000..14a577ac4f
--- /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 8eda41e13b..59d22e18bd 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 fda9c639c1..ef83fa14dd 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