package/linux-tools: add support for building tmon
authorMarkus Mayer <mmayer@broadcom.com>
Tue, 18 Jul 2017 22:10:31 +0000 (15:10 -0700)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 19 Jul 2017 19:32:04 +0000 (21:32 +0200)
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
[Thomas:
 - tweak Config.in help text as provided by Markus
 - adjust commit log
 - add missing select BR2_PACKAGE_NCURSES
 - add missing dependency on host-pkgconf, used by the tmon Makefile
   to find ncurses
 - add logic to disable -fstack-protector when the toolchain doesn't
   have SSP support.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/linux-tools/Config.in
package/linux-tools/linux-tool-tmon.mk.in [new file with mode: 0644]

index 9d5bf7acc94dd9ddc836788952d3f815cf2963f1..e3ccd850f998e6372615db0256c3381c9023ddde 100644 (file)
@@ -77,4 +77,12 @@ comment "selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
        depends on BR2_USE_MMU
        depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 
+config BR2_PACKAGE_LINUX_TOOLS_TMON
+       bool "tmon"
+       select BR2_PACKAGE_LINUX_TOOLS
+       select BR2_PACKAGE_NCURSES
+       help
+         tmon is a terminal-based tool (using curses) that allows the
+         user to access thermal information about the system.
+
 endmenu
diff --git a/package/linux-tools/linux-tool-tmon.mk.in b/package/linux-tools/linux-tool-tmon.mk.in
new file mode 100644 (file)
index 0000000..15931c3
--- /dev/null
@@ -0,0 +1,37 @@
+################################################################################
+#
+# tmon
+#
+################################################################################
+
+LINUX_TOOLS += tmon
+
+TMON_DEPENDENCIES = host-pkgconf ncurses
+TMON_MAKE_OPTS = $(LINUX_MAKE_FLAGS) \
+       CC=$(TARGET_CC) \
+       PKG_CONFIG_PATH=$(STAGING_DIR)/usr/lib/pkgconfig
+
+ifeq ($(BR2_TOOLCHAIN_HAS_SSP),)
+define TMON_DISABLE_STACK_PROTECTOR
+       $(SED) 's%-fstack-protector%%' $(LINUX_DIR)/tools/thermal/tmon/Makefile
+endef
+endif
+
+define TMON_BUILD_CMDS
+       $(Q)if ! grep install $(LINUX_DIR)/tools/thermal/tmon/Makefile >/dev/null 2>&1 ; then \
+               echo "Your kernel version is too old and does not have the tmon tool." ; \
+               echo "At least kernel 3.13 must be used." ; \
+               exit 1 ; \
+       fi
+       $(TMON_DISABLE_STACK_PROTECTOR)
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
+               $(TMON_MAKE_OPTS) \
+               tmon
+endef
+
+define TMON_INSTALL_TARGET_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(LINUX_DIR)/tools \
+               $(TMON_MAKE_OPTS) \
+               INSTALL_ROOT=$(TARGET_DIR) \
+               tmon_install
+endef