浏览代码

package/linux-tools: add support for building tmon

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>
Markus Mayer 8 年之前
父节点
当前提交
e1779ef23c
共有 2 个文件被更改,包括 45 次插入0 次删除
  1. 8 0
      package/linux-tools/Config.in
  2. 37 0
      package/linux-tools/linux-tool-tmon.mk.in

+ 8 - 0
package/linux-tools/Config.in

@@ -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

+ 37 - 0
package/linux-tools/linux-tool-tmon.mk.in

@@ -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