> This gnulib-tool invocation > > $ ./gnulib-tool --create-testdir --dir=../testdir --single-configure \ > argv-iter unicase/u16-casecoll unicase/u32-casecoll unicase/u8-casecoll \ > uninorm/u16-normcoll uninorm/u32-normcoll uninorm/u8-normcoll \ > unistdio/u16-vasnprintf unistdio/u16-vasprintf unistdio/u16-vsnprintf \ > unistdio/u16-vsprintf unistdio/u32-vasnprintf unistdio/u32-vasprintf \ > unistdio/u32-vsnprintf unistdio/u32-vsprintf unistdio/u8-vasnprintf \ > unistdio/u8-vasprintf unistdio/u8-vsnprintf unistdio/u8-vsprintf \ > unistdio/ulc-vasnprintf unistdio/ulc-vasprintf unistdio/ulc-vsnprintf \ > unistdio/ulc-vsprintf
The same gnulib-tool invocation now produces a testdir that does not compile: terminal-gcc -mandroid ... ../../gltests/uninorm/decomposition.c ../../gltests/uninorm/decomposition.c:23:33: error: decomposition-table.h: No such file or directory ... The reason is that when we have a module dependency from module B to module A (A != B), module A may end up in gllib/ and module B in gltests/, therefore a #include reference from B to A must use the full relative file name. In other words, if A has a file unifoo/somefile.h, and B has a file unifoo/mainfile.c, then B must not contain #include "somefile.h" but instead must contain #include "unifoo/somefile.h". Here A = uninorm/decomposition-table and B = uninorm/decomposition. This patch fixes all the mistakes of the same kind that I could find. 2019-01-27 Bruno Haible <br...@clisp.org> Avoid build errors due to wrong references between modules. * lib/uninorm/canonical-decomposition.c: Include "uninorm/decomposition-table.h", not "decomposition-table.h". * lib/uninorm/decomposition.c: Likewise. * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h", not "decompose-internal.h". * lib/uninorm/u16-normalize.c: Likewise. * lib/uninorm/u32-normalize.c: Likewise. * lib/uninorm/uninorm-filter.c: Likewise. * lib/uninorm/nfkc.c: Likewise. * lib/uninorm/nfkd.c: Likewise. * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not "caseprop.h". * lib/unicase/u8-ct-totitle.c: Likewise. * lib/unicase/u8-prefix-context.c: Likewise. * lib/unicase/u8-suffix-context.c: Likewise. * lib/unicase/u16-casemap.c: Likewise. * lib/unicase/u16-ct-totitle.c: Likewise. * lib/unicase/u16-prefix-context.c: Likewise. * lib/unicase/u16-suffix-context.c: Likewise. * lib/unicase/u32-casemap.c: Likewise. * lib/unicase/u32-ct-totitle.c: Likewise. * lib/unicase/u32-prefix-context.c: Likewise. * lib/unicase/u32-suffix-context.c: Likewise. * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not "unicasemap.h". * lib/unicase/u8-toupper.c: Likewise. * lib/unicase/u8-ct-tolower.c: Likewise. * lib/unicase/u8-ct-toupper.c: Likewise. * lib/unicase/u16-tolower.c: Likewise. * lib/unicase/u16-toupper.c: Likewise. * lib/unicase/u16-ct-tolower.c: Likewise. * lib/unicase/u16-ct-toupper.c: Likewise. * lib/unicase/u32-tolower.c: Likewise. * lib/unicase/u32-toupper.c: Likewise. * lib/unicase/u32-ct-tolower.c: Likewise. * lib/unicase/u32-ct-toupper.c: Likewise. * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not "unicasemap.h", and "unicase/casefold.h", not "casefold.h". * lib/unicase/u16-ct-casefold.c: Likewise. * lib/unicase/u32-ct-casefold.c: Likewise. diff --git a/lib/unicase/u16-casemap.c b/lib/unicase/u16-casemap.c index dd0e3f3..e9d1011 100644 --- a/lib/unicase/u16-casemap.c +++ b/lib/unicase/u16-casemap.c @@ -27,7 +27,7 @@ #include "unistr.h" #include "unictype.h" #include "uninorm.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #include "unicase/special-casing.h" diff --git a/lib/unicase/u16-ct-casefold.c b/lib/unicase/u16-ct-casefold.c index 47de317..9b26f73 100644 --- a/lib/unicase/u16-ct-casefold.c +++ b/lib/unicase/u16-ct-casefold.c @@ -24,9 +24,9 @@ #include <stddef.h> #include <stdlib.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" -#include "casefold.h" +#include "unicase/casefold.h" #define FUNC u16_ct_casefold #define UNIT uint16_t diff --git a/lib/unicase/u16-ct-tolower.c b/lib/unicase/u16-ct-tolower.c index f7e5825..7c9f4f4 100644 --- a/lib/unicase/u16-ct-tolower.c +++ b/lib/unicase/u16-ct-tolower.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint16_t * diff --git a/lib/unicase/u16-ct-totitle.c b/lib/unicase/u16-ct-totitle.c index 39bacb6..935cc7c 100644 --- a/lib/unicase/u16-ct-totitle.c +++ b/lib/unicase/u16-ct-totitle.c @@ -29,7 +29,7 @@ #include "unictype.h" #include "uniwbrk.h" #include "uninorm.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #include "unicase/special-casing.h" diff --git a/lib/unicase/u16-ct-toupper.c b/lib/unicase/u16-ct-toupper.c index 3dec1a0..d46b4b8 100644 --- a/lib/unicase/u16-ct-toupper.c +++ b/lib/unicase/u16-ct-toupper.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint16_t * diff --git a/lib/unicase/u16-prefix-context.c b/lib/unicase/u16-prefix-context.c index eaa8454..59634a8 100644 --- a/lib/unicase/u16-prefix-context.c +++ b/lib/unicase/u16-prefix-context.c @@ -22,7 +22,7 @@ #include "unictype.h" #include "unistr.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #define FUNC1 u16_casing_prefix_context diff --git a/lib/unicase/u16-suffix-context.c b/lib/unicase/u16-suffix-context.c index d5776ae..bb388bd 100644 --- a/lib/unicase/u16-suffix-context.c +++ b/lib/unicase/u16-suffix-context.c @@ -22,7 +22,7 @@ #include "unictype.h" #include "unistr.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #define FUNC1 u16_casing_suffix_context diff --git a/lib/unicase/u16-tolower.c b/lib/unicase/u16-tolower.c index e111a20..89f62bd 100644 --- a/lib/unicase/u16-tolower.c +++ b/lib/unicase/u16-tolower.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint16_t * diff --git a/lib/unicase/u16-toupper.c b/lib/unicase/u16-toupper.c index 558a7c1..62bb3e2 100644 --- a/lib/unicase/u16-toupper.c +++ b/lib/unicase/u16-toupper.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint16_t * diff --git a/lib/unicase/u32-casemap.c b/lib/unicase/u32-casemap.c index 8c96895..3d965f4 100644 --- a/lib/unicase/u32-casemap.c +++ b/lib/unicase/u32-casemap.c @@ -27,7 +27,7 @@ #include "unistr.h" #include "unictype.h" #include "uninorm.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #include "unicase/special-casing.h" diff --git a/lib/unicase/u32-ct-casefold.c b/lib/unicase/u32-ct-casefold.c index 4bd9b4b..5c077e8 100644 --- a/lib/unicase/u32-ct-casefold.c +++ b/lib/unicase/u32-ct-casefold.c @@ -24,9 +24,9 @@ #include <stddef.h> #include <stdlib.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" -#include "casefold.h" +#include "unicase/casefold.h" #define FUNC u32_ct_casefold #define UNIT uint32_t diff --git a/lib/unicase/u32-ct-tolower.c b/lib/unicase/u32-ct-tolower.c index 3d3578c..998472d 100644 --- a/lib/unicase/u32-ct-tolower.c +++ b/lib/unicase/u32-ct-tolower.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint32_t * diff --git a/lib/unicase/u32-ct-totitle.c b/lib/unicase/u32-ct-totitle.c index 91563b0..3bc7ab1 100644 --- a/lib/unicase/u32-ct-totitle.c +++ b/lib/unicase/u32-ct-totitle.c @@ -29,7 +29,7 @@ #include "unictype.h" #include "uniwbrk.h" #include "uninorm.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #include "unicase/special-casing.h" diff --git a/lib/unicase/u32-ct-toupper.c b/lib/unicase/u32-ct-toupper.c index c2a1e3f..9cbd384 100644 --- a/lib/unicase/u32-ct-toupper.c +++ b/lib/unicase/u32-ct-toupper.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint32_t * diff --git a/lib/unicase/u32-prefix-context.c b/lib/unicase/u32-prefix-context.c index 2e2212e..5049cd0 100644 --- a/lib/unicase/u32-prefix-context.c +++ b/lib/unicase/u32-prefix-context.c @@ -22,7 +22,7 @@ #include "unictype.h" #include "unistr.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #define FUNC1 u32_casing_prefix_context diff --git a/lib/unicase/u32-suffix-context.c b/lib/unicase/u32-suffix-context.c index d4d2e1d..c239de8 100644 --- a/lib/unicase/u32-suffix-context.c +++ b/lib/unicase/u32-suffix-context.c @@ -22,7 +22,7 @@ #include "unictype.h" #include "unistr.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #define FUNC1 u32_casing_suffix_context diff --git a/lib/unicase/u32-tolower.c b/lib/unicase/u32-tolower.c index a8f76f2..b983aed 100644 --- a/lib/unicase/u32-tolower.c +++ b/lib/unicase/u32-tolower.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint32_t * diff --git a/lib/unicase/u32-toupper.c b/lib/unicase/u32-toupper.c index bf7bdd6..7c751c6 100644 --- a/lib/unicase/u32-toupper.c +++ b/lib/unicase/u32-toupper.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint32_t * diff --git a/lib/unicase/u8-casemap.c b/lib/unicase/u8-casemap.c index 2ef0386..341d2cd 100644 --- a/lib/unicase/u8-casemap.c +++ b/lib/unicase/u8-casemap.c @@ -27,7 +27,7 @@ #include "unistr.h" #include "unictype.h" #include "uninorm.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #include "unicase/special-casing.h" diff --git a/lib/unicase/u8-ct-casefold.c b/lib/unicase/u8-ct-casefold.c index 054a504..436da52 100644 --- a/lib/unicase/u8-ct-casefold.c +++ b/lib/unicase/u8-ct-casefold.c @@ -24,9 +24,9 @@ #include <stddef.h> #include <stdlib.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" -#include "casefold.h" +#include "unicase/casefold.h" #define FUNC u8_ct_casefold #define UNIT uint8_t diff --git a/lib/unicase/u8-ct-tolower.c b/lib/unicase/u8-ct-tolower.c index 00314c2..63fa1ff 100644 --- a/lib/unicase/u8-ct-tolower.c +++ b/lib/unicase/u8-ct-tolower.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint8_t * diff --git a/lib/unicase/u8-ct-totitle.c b/lib/unicase/u8-ct-totitle.c index d220395..74de537 100644 --- a/lib/unicase/u8-ct-totitle.c +++ b/lib/unicase/u8-ct-totitle.c @@ -29,7 +29,7 @@ #include "unictype.h" #include "uniwbrk.h" #include "uninorm.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #include "unicase/special-casing.h" diff --git a/lib/unicase/u8-ct-toupper.c b/lib/unicase/u8-ct-toupper.c index 414760f..8603a3c 100644 --- a/lib/unicase/u8-ct-toupper.c +++ b/lib/unicase/u8-ct-toupper.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint8_t * diff --git a/lib/unicase/u8-prefix-context.c b/lib/unicase/u8-prefix-context.c index 4e7c2be..0f32d9c 100644 --- a/lib/unicase/u8-prefix-context.c +++ b/lib/unicase/u8-prefix-context.c @@ -22,7 +22,7 @@ #include "unictype.h" #include "unistr.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #define FUNC1 u8_casing_prefix_context diff --git a/lib/unicase/u8-suffix-context.c b/lib/unicase/u8-suffix-context.c index f891db2..b5a46ed 100644 --- a/lib/unicase/u8-suffix-context.c +++ b/lib/unicase/u8-suffix-context.c @@ -22,7 +22,7 @@ #include "unictype.h" #include "unistr.h" -#include "caseprop.h" +#include "unicase/caseprop.h" #include "context.h" #define FUNC1 u8_casing_suffix_context diff --git a/lib/unicase/u8-tolower.c b/lib/unicase/u8-tolower.c index 087c078..b2f0085 100644 --- a/lib/unicase/u8-tolower.c +++ b/lib/unicase/u8-tolower.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint8_t * diff --git a/lib/unicase/u8-toupper.c b/lib/unicase/u8-toupper.c index f2fd6a7..99d6ef2 100644 --- a/lib/unicase/u8-toupper.c +++ b/lib/unicase/u8-toupper.c @@ -22,7 +22,7 @@ #include <stddef.h> -#include "unicasemap.h" +#include "unicase/unicasemap.h" #include "unicase/special-casing.h" uint8_t * diff --git a/lib/uninorm/canonical-decomposition.c b/lib/uninorm/canonical-decomposition.c index b20ca02..ecd3bb9 100644 --- a/lib/uninorm/canonical-decomposition.c +++ b/lib/uninorm/canonical-decomposition.c @@ -22,7 +22,7 @@ #include <stdlib.h> -#include "decomposition-table.h" +#include "uninorm/decomposition-table.h" int uc_canonical_decomposition (ucs4_t uc, ucs4_t *decomposition) diff --git a/lib/uninorm/decomposition.c b/lib/uninorm/decomposition.c index 5d622a9..a0e6cfc 100644 --- a/lib/uninorm/decomposition.c +++ b/lib/uninorm/decomposition.c @@ -20,7 +20,7 @@ /* Specification. */ #include "uninorm.h" -#include "decomposition-table.h" +#include "uninorm/decomposition-table.h" int uc_decomposition (ucs4_t uc, int *decomp_tag, ucs4_t *decomposition) diff --git a/lib/uninorm/nfkc.c b/lib/uninorm/nfkc.c index 35f43d9..b41e266 100644 --- a/lib/uninorm/nfkc.c +++ b/lib/uninorm/nfkc.c @@ -21,7 +21,7 @@ #include "uninorm.h" #include "normalize-internal.h" -#include "decompose-internal.h" +#include "uninorm/decompose-internal.h" const struct unicode_normalization_form uninorm_nfkc = { diff --git a/lib/uninorm/nfkd.c b/lib/uninorm/nfkd.c index d34ff6f..c98492c 100644 --- a/lib/uninorm/nfkd.c +++ b/lib/uninorm/nfkd.c @@ -21,7 +21,7 @@ #include "uninorm.h" #include "normalize-internal.h" -#include "decompose-internal.h" +#include "uninorm/decompose-internal.h" const struct unicode_normalization_form uninorm_nfkd = { diff --git a/lib/uninorm/u16-normalize.c b/lib/uninorm/u16-normalize.c index 5f634ed..4319f64 100644 --- a/lib/uninorm/u16-normalize.c +++ b/lib/uninorm/u16-normalize.c @@ -28,7 +28,7 @@ #include "unistr.h" #include "unictype.h" #include "normalize-internal.h" -#include "decompose-internal.h" +#include "uninorm/decompose-internal.h" #define FUNC u16_normalize #define UNIT uint16_t diff --git a/lib/uninorm/u32-normalize.c b/lib/uninorm/u32-normalize.c index b7ee8c0..20d1479 100644 --- a/lib/uninorm/u32-normalize.c +++ b/lib/uninorm/u32-normalize.c @@ -28,7 +28,7 @@ #include "unistr.h" #include "unictype.h" #include "normalize-internal.h" -#include "decompose-internal.h" +#include "uninorm/decompose-internal.h" #define FUNC u32_normalize #define UNIT uint32_t diff --git a/lib/uninorm/u8-normalize.c b/lib/uninorm/u8-normalize.c index a5ee06a..fe530ac 100644 --- a/lib/uninorm/u8-normalize.c +++ b/lib/uninorm/u8-normalize.c @@ -28,7 +28,7 @@ #include "unistr.h" #include "unictype.h" #include "normalize-internal.h" -#include "decompose-internal.h" +#include "uninorm/decompose-internal.h" #define FUNC u8_normalize #define UNIT uint8_t diff --git a/lib/uninorm/uninorm-filter.c b/lib/uninorm/uninorm-filter.c index 73145da..e1933c7 100644 --- a/lib/uninorm/uninorm-filter.c +++ b/lib/uninorm/uninorm-filter.c @@ -27,7 +27,7 @@ #include "unictype.h" #include "normalize-internal.h" -#include "decompose-internal.h" +#include "uninorm/decompose-internal.h" struct uninorm_filter