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




Reply via email to