Build with support for
library. This requires the
ICU4C package
- as well
- as
pkg-configpkg-config>>
to be installed. The minimum required version
- of
ICU4C is currently 4.6.
+ of
ICU4C is currently 4.2.
+
+
+ By default,
+ will be used to find the required compilation options. This is
+ supported for
ICU4C version 4.6 and later.
+ For older versions, or if
pkg-config is
+ not available, the variables ICU_CFLAGS
+ and ICU_LIBS can be specified
+ to configure, like in this example:
+./configure ... --with-icu ICU_CFLAGS='-I/some/where/include' ICU_LIBS='-L/some/where/lib -licui18n -licuuc -licudata'
+
+ (If
ICU4C is in the default search path
+ for the compiler, then you still need to specify a nonempty string in
+ order to avoid use of
pkg-config, for
+ example, ICU_CFLAGS=' '.)
/*
* Add keyword variants
+ *
+ * In ICU 4.2, ucol_getKeywordsForLocale() sometimes returns
+ * values that will not be accepted by uloc_toLanguageTag(). Skip
+ * loading keyword variants in that version. (Both
+ * ucol_getKeywordValuesForLocale() and uloc_toLanguageTag() are
+ * new in ICU 4.2, so older versions are not supported at all.)
+ *
+ * XXX We have no information about ICU 4.3 through 4.7, but we
+ * know the below works with 4.8.
*/
+#if U_ICU_VERSION_MAJOR_NUM > 4 || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM > 2)
status = U_ZERO_ERROR;
en = ucol_getKeywordValuesForLocale("collation", name, TRUE, &status);
if (U_FAILURE(status))
(errmsg("could not get keyword values for locale \"%s\": %s",
name, u_errorName(status))));
uenum_close(en);
+#endif /* ICU >4.2 */
}
}
#endif /* USE_ICU */