Переглянути джерело

Improve gettext integration

Having a BR2_NEEDS_GETTEXT option, as introduced by
54d64798e1e14b526c3cc1142961972cff9f1e8a isn't sufficient to express
the different kind of dependencies on gettext.

This commit, based on an idea by Peter Korsgaard, introduces two
different options :

 * BR2_NEEDS_GETTEXT, which is true as soon as the toolchain doesn't
   provide gettext itself (i.e, when the toolchain is uClibc based, be
   it an internal or external toolchain)

 * BR2_NEEDS_GETTEXT_IF_LOCALE, which is true when the toolchain
   doesn't provide gettext *and* locale support has been enabled in
   Buildroot.

A following commit adds some documentation that details how these
configuration variables should be used by packages.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni 15 роки тому
батько
коміт
4caf78882c
1 змінених файлів з 12 додано та 5 видалено
  1. 12 5
      toolchain/Config.in.2

+ 12 - 5
toolchain/Config.in.2

@@ -56,13 +56,20 @@ config BR2_ENABLE_LOCALE_WHITELIST
 	  will be available on the target - That purely depends on the
 	  will be available on the target - That purely depends on the
 	  support for that locale in the selected packages.
 	  support for that locale in the selected packages.
 
 
-# uClibc toolchains require a separatly-compiled gettext/libintl when
-# locale support is enabled. This isn't necessary with glibc
-#  toolchains as glibc includes gettext/libintl.
+# glibc and eglibc directly include gettext, so a separatly compiled
+# gettext isn't needed and shouldn't be built to avoid conflicts. Some
+# packages always need gettext, other packages only need gettext when
+# locale support is enabled. See the documentation for how packages
+# should rely on the following two options.
+
 config BR2_NEEDS_GETTEXT
 config BR2_NEEDS_GETTEXT
 	bool
 	bool
-	default y if (BR2_TOOLCHAIN_BUILDROOT && BR2_ENABLE_LOCALE)
-	default y if (BR2_TOOLCHAIN_EXTERNAL_UCLIBC && BR2_ENABLE_LOCALE)
+	default y if BR2_TOOLCHAIN_BUILDROOT
+	default y if BR2_TOOLCHAIN_EXTERNAL_UCLIBC
+
+config BR2_NEEDS_GETTEXT_IF_LOCALE
+	bool
+	default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)
 
 
 config BR2_USE_WCHAR
 config BR2_USE_WCHAR
 	bool "Enable WCHAR support"
 	bool "Enable WCHAR support"