浏览代码

linux: cpupower needs gettext

The cpupower linux tool needs gettext, always (even without locales).

We need to disable NLS, otherwise it tries to compile the .po files.
We also need to pass -lintl, otherwise it forgets to link with it
(because, the world is glibc-only, you did not know? And glibc does not
need we link with -lintl, so why would we? Oh, yes, we also reinvented
our super intelligent one-off Makefile rather than use one of the
standard buildsystems).

Fixes #9181:

      CC       utils/helpers/sysfs.o
    In file included from utils/helpers/amd.c:9:0: ./utils/helpers/helpers.h:13:21: fatal error: libintl.h: No such file or directory
     #include <libintl.h>
                         ^

Without NLS=false (yes, we could depend on host-gettext):

      MSGFMT   po/de.gmo
    make[3]: msgfmt: Command not found

Without LDFLAGS=-lintl:

      CC       cpupower
    ./utils/cpupower.o: In function `main':
    cpupower.c:(.text.startup+0x1a4): undefined reference to `libintl_textdomain'
    ./utils/idle_monitor/cpupower-monitor.o: In function `list_monitors':
    cpupower-monitor.c:(.text+0x5dc): undefined reference to `libintl_gettext'
    ./utils/cpupower-set.o: In function `cmd_set':
    cpupower-set.c:(.text+0x38): undefined reference to `libintl_textdomain'
    ./utils/cpupower-info.o: In function `cmd_info':
    cpupower-info.c:(.text+0x20): undefined reference to `libintl_textdomain'
    collect2: error: ld returned 1 exit status

Reported-by: Joergen Pihlflyckt <Jorgen.Pihlflyckt@ajeco.fi>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Joergen Pihlflyckt <Jorgen.Pihlflyckt@ajeco.fi>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN 9 年之前
父节点
当前提交
f55adea434
共有 2 个文件被更改,包括 9 次插入1 次删除
  1. 6 0
      linux/Config.tools.in
  2. 3 1
      linux/linux-tool-cpupower.mk

+ 6 - 0
linux/Config.tools.in

@@ -3,11 +3,17 @@ menu "Linux Kernel Tools"
 config BR2_LINUX_KERNEL_TOOL_CPUPOWER
 	bool "cpupower"
 	depends on !BR2_bfin # pciutils
+	depends on BR2_USE_WCHAR || !BR2_NEEDS_GETTEXT # gettext
 	select BR2_PACKAGE_PCIUTILS
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT
 	help
 	  cpupower is a collection of tools to examine and tune power
 	  saving related features of your processor.
 
+comment "cpupower needs a toolchain w/ wchar"
+	depends on !BR2_bfin
+	depends on !BR2_USE_WCHAR && BR2_NEEDS_GETTEXT
+
 config BR2_LINUX_KERNEL_TOOL_PERF
 	bool "perf"
 	help

+ 3 - 1
linux/linux-tool-cpupower.mk

@@ -6,10 +6,12 @@
 
 LINUX_TOOLS += cpupower
 
-CPUPOWER_DEPENDENCIES = pciutils
+CPUPOWER_DEPENDENCIES = pciutils $(if $(BR2_NEEDS_GETTEXT),gettext)
 
 CPUPOWER_MAKE_OPTS = CROSS=$(TARGET_CROSS) \
 	CPUFREQ_BENCH=false \
+	NLS=false \
+	$(if $(BR2_NEEDS_GETTEXT),LDFLAGS=-lintl) \
 	DEBUG=false
 
 define CPUPOWER_BUILD_CMDS