Daiki Ueno <u...@gnu.org> writes: > From c7e000ae818fd62ccabd806d78b4b6c28f6decc9 Mon Sep 17 00:00:00 2001 > From: Daiki Ueno <u...@gnu.org> > Date: Tue, 20 Jan 2015 15:34:36 +0900 > Subject: [PATCH 1/2] unitypes: fix build with installed libunistring > > The minimum version was not bumped after _UC_ATTRIBUTE_CONST and > _UC_ATTRIBUTE_PURE were added to unitypes.in.h. > * modules/unitypes (configure.ac): Bump minimum version to 0.9.4. > --- > ChangeLog | 7 +++++++ > modules/unitypes | 2 +- > 2 files changed, 8 insertions(+), 1 deletion(-)
Sorry, I realized that this was not enough. I got an error on Hydra, where libunistring 0.9.3 is installed on the host: In file included from x-perl.c:39:0: ../gnulib-lib/uniname.h: In function 'unicode_name_character': ../gnulib-lib/uniname.h:40:8: error: expected declaration specifiers before '_UC_ATTRIBUTE_PURE' _UC_ATTRIBUTE_PURE; This is because x-perl.c has the following includes: #include "unistr.h" #include "uniname.h" Since the unistr/base module's minimum libunistring version is 0.9.2, unistr.h is not generated (from unistr.in.h) and /usr/include/unistr.h is used. Then, from the system header, /usr/include/unitypes.h is included instead of ./unitypes.h. So, in the end, all the modules whose "Depends-on" contains "unitypes" need to bump the minimum libunistring version. That hadn't been exposed until the recent uniname update, because the uniname module's minimum libunistring version was behind 0.9.3. I've pushed the attached patch. I'll later try to write a script for checking the versions taking into account of the module dependencies. Regards, -- Daiki Ueno
>From ea6cb044ca0ab57045900a494a0e4ae39ed5372c Mon Sep 17 00:00:00 2001 From: Daiki Ueno <u...@gnu.org> Date: Tue, 20 Jan 2015 18:09:03 +0900 Subject: [PATCH] libunistring: bump version of unitypes dependants Due to the header file search order, all the headers which depend on unitypes.h need to be generated, when the preinstalled libunistring is older. * modules/unicase/base (configure.ac): Bump minimum version to 0.9.4. * modules/uniconv/base (configure.ac): Likewise. * modules/unilbrk/base (configure.ac): Likewise. * modules/uninorm/base (configure.ac): Likewise. * modules/unistdio/base (configure.ac): Likewise. * modules/unistr/base (configure.ac): Likewise. * modules/uniwbrk/base (configure.ac): Likewise. * modules/uniwidth/base (configure.ac): Likewise. --- ChangeLog | 16 ++++++++++++++++ modules/unicase/base | 2 +- modules/uniconv/base | 2 +- modules/unilbrk/base | 2 +- modules/uninorm/base | 2 +- modules/unistdio/base | 2 +- modules/unistr/base | 2 +- modules/uniwbrk/base | 2 +- modules/uniwidth/base | 2 +- 9 files changed, 24 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1054dec..e0c12d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,21 @@ 2015-01-20 Daiki Ueno <u...@gnu.org> + libunistring: bump version of unitypes dependants + Due to the header file search order, all the headers which depend + on unitypes.h need to be generated, when the preinstalled + libunistring is older. + * modules/unicase/base (configure.ac): Bump minimum version to + 0.9.4. + * modules/uniconv/base (configure.ac): Likewise. + * modules/unilbrk/base (configure.ac): Likewise. + * modules/uninorm/base (configure.ac): Likewise. + * modules/unistdio/base (configure.ac): Likewise. + * modules/unistr/base (configure.ac): Likewise. + * modules/uniwbrk/base (configure.ac): Likewise. + * modules/uniwidth/base (configure.ac): Likewise. + +2015-01-20 Daiki Ueno <u...@gnu.org> + unictype/category-none: fix link with libunistring Since _UC_CATEGORY_NONE is not a public symbol, it will be prefixed with "libstring_" when compiled as part of libunistring. diff --git a/modules/unicase/base b/modules/unicase/base index 2a63edf..4363f5f 100644 --- a/modules/unicase/base +++ b/modules/unicase/base @@ -11,7 +11,7 @@ uninorm/base stdbool configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9.1], [unicase.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [unicase.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNICASE_H) diff --git a/modules/uniconv/base b/modules/uniconv/base index bac2495..3037526 100644 --- a/modules/uniconv/base +++ b/modules/uniconv/base @@ -12,7 +12,7 @@ Depends-on: unitypes configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9], [uniconv.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniconv.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNICONV_H) diff --git a/modules/unilbrk/base b/modules/unilbrk/base index c2a690d..46b3ed8 100644 --- a/modules/unilbrk/base +++ b/modules/unilbrk/base @@ -10,7 +10,7 @@ unitypes localcharset configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9], [unilbrk.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [unilbrk.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNILBRK_H) diff --git a/modules/uninorm/base b/modules/uninorm/base index a83ec8b..d66df00 100644 --- a/modules/uninorm/base +++ b/modules/uninorm/base @@ -9,7 +9,7 @@ Depends-on: unitypes configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9], [uninorm.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [uninorm.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNINORM_H) diff --git a/modules/unistdio/base b/modules/unistdio/base index 18a47d0..34fe6f0 100644 --- a/modules/unistdio/base +++ b/modules/unistdio/base @@ -9,7 +9,7 @@ Depends-on: unitypes configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9], [unistdio.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistdio.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNISTDIO_H) diff --git a/modules/unistr/base b/modules/unistr/base index feac0a4..205f029 100644 --- a/modules/unistr/base +++ b/modules/unistr/base @@ -12,7 +12,7 @@ stdbool inline configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9.2], [unistr.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [unistr.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNISTR_H) diff --git a/modules/uniwbrk/base b/modules/uniwbrk/base index aafa172..d466a3e 100644 --- a/modules/uniwbrk/base +++ b/modules/uniwbrk/base @@ -9,7 +9,7 @@ Depends-on: unitypes configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9], [uniwbrk.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwbrk.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNIWBRK_H) diff --git a/modules/uniwidth/base b/modules/uniwidth/base index cc10d83..f0001fb 100644 --- a/modules/uniwidth/base +++ b/modules/uniwidth/base @@ -10,7 +10,7 @@ Depends-on: unitypes configure.ac: -gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h]) +gl_LIBUNISTRING_LIBHEADER([0.9.4], [uniwidth.h]) Makefile.am: BUILT_SOURCES += $(LIBUNISTRING_UNIWIDTH_H) -- 2.1.0