linux: cpupower needs gettext
authorYann E. MORIN <yann.morin.1998@free.fr>
Fri, 19 Aug 2016 09:09:53 +0000 (11:09 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Fri, 19 Aug 2016 09:26:43 +0000 (11:26 +0200)
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>
linux/Config.tools.in
linux/linux-tool-cpupower.mk

index 09bcfabf151686a1f2b712f0c4e5c7932ced2a9b..5ada98d9e85ebf8f32b9b764b1a971d62b64826e 100644 (file)
@@ -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
index 4551cda1f1bf5be900a653bcc2fe2b66ccf49ccd..095a5efad13befe4a745b0b3347ac4c225710d23 100644 (file)
@@ -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