Building a testdir of all of Gnulib on a system which has libunistring 1.3 installed, I see this compilation error:
gcc -m64 -O2 -std=gnu23 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\" -DNO_XMALLOC -DEXEEXT=\"\" -I. -I../../gllib -I.. -DGNULIB_STRICT_CHECKING=1 -I/export/home/bruno/prefix64gcc/include -Wall -D_REENTRANT -fvisibility=hidden -g -O2 -MT unictype/joininggroup_byname.o -MD -MP -MF $depbase.Tpo -c -o unictype/joininggroup_byname.o ../../gllib/unictype/joininggroup_byname.c &&\ mv -f $depbase.Tpo $depbase.Po In file included from ../../gllib/unictype/joininggroup_byname.c:33: unictype/joininggroup_byname.gperf:200:94: error: 'UC_JOINING_GROUP_THIN_NOON' undeclared here (not in a function); did you mean 'UC_JOINING_GROUP_THIN_YEH'? gmake[4]: *** [Makefile:12227: unictype/joininggroup_byname.o] Error 1 The cause is that unictype.h has not been generated in the build tree, therefore the unictype.h that the compilation sees is the one from libunistring 1.3, which lacks the definition of UC_JOINING_GROUP_THIN_NOON. This patch fixes it. 2026-05-12 Bruno Haible <[email protected]> unictype/base: Fix compilation error on systems with libunistring 1.3. * modules/unictype/base (configure.ac): Omit generating unictype.h in the presence of libunistring >= 1.4, not >= 1.3. diff --git a/modules/unictype/base b/modules/unictype/base index 7a02c71985..ec00e674d4 100644 --- a/modules/unictype/base +++ b/modules/unictype/base @@ -12,7 +12,7 @@ unitypes-h bool configure.ac: -gl_LIBUNISTRING_LIBHEADER([1.3], [unictype.h]) +gl_LIBUNISTRING_LIBHEADER([1.4], [unictype.h]) gl_UNICTYPE_H gl_UNICTYPE_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P
