From 4be488081b917f98a2fd3e2766324043649cca6e Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 18 May 2017 12:54:51 +0200 Subject: [PATCH] unicase/special-casing: Fix incompatibility with gperf-3.0.4. * lib/unicase/special-casing.in.h: Renamed from lib/unicase/special-casing.h. * modules/unicase/special-casing (Files): Add lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h. (Makefile.am): Add rule for generating unicase/special-casing.h. Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly. * lib/unicase/special-casing.c: Include "unicase/special-casing.h", not "special-casing.h". * lib/unicase/u*.c: Likewise. --- ChangeLog | 14 ++++++++++++++ lib/unicase/special-casing.c | 2 +- .../{special-casing.h => special-casing.in.h} | 0 lib/unicase/u16-casemap.c | 2 +- lib/unicase/u16-ct-casefold.c | 2 +- lib/unicase/u16-ct-tolower.c | 2 +- lib/unicase/u16-ct-totitle.c | 2 +- lib/unicase/u16-ct-toupper.c | 2 +- lib/unicase/u16-tolower.c | 2 +- lib/unicase/u16-toupper.c | 2 +- lib/unicase/u32-casemap.c | 2 +- lib/unicase/u32-ct-casefold.c | 2 +- lib/unicase/u32-ct-tolower.c | 2 +- lib/unicase/u32-ct-totitle.c | 2 +- lib/unicase/u32-ct-toupper.c | 2 +- lib/unicase/u32-tolower.c | 2 +- lib/unicase/u32-toupper.c | 2 +- lib/unicase/u8-casemap.c | 2 +- lib/unicase/u8-ct-casefold.c | 2 +- lib/unicase/u8-ct-tolower.c | 2 +- lib/unicase/u8-ct-totitle.c | 2 +- lib/unicase/u8-ct-toupper.c | 2 +- lib/unicase/u8-tolower.c | 2 +- lib/unicase/u8-toupper.c | 2 +- modules/unicase/special-casing | 13 ++++++++++++- 25 files changed, 48 insertions(+), 23 deletions(-) rename lib/unicase/{special-casing.h => special-casing.in.h} (100%) diff --git a/ChangeLog b/ChangeLog index 92ced6d93b..01e99d9d69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2017-05-18 Bruno Haible + + unicase/special-casing: Fix incompatibility with gperf-3.0.4 + (regression from 2017-02-13). + * lib/unicase/special-casing.in.h: Renamed from + lib/unicase/special-casing.h. + * modules/unicase/special-casing (Files): Add + lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h. + (Makefile.am): Add rule for generating unicase/special-casing.h. + Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly. + * lib/unicase/special-casing.c: Include "unicase/special-casing.h", + not "special-casing.h". + * lib/unicase/u*.c: Likewise. + 2017-05-17 Bruno Haible README: Don't ask people to read a TeXinfo file. diff --git a/lib/unicase/special-casing.c b/lib/unicase/special-casing.c index 029c5782d7..384bb712d9 100644 --- a/lib/unicase/special-casing.c +++ b/lib/unicase/special-casing.c @@ -18,7 +18,7 @@ #include /* Specification. */ -#include "special-casing.h" +#include "unicase/special-casing.h" #include diff --git a/lib/unicase/special-casing.h b/lib/unicase/special-casing.in.h similarity index 100% rename from lib/unicase/special-casing.h rename to lib/unicase/special-casing.in.h diff --git a/lib/unicase/u16-casemap.c b/lib/unicase/u16-casemap.c index aec4dd698d..3ab53883d6 100644 --- a/lib/unicase/u16-casemap.c +++ b/lib/unicase/u16-casemap.c @@ -29,7 +29,7 @@ #include "uninorm.h" #include "caseprop.h" #include "context.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #define FUNC u16_casemap #define UNIT uint16_t diff --git a/lib/unicase/u16-ct-casefold.c b/lib/unicase/u16-ct-casefold.c index 1e01d75505..71cbf5582d 100644 --- a/lib/unicase/u16-ct-casefold.c +++ b/lib/unicase/u16-ct-casefold.c @@ -25,7 +25,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #include "casefold.h" #define FUNC u16_ct_casefold diff --git a/lib/unicase/u16-ct-tolower.c b/lib/unicase/u16-ct-tolower.c index 76f4be2ea9..9eea5e703c 100644 --- a/lib/unicase/u16-ct-tolower.c +++ b/lib/unicase/u16-ct-tolower.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint16_t * u16_ct_tolower (const uint16_t *s, size_t n, diff --git a/lib/unicase/u16-ct-totitle.c b/lib/unicase/u16-ct-totitle.c index e369462c3b..158295f0cf 100644 --- a/lib/unicase/u16-ct-totitle.c +++ b/lib/unicase/u16-ct-totitle.c @@ -31,7 +31,7 @@ #include "uninorm.h" #include "caseprop.h" #include "context.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #define FUNC u16_ct_totitle #define UNIT uint16_t diff --git a/lib/unicase/u16-ct-toupper.c b/lib/unicase/u16-ct-toupper.c index b7f188d8b9..40441a1019 100644 --- a/lib/unicase/u16-ct-toupper.c +++ b/lib/unicase/u16-ct-toupper.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint16_t * u16_ct_toupper (const uint16_t *s, size_t n, diff --git a/lib/unicase/u16-tolower.c b/lib/unicase/u16-tolower.c index a59c3ed110..1477c182d3 100644 --- a/lib/unicase/u16-tolower.c +++ b/lib/unicase/u16-tolower.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint16_t * u16_tolower (const uint16_t *s, size_t n, const char *iso639_language, diff --git a/lib/unicase/u16-toupper.c b/lib/unicase/u16-toupper.c index ccc9df78b7..87ad89d2d4 100644 --- a/lib/unicase/u16-toupper.c +++ b/lib/unicase/u16-toupper.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint16_t * u16_toupper (const uint16_t *s, size_t n, const char *iso639_language, diff --git a/lib/unicase/u32-casemap.c b/lib/unicase/u32-casemap.c index 2a03ac3299..b2411eb2d2 100644 --- a/lib/unicase/u32-casemap.c +++ b/lib/unicase/u32-casemap.c @@ -29,7 +29,7 @@ #include "uninorm.h" #include "caseprop.h" #include "context.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #define FUNC u32_casemap #define UNIT uint32_t diff --git a/lib/unicase/u32-ct-casefold.c b/lib/unicase/u32-ct-casefold.c index 75fab2ed28..7d58aa52e6 100644 --- a/lib/unicase/u32-ct-casefold.c +++ b/lib/unicase/u32-ct-casefold.c @@ -25,7 +25,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #include "casefold.h" #define FUNC u32_ct_casefold diff --git a/lib/unicase/u32-ct-tolower.c b/lib/unicase/u32-ct-tolower.c index a89a9e6f06..8daf165ccf 100644 --- a/lib/unicase/u32-ct-tolower.c +++ b/lib/unicase/u32-ct-tolower.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint32_t * u32_ct_tolower (const uint32_t *s, size_t n, diff --git a/lib/unicase/u32-ct-totitle.c b/lib/unicase/u32-ct-totitle.c index 1b5fc42765..a9ea73f17e 100644 --- a/lib/unicase/u32-ct-totitle.c +++ b/lib/unicase/u32-ct-totitle.c @@ -31,7 +31,7 @@ #include "uninorm.h" #include "caseprop.h" #include "context.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #define FUNC u32_ct_totitle #define UNIT uint32_t diff --git a/lib/unicase/u32-ct-toupper.c b/lib/unicase/u32-ct-toupper.c index ce26da9ba6..4411dbafc4 100644 --- a/lib/unicase/u32-ct-toupper.c +++ b/lib/unicase/u32-ct-toupper.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint32_t * u32_ct_toupper (const uint32_t *s, size_t n, diff --git a/lib/unicase/u32-tolower.c b/lib/unicase/u32-tolower.c index 3a105e3542..7d2aced87c 100644 --- a/lib/unicase/u32-tolower.c +++ b/lib/unicase/u32-tolower.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint32_t * u32_tolower (const uint32_t *s, size_t n, const char *iso639_language, diff --git a/lib/unicase/u32-toupper.c b/lib/unicase/u32-toupper.c index f5832db4fd..d93291da7f 100644 --- a/lib/unicase/u32-toupper.c +++ b/lib/unicase/u32-toupper.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint32_t * u32_toupper (const uint32_t *s, size_t n, const char *iso639_language, diff --git a/lib/unicase/u8-casemap.c b/lib/unicase/u8-casemap.c index 7f1133342b..ca1b18a64b 100644 --- a/lib/unicase/u8-casemap.c +++ b/lib/unicase/u8-casemap.c @@ -29,7 +29,7 @@ #include "uninorm.h" #include "caseprop.h" #include "context.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #define FUNC u8_casemap #define UNIT uint8_t diff --git a/lib/unicase/u8-ct-casefold.c b/lib/unicase/u8-ct-casefold.c index b22f245ae4..5b64cf04c8 100644 --- a/lib/unicase/u8-ct-casefold.c +++ b/lib/unicase/u8-ct-casefold.c @@ -25,7 +25,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #include "casefold.h" #define FUNC u8_ct_casefold diff --git a/lib/unicase/u8-ct-tolower.c b/lib/unicase/u8-ct-tolower.c index 169dc91ea8..aff70dd9ce 100644 --- a/lib/unicase/u8-ct-tolower.c +++ b/lib/unicase/u8-ct-tolower.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint8_t * u8_ct_tolower (const uint8_t *s, size_t n, diff --git a/lib/unicase/u8-ct-totitle.c b/lib/unicase/u8-ct-totitle.c index cdee074c90..b74cc27d0b 100644 --- a/lib/unicase/u8-ct-totitle.c +++ b/lib/unicase/u8-ct-totitle.c @@ -31,7 +31,7 @@ #include "uninorm.h" #include "caseprop.h" #include "context.h" -#include "special-casing.h" +#include "unicase/special-casing.h" #define FUNC u8_ct_totitle #define UNIT uint8_t diff --git a/lib/unicase/u8-ct-toupper.c b/lib/unicase/u8-ct-toupper.c index f6d9d76262..7ddb046ebe 100644 --- a/lib/unicase/u8-ct-toupper.c +++ b/lib/unicase/u8-ct-toupper.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint8_t * u8_ct_toupper (const uint8_t *s, size_t n, diff --git a/lib/unicase/u8-tolower.c b/lib/unicase/u8-tolower.c index 0e383792a6..9681bd591e 100644 --- a/lib/unicase/u8-tolower.c +++ b/lib/unicase/u8-tolower.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint8_t * u8_tolower (const uint8_t *s, size_t n, const char *iso639_language, diff --git a/lib/unicase/u8-toupper.c b/lib/unicase/u8-toupper.c index 18b899d4cb..6ddad4493a 100644 --- a/lib/unicase/u8-toupper.c +++ b/lib/unicase/u8-toupper.c @@ -23,7 +23,7 @@ #include #include "unicasemap.h" -#include "special-casing.h" +#include "unicase/special-casing.h" uint8_t * u8_toupper (const uint8_t *s, size_t n, const char *iso639_language, diff --git a/modules/unicase/special-casing b/modules/unicase/special-casing index 0f863a363d..a4a7fcf4c1 100644 --- a/modules/unicase/special-casing +++ b/modules/unicase/special-casing @@ -2,7 +2,7 @@ Description: Special casing table. Files: -lib/unicase/special-casing.h +lib/unicase/special-casing.in.h lib/unicase/special-casing.c lib/unicase/special-casing-table.gperf @@ -22,6 +22,17 @@ MOSTLYCLEANFILES += unicase/special-casing-table.h-t MAINTAINERCLEANFILES += unicase/special-casing-table.h EXTRA_DIST += unicase/special-casing-table.h +# Generate special-casing.h with a declaration that depends on the gperf version. +unicase/special-casing.h: unicase/special-casing.in.h unicase/special-casing-table.h + $(AM_V_GEN)rm -f $@-t $@ && \ + declaration=`grep '^gl_unicase_special_lookup' $(srcdir)/unicase/special-casing-table.h | sed -e 's/register //g'` && \ + { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ + sed -e "/gl_unicase_special_lookup/s/gl_unicase_special_lookup.*/$${declaration};/" $(srcdir)/unicase/special-casing.in.h; \ + } > $@-t && \ + mv -f $@-t $@ +BUILT_SOURCES += unicase/special-casing.h +MOSTLYCLEANFILES += unicase/special-casing.h unicase/special-casing.h-t + Include: "unicase/special-casing.h" -- 2.39.5