changeset 13388:9ef3893d2c73

Don't use AC_LIBOBJ with file names in subdirectories.
author Bruno Haible <bruno@clisp.org>
date Fri, 04 Jun 2010 00:21:14 +0200
parents c8df5a4f551f
children 332bfb30798b
files ChangeLog NEWS m4/libunistring-base.m4 m4/libunistring.m4 modules/unicase/empty-prefix-context modules/unicase/empty-suffix-context modules/unicase/locale-language modules/unicase/tolower modules/unicase/totitle modules/unicase/toupper modules/unicase/u16-casecmp modules/unicase/u16-casecoll modules/unicase/u16-casefold modules/unicase/u16-casexfrm modules/unicase/u16-ct-casefold modules/unicase/u16-ct-tolower modules/unicase/u16-ct-totitle modules/unicase/u16-ct-toupper modules/unicase/u16-is-cased modules/unicase/u16-is-casefolded modules/unicase/u16-is-lowercase modules/unicase/u16-is-titlecase modules/unicase/u16-is-uppercase modules/unicase/u16-prefix-context modules/unicase/u16-suffix-context modules/unicase/u16-tolower modules/unicase/u16-totitle modules/unicase/u16-toupper modules/unicase/u32-casecmp modules/unicase/u32-casecoll modules/unicase/u32-casefold modules/unicase/u32-casexfrm modules/unicase/u32-ct-casefold modules/unicase/u32-ct-tolower modules/unicase/u32-ct-totitle modules/unicase/u32-ct-toupper modules/unicase/u32-is-cased modules/unicase/u32-is-casefolded modules/unicase/u32-is-lowercase modules/unicase/u32-is-titlecase modules/unicase/u32-is-uppercase modules/unicase/u32-prefix-context modules/unicase/u32-suffix-context modules/unicase/u32-tolower modules/unicase/u32-totitle modules/unicase/u32-toupper modules/unicase/u8-casecmp modules/unicase/u8-casecoll modules/unicase/u8-casefold modules/unicase/u8-casexfrm modules/unicase/u8-ct-casefold modules/unicase/u8-ct-tolower modules/unicase/u8-ct-totitle modules/unicase/u8-ct-toupper modules/unicase/u8-is-cased modules/unicase/u8-is-casefolded modules/unicase/u8-is-lowercase modules/unicase/u8-is-titlecase modules/unicase/u8-is-uppercase modules/unicase/u8-prefix-context modules/unicase/u8-suffix-context modules/unicase/u8-tolower modules/unicase/u8-totitle modules/unicase/u8-toupper modules/unicase/ulc-casecmp modules/unicase/ulc-casecoll modules/unicase/ulc-casexfrm modules/uniconv/u16-conv-from-enc modules/uniconv/u16-conv-to-enc modules/uniconv/u16-strconv-from-enc modules/uniconv/u16-strconv-from-locale modules/uniconv/u16-strconv-to-enc modules/uniconv/u16-strconv-to-locale modules/uniconv/u32-conv-from-enc modules/uniconv/u32-conv-to-enc modules/uniconv/u32-strconv-from-enc modules/uniconv/u32-strconv-from-locale modules/uniconv/u32-strconv-to-enc modules/uniconv/u32-strconv-to-locale modules/uniconv/u8-conv-from-enc modules/uniconv/u8-conv-to-enc modules/uniconv/u8-strconv-from-enc modules/uniconv/u8-strconv-from-locale modules/uniconv/u8-strconv-to-enc modules/uniconv/u8-strconv-to-locale modules/unictype/bidicategory-byname modules/unictype/bidicategory-name modules/unictype/bidicategory-of modules/unictype/bidicategory-test modules/unictype/block-list modules/unictype/block-test modules/unictype/category-C modules/unictype/category-Cc modules/unictype/category-Cf modules/unictype/category-Cn modules/unictype/category-Co modules/unictype/category-Cs modules/unictype/category-L modules/unictype/category-Ll modules/unictype/category-Lm modules/unictype/category-Lo modules/unictype/category-Lt modules/unictype/category-Lu modules/unictype/category-M modules/unictype/category-Mc modules/unictype/category-Me modules/unictype/category-Mn modules/unictype/category-N modules/unictype/category-Nd modules/unictype/category-Nl modules/unictype/category-No modules/unictype/category-P modules/unictype/category-Pc modules/unictype/category-Pd modules/unictype/category-Pe modules/unictype/category-Pf modules/unictype/category-Pi modules/unictype/category-Po modules/unictype/category-Ps modules/unictype/category-S modules/unictype/category-Sc modules/unictype/category-Sk modules/unictype/category-Sm modules/unictype/category-So modules/unictype/category-Z modules/unictype/category-Zl modules/unictype/category-Zp modules/unictype/category-Zs modules/unictype/category-and modules/unictype/category-and-not modules/unictype/category-byname modules/unictype/category-name modules/unictype/category-none modules/unictype/category-of modules/unictype/category-or modules/unictype/category-test modules/unictype/combining-class modules/unictype/ctype-alnum modules/unictype/ctype-alpha modules/unictype/ctype-blank modules/unictype/ctype-cntrl modules/unictype/ctype-digit modules/unictype/ctype-graph modules/unictype/ctype-lower modules/unictype/ctype-print modules/unictype/ctype-punct modules/unictype/ctype-space modules/unictype/ctype-upper modules/unictype/ctype-xdigit modules/unictype/decimal-digit modules/unictype/digit modules/unictype/mirror modules/unictype/numeric modules/unictype/property-alphabetic modules/unictype/property-ascii-hex-digit modules/unictype/property-bidi-arabic-digit modules/unictype/property-bidi-arabic-right-to-left modules/unictype/property-bidi-block-separator modules/unictype/property-bidi-boundary-neutral modules/unictype/property-bidi-common-separator modules/unictype/property-bidi-control modules/unictype/property-bidi-embedding-or-override modules/unictype/property-bidi-eur-num-separator modules/unictype/property-bidi-eur-num-terminator modules/unictype/property-bidi-european-digit modules/unictype/property-bidi-hebrew-right-to-left modules/unictype/property-bidi-left-to-right modules/unictype/property-bidi-non-spacing-mark modules/unictype/property-bidi-other-neutral modules/unictype/property-bidi-pdf modules/unictype/property-bidi-segment-separator modules/unictype/property-bidi-whitespace modules/unictype/property-byname modules/unictype/property-combining modules/unictype/property-composite modules/unictype/property-currency-symbol modules/unictype/property-dash modules/unictype/property-decimal-digit modules/unictype/property-default-ignorable-code-point modules/unictype/property-deprecated modules/unictype/property-diacritic modules/unictype/property-extender modules/unictype/property-format-control modules/unictype/property-grapheme-base modules/unictype/property-grapheme-extend modules/unictype/property-grapheme-link modules/unictype/property-hex-digit modules/unictype/property-hyphen modules/unictype/property-id-continue modules/unictype/property-id-start modules/unictype/property-ideographic modules/unictype/property-ids-binary-operator modules/unictype/property-ids-trinary-operator modules/unictype/property-ignorable-control modules/unictype/property-iso-control modules/unictype/property-join-control modules/unictype/property-left-of-pair modules/unictype/property-line-separator modules/unictype/property-logical-order-exception modules/unictype/property-lowercase modules/unictype/property-math modules/unictype/property-non-break modules/unictype/property-not-a-character modules/unictype/property-numeric modules/unictype/property-other-alphabetic modules/unictype/property-other-default-ignorable-code-point modules/unictype/property-other-grapheme-extend modules/unictype/property-other-id-continue modules/unictype/property-other-id-start modules/unictype/property-other-lowercase modules/unictype/property-other-math modules/unictype/property-other-uppercase modules/unictype/property-paired-punctuation modules/unictype/property-paragraph-separator modules/unictype/property-pattern-syntax modules/unictype/property-pattern-white-space modules/unictype/property-private-use modules/unictype/property-punctuation modules/unictype/property-quotation-mark modules/unictype/property-radical modules/unictype/property-sentence-terminal modules/unictype/property-soft-dotted modules/unictype/property-space modules/unictype/property-terminal-punctuation modules/unictype/property-test modules/unictype/property-titlecase modules/unictype/property-unassigned-code-value modules/unictype/property-unified-ideograph modules/unictype/property-uppercase modules/unictype/property-variation-selector modules/unictype/property-white-space modules/unictype/property-xid-continue modules/unictype/property-xid-start modules/unictype/property-zero-width modules/unictype/scripts modules/unictype/syntax-c-ident modules/unictype/syntax-c-whitespace modules/unictype/syntax-java-ident modules/unictype/syntax-java-whitespace modules/unilbrk/u16-possible-linebreaks modules/unilbrk/u16-width-linebreaks modules/unilbrk/u32-possible-linebreaks modules/unilbrk/u32-width-linebreaks modules/unilbrk/u8-possible-linebreaks modules/unilbrk/u8-width-linebreaks modules/unilbrk/ulc-possible-linebreaks modules/unilbrk/ulc-width-linebreaks modules/uniname/uniname modules/uninorm/canonical-decomposition modules/uninorm/composition modules/uninorm/decomposing-form modules/uninorm/decomposition modules/uninorm/filter modules/uninorm/nfc modules/uninorm/nfd modules/uninorm/nfkc modules/uninorm/nfkd modules/uninorm/u16-normalize modules/uninorm/u16-normcmp modules/uninorm/u16-normcoll modules/uninorm/u16-normxfrm modules/uninorm/u32-normalize modules/uninorm/u32-normcmp modules/uninorm/u32-normcoll modules/uninorm/u32-normxfrm modules/uninorm/u8-normalize modules/uninorm/u8-normcmp modules/uninorm/u8-normcoll modules/uninorm/u8-normxfrm modules/unistdio/u16-asnprintf modules/unistdio/u16-asprintf modules/unistdio/u16-snprintf modules/unistdio/u16-sprintf modules/unistdio/u16-u16-asnprintf modules/unistdio/u16-u16-asprintf modules/unistdio/u16-u16-snprintf modules/unistdio/u16-u16-sprintf modules/unistdio/u16-u16-vasnprintf modules/unistdio/u16-u16-vasprintf modules/unistdio/u16-u16-vsnprintf modules/unistdio/u16-u16-vsprintf modules/unistdio/u16-vasnprintf modules/unistdio/u16-vasprintf modules/unistdio/u16-vsnprintf modules/unistdio/u16-vsprintf modules/unistdio/u32-asnprintf modules/unistdio/u32-asprintf modules/unistdio/u32-snprintf modules/unistdio/u32-sprintf modules/unistdio/u32-u32-asnprintf modules/unistdio/u32-u32-asprintf modules/unistdio/u32-u32-snprintf modules/unistdio/u32-u32-sprintf modules/unistdio/u32-u32-vasnprintf modules/unistdio/u32-u32-vasprintf modules/unistdio/u32-u32-vsnprintf modules/unistdio/u32-u32-vsprintf modules/unistdio/u32-vasnprintf modules/unistdio/u32-vasprintf modules/unistdio/u32-vsnprintf modules/unistdio/u32-vsprintf modules/unistdio/u8-asnprintf modules/unistdio/u8-asprintf modules/unistdio/u8-snprintf modules/unistdio/u8-sprintf modules/unistdio/u8-u8-asnprintf modules/unistdio/u8-u8-asprintf modules/unistdio/u8-u8-snprintf modules/unistdio/u8-u8-sprintf modules/unistdio/u8-u8-vasnprintf modules/unistdio/u8-u8-vasprintf modules/unistdio/u8-u8-vsnprintf modules/unistdio/u8-u8-vsprintf modules/unistdio/u8-vasnprintf modules/unistdio/u8-vasprintf modules/unistdio/u8-vsnprintf modules/unistdio/u8-vsprintf modules/unistdio/ulc-asnprintf modules/unistdio/ulc-asprintf modules/unistdio/ulc-fprintf modules/unistdio/ulc-snprintf modules/unistdio/ulc-sprintf modules/unistdio/ulc-vasnprintf modules/unistdio/ulc-vasprintf modules/unistdio/ulc-vfprintf modules/unistdio/ulc-vsnprintf modules/unistdio/ulc-vsprintf modules/unistr/u16-check modules/unistr/u16-chr modules/unistr/u16-cmp modules/unistr/u16-cmp2 modules/unistr/u16-cpy modules/unistr/u16-cpy-alloc modules/unistr/u16-endswith modules/unistr/u16-mblen modules/unistr/u16-mbsnlen modules/unistr/u16-mbtouc modules/unistr/u16-mbtouc-unsafe modules/unistr/u16-mbtoucr modules/unistr/u16-move modules/unistr/u16-next modules/unistr/u16-prev modules/unistr/u16-set modules/unistr/u16-startswith modules/unistr/u16-stpcpy modules/unistr/u16-stpncpy modules/unistr/u16-strcat modules/unistr/u16-strchr modules/unistr/u16-strcmp modules/unistr/u16-strcoll modules/unistr/u16-strcpy modules/unistr/u16-strcspn modules/unistr/u16-strdup modules/unistr/u16-strlen modules/unistr/u16-strmblen modules/unistr/u16-strmbtouc modules/unistr/u16-strncat modules/unistr/u16-strncmp modules/unistr/u16-strncpy modules/unistr/u16-strnlen modules/unistr/u16-strpbrk modules/unistr/u16-strrchr modules/unistr/u16-strspn modules/unistr/u16-strstr modules/unistr/u16-strtok modules/unistr/u16-to-u32 modules/unistr/u16-to-u8 modules/unistr/u16-uctomb modules/unistr/u32-check modules/unistr/u32-chr modules/unistr/u32-cmp modules/unistr/u32-cmp2 modules/unistr/u32-cpy modules/unistr/u32-cpy-alloc modules/unistr/u32-endswith modules/unistr/u32-mblen modules/unistr/u32-mbsnlen modules/unistr/u32-mbtouc modules/unistr/u32-mbtouc-unsafe modules/unistr/u32-mbtoucr modules/unistr/u32-move modules/unistr/u32-next modules/unistr/u32-prev modules/unistr/u32-set modules/unistr/u32-startswith modules/unistr/u32-stpcpy modules/unistr/u32-stpncpy modules/unistr/u32-strcat modules/unistr/u32-strchr modules/unistr/u32-strcmp modules/unistr/u32-strcoll modules/unistr/u32-strcpy modules/unistr/u32-strcspn modules/unistr/u32-strdup modules/unistr/u32-strlen modules/unistr/u32-strmblen modules/unistr/u32-strmbtouc modules/unistr/u32-strncat modules/unistr/u32-strncmp modules/unistr/u32-strncpy modules/unistr/u32-strnlen modules/unistr/u32-strpbrk modules/unistr/u32-strrchr modules/unistr/u32-strspn modules/unistr/u32-strstr modules/unistr/u32-strtok modules/unistr/u32-to-u16 modules/unistr/u32-to-u8 modules/unistr/u32-uctomb modules/unistr/u8-check modules/unistr/u8-chr modules/unistr/u8-cmp modules/unistr/u8-cmp2 modules/unistr/u8-cpy modules/unistr/u8-cpy-alloc modules/unistr/u8-endswith modules/unistr/u8-mblen modules/unistr/u8-mbsnlen modules/unistr/u8-mbtouc modules/unistr/u8-mbtouc-unsafe modules/unistr/u8-mbtoucr modules/unistr/u8-move modules/unistr/u8-next modules/unistr/u8-prev modules/unistr/u8-set modules/unistr/u8-startswith modules/unistr/u8-stpcpy modules/unistr/u8-stpncpy modules/unistr/u8-strcat modules/unistr/u8-strchr modules/unistr/u8-strcmp modules/unistr/u8-strcoll modules/unistr/u8-strcpy modules/unistr/u8-strcspn modules/unistr/u8-strdup modules/unistr/u8-strlen modules/unistr/u8-strmblen modules/unistr/u8-strmbtouc modules/unistr/u8-strncat modules/unistr/u8-strncmp modules/unistr/u8-strncpy modules/unistr/u8-strnlen modules/unistr/u8-strpbrk modules/unistr/u8-strrchr modules/unistr/u8-strspn modules/unistr/u8-strstr modules/unistr/u8-strtok modules/unistr/u8-to-u16 modules/unistr/u8-to-u32 modules/unistr/u8-uctomb modules/uniwbrk/u16-wordbreaks modules/uniwbrk/u32-wordbreaks modules/uniwbrk/u8-wordbreaks modules/uniwbrk/ulc-wordbreaks modules/uniwbrk/wordbreak-property modules/uniwidth/u16-strwidth modules/uniwidth/u16-width modules/uniwidth/u32-strwidth modules/uniwidth/u32-width modules/uniwidth/u8-strwidth modules/uniwidth/u8-width modules/uniwidth/width
diffstat 462 files changed, 1858 insertions(+), 477 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-06-03  Bruno Haible  <bruno@clisp.org>
+
+	Don't use AC_LIBOBJ with file names in subdirectories.
+	* m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
+	gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
+	name. Define an automake conditional. Don't invoke AC_LIBOBJ.
+	* m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
+	* modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
+	gl_LIBUNISTRING_LIBSOURCE.
+	(Makefile.am): Augment lib_SOURCES here, conditionally.
+	* NEWS: Drop requirement for Automake option 'subdir-objects'.
+
 2010-06-03  Bruno Haible  <bruno@clisp.org>
 
 	Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
--- a/NEWS
+++ b/NEWS
@@ -6,9 +6,6 @@
 
 Date        Modules         Changes
 
-2010-05-18  uni*/*          The Makefile.am now needs to declare the Automake
-                            option 'subdir-objects'.
-
 2010-04-02  maintainer-makefile
                             The macro _prohibit_regexp has been revamped into
                             a new macro _sc_search_regexp; custom syntax
--- a/m4/libunistring-base.m4
+++ b/m4/libunistring-base.m4
@@ -1,4 +1,4 @@
-# libunistring-base.m4 serial 4
+# libunistring-base.m4 serial 5
 dnl Copyright (C) 2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -6,28 +6,26 @@
 
 dnl From Paolo Bonzini and Bruno Haible.
 
-dnl gl_LIBUNISTRING_LIBSOURCE([VERSION], [SourceFile])
-dnl Declares that SourceFile should be compiled, unless we are linking
-dnl with libunistring and its version is >= the given VERSION.
-dnl SourceFile should be relative to the lib directory and end in '.c'.
+dnl gl_LIBUNISTRING_MODULE([VERSION], [Module])
+dnl Declares that the source files of Module should be compiled, unless we
+dnl are linking with libunistring and its version is >= the given VERSION.
+dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is
+dnl true if the source files of Module should be compiled.
 dnl This macro is to be used for public libunistring API, not for
 dnl undocumented API.
 dnl
 dnl You have to bump the VERSION argument to the next projected version
 dnl number each time you make a change that affects the behaviour of the
-dnl functions defined in SourceFile (even if SourceFile itself does not
+dnl functions defined in Module (even if the sources of Module itself do not
 dnl change).
 
-AC_DEFUN([gl_LIBUNISTRING_LIBSOURCE],
+AC_DEFUN([gl_LIBUNISTRING_MODULE],
 [
   AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
   dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
   dnl gl_LIBUNISTRING_CORE if that macro has been run.
-  if gl_LIBUNISTRING_VERSION_CMP([$1]); then
-    m4_foreach_w([gl_source_file], [$2],
-      [AC_LIBOBJ(m4_bpatsubst(m4_defn([gl_source_file]), [\.c$], []))
-      ])
-  fi
+  AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
+    [gl_LIBUNISTRING_VERSION_CMP([$1])])
 ])
 
 dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
@@ -38,8 +36,8 @@
 dnl
 dnl When we are linking with the already installed libunistring and its version
 dnl is < VERSION, we create HeaderFile here, because we may compile functions
-dnl (via gl_LIBUNISTRING_LIBSOURCE above) that are not contained in the
-dnl installed version.
+dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed
+dnl version.
 dnl When we are linking with the already installed libunistring and its version
 dnl is > VERSION, we don't create HeaderFile here: it could cause compilation
 dnl errors in other libunistring header files if some types are missing.
--- a/m4/libunistring.m4
+++ b/m4/libunistring.m4
@@ -1,4 +1,4 @@
-# libunistring.m4 serial 8
+# libunistring.m4 serial 9
 dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,7 @@
         [$1], [$2])]]))
 gl_libunistring_AC_DEFUN([gl_LIBUNISTRING],
 [
-  AC_BEFORE([$0], [gl_LIBUNISTRING_LIBSOURCE])
+  AC_BEFORE([$0], [gl_LIBUNISTRING_MODULE])
   AC_BEFORE([$0], [gl_LIBUNISTRING_LIBHEADER])
   AC_BEFORE([$0], [gl_LIBUNISTRING_LIB_PREPARE])
 
--- a/modules/unicase/empty-prefix-context
+++ b/modules/unicase/empty-prefix-context
@@ -8,9 +8,12 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/empty-prefix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/empty-prefix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_EMPTY_PREFIX_CONTEXT
+lib_SOURCES += unicase/empty-prefix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/empty-suffix-context
+++ b/modules/unicase/empty-suffix-context
@@ -8,9 +8,12 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/empty-suffix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/empty-suffix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_EMPTY_SUFFIX_CONTEXT
+lib_SOURCES += unicase/empty-suffix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/locale-language
+++ b/modules/unicase/locale-language
@@ -11,9 +11,12 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unicase/locale-language.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unicase/locale-language])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_LOCALE_LANGUAGE
+lib_SOURCES += unicase/locale-language.c
+endif
 
 unicase/locale-languages.h: $(srcdir)/unicase/locale-languages.gperf
 	$(GPERF) -m 10 $(srcdir)/unicase/locale-languages.gperf > $(srcdir)/unicase/locale-languages.h-t
--- a/modules/unicase/tolower
+++ b/modules/unicase/tolower
@@ -10,9 +10,12 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unicase/tolower.c])
+gl_LIBUNISTRING_MODULE([0.9], [unicase/tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_TOLOWER
+lib_SOURCES += unicase/tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/totitle
+++ b/modules/unicase/totitle
@@ -10,9 +10,12 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unicase/totitle.c])
+gl_LIBUNISTRING_MODULE([0.9], [unicase/totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_TOTITLE
+lib_SOURCES += unicase/totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/toupper
+++ b/modules/unicase/toupper
@@ -10,9 +10,12 @@
 unicase/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unicase/toupper.c])
+gl_LIBUNISTRING_MODULE([0.9], [unicase/toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_TOUPPER
+lib_SOURCES += unicase/toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-casecmp
+++ b/modules/unicase/u16-casecmp
@@ -13,9 +13,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-casecmp.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casecmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CASECMP
+lib_SOURCES += unicase/u16-casecmp.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-casecoll
+++ b/modules/unicase/u16-casecoll
@@ -12,9 +12,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-casecoll.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casecoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CASECOLL
+lib_SOURCES += unicase/u16-casecoll.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-casefold
+++ b/modules/unicase/u16-casefold
@@ -12,9 +12,12 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-casefold.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casefold])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CASEFOLD
+lib_SOURCES += unicase/u16-casefold.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-casexfrm
+++ b/modules/unicase/u16-casexfrm
@@ -14,9 +14,12 @@
 memxfrm
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-casexfrm.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-casexfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CASEXFRM
+lib_SOURCES += unicase/u16-casexfrm.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-ct-casefold
+++ b/modules/unicase/u16-ct-casefold
@@ -15,9 +15,12 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-ct-casefold.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-casefold])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CT_CASEFOLD
+lib_SOURCES += unicase/u16-ct-casefold.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-ct-tolower
+++ b/modules/unicase/u16-ct-tolower
@@ -11,9 +11,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-ct-tolower.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOLOWER
+lib_SOURCES += unicase/u16-ct-tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-ct-totitle
+++ b/modules/unicase/u16-ct-totitle
@@ -23,9 +23,12 @@
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-ct-totitle.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOTITLE
+lib_SOURCES += unicase/u16-ct-totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-ct-toupper
+++ b/modules/unicase/u16-ct-toupper
@@ -11,9 +11,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-ct-toupper.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-ct-toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_CT_TOUPPER
+lib_SOURCES += unicase/u16-ct-toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-is-cased
+++ b/modules/unicase/u16-is-cased
@@ -15,9 +15,12 @@
 unistr/u16-cmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-is-cased.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-cased])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASED
+lib_SOURCES += unicase/u16-is-cased.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-is-casefolded
+++ b/modules/unicase/u16-is-casefolded
@@ -10,9 +10,12 @@
 unicase/u16-casefold
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-is-casefolded.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-casefolded])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_IS_CASEFOLDED
+lib_SOURCES += unicase/u16-is-casefolded.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-is-lowercase
+++ b/modules/unicase/u16-is-lowercase
@@ -10,9 +10,12 @@
 unicase/u16-tolower
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-is-lowercase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-lowercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_IS_LOWERCASE
+lib_SOURCES += unicase/u16-is-lowercase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-is-titlecase
+++ b/modules/unicase/u16-is-titlecase
@@ -10,9 +10,12 @@
 unicase/u16-totitle
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-is-titlecase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-titlecase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_IS_TITLECASE
+lib_SOURCES += unicase/u16-is-titlecase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-is-uppercase
+++ b/modules/unicase/u16-is-uppercase
@@ -10,9 +10,12 @@
 unicase/u16-toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-is-uppercase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-is-uppercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_IS_UPPERCASE
+lib_SOURCES += unicase/u16-is-uppercase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-prefix-context
+++ b/modules/unicase/u16-prefix-context
@@ -15,9 +15,12 @@
 unistr/u16-prev
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-prefix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-prefix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_PREFIX_CONTEXT
+lib_SOURCES += unicase/u16-prefix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-suffix-context
+++ b/modules/unicase/u16-suffix-context
@@ -14,9 +14,12 @@
 unistr/u16-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-suffix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-suffix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_SUFFIX_CONTEXT
+lib_SOURCES += unicase/u16-suffix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-tolower
+++ b/modules/unicase/u16-tolower
@@ -13,9 +13,12 @@
 unicase/tolower
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-tolower.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_TOLOWER
+lib_SOURCES += unicase/u16-tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-totitle
+++ b/modules/unicase/u16-totitle
@@ -12,9 +12,12 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-totitle.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_TOTITLE
+lib_SOURCES += unicase/u16-totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u16-toupper
+++ b/modules/unicase/u16-toupper
@@ -13,9 +13,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u16-toupper.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u16-toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U16_TOUPPER
+lib_SOURCES += unicase/u16-toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-casecmp
+++ b/modules/unicase/u32-casecmp
@@ -13,9 +13,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-casecmp.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casecmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CASECMP
+lib_SOURCES += unicase/u32-casecmp.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-casecoll
+++ b/modules/unicase/u32-casecoll
@@ -12,9 +12,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-casecoll.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casecoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CASECOLL
+lib_SOURCES += unicase/u32-casecoll.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-casefold
+++ b/modules/unicase/u32-casefold
@@ -12,9 +12,12 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-casefold.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casefold])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CASEFOLD
+lib_SOURCES += unicase/u32-casefold.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-casexfrm
+++ b/modules/unicase/u32-casexfrm
@@ -14,9 +14,12 @@
 memxfrm
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-casexfrm.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-casexfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CASEXFRM
+lib_SOURCES += unicase/u32-casexfrm.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-ct-casefold
+++ b/modules/unicase/u32-ct-casefold
@@ -15,9 +15,12 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-ct-casefold.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-casefold])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CT_CASEFOLD
+lib_SOURCES += unicase/u32-ct-casefold.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-ct-tolower
+++ b/modules/unicase/u32-ct-tolower
@@ -11,9 +11,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-ct-tolower.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOLOWER
+lib_SOURCES += unicase/u32-ct-tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-ct-totitle
+++ b/modules/unicase/u32-ct-totitle
@@ -23,9 +23,12 @@
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-ct-totitle.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOTITLE
+lib_SOURCES += unicase/u32-ct-totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-ct-toupper
+++ b/modules/unicase/u32-ct-toupper
@@ -11,9 +11,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-ct-toupper.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-ct-toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_CT_TOUPPER
+lib_SOURCES += unicase/u32-ct-toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-is-cased
+++ b/modules/unicase/u32-is-cased
@@ -15,9 +15,12 @@
 unistr/u32-cmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-is-cased.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-cased])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASED
+lib_SOURCES += unicase/u32-is-cased.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-is-casefolded
+++ b/modules/unicase/u32-is-casefolded
@@ -10,9 +10,12 @@
 unicase/u32-casefold
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-is-casefolded.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-casefolded])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_IS_CASEFOLDED
+lib_SOURCES += unicase/u32-is-casefolded.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-is-lowercase
+++ b/modules/unicase/u32-is-lowercase
@@ -10,9 +10,12 @@
 unicase/u32-tolower
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-is-lowercase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-lowercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_IS_LOWERCASE
+lib_SOURCES += unicase/u32-is-lowercase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-is-titlecase
+++ b/modules/unicase/u32-is-titlecase
@@ -10,9 +10,12 @@
 unicase/u32-totitle
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-is-titlecase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-titlecase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_IS_TITLECASE
+lib_SOURCES += unicase/u32-is-titlecase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-is-uppercase
+++ b/modules/unicase/u32-is-uppercase
@@ -10,9 +10,12 @@
 unicase/u32-toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-is-uppercase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-is-uppercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_IS_UPPERCASE
+lib_SOURCES += unicase/u32-is-uppercase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-prefix-context
+++ b/modules/unicase/u32-prefix-context
@@ -15,9 +15,12 @@
 unistr/u32-prev
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-prefix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-prefix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_PREFIX_CONTEXT
+lib_SOURCES += unicase/u32-prefix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-suffix-context
+++ b/modules/unicase/u32-suffix-context
@@ -14,9 +14,12 @@
 unistr/u32-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-suffix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-suffix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_SUFFIX_CONTEXT
+lib_SOURCES += unicase/u32-suffix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-tolower
+++ b/modules/unicase/u32-tolower
@@ -13,9 +13,12 @@
 unicase/tolower
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-tolower.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_TOLOWER
+lib_SOURCES += unicase/u32-tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-totitle
+++ b/modules/unicase/u32-totitle
@@ -12,9 +12,12 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-totitle.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_TOTITLE
+lib_SOURCES += unicase/u32-totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u32-toupper
+++ b/modules/unicase/u32-toupper
@@ -13,9 +13,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u32-toupper.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u32-toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U32_TOUPPER
+lib_SOURCES += unicase/u32-toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-casecmp
+++ b/modules/unicase/u8-casecmp
@@ -13,9 +13,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-casecmp.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casecmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CASECMP
+lib_SOURCES += unicase/u8-casecmp.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-casecoll
+++ b/modules/unicase/u8-casecoll
@@ -12,9 +12,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-casecoll.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casecoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CASECOLL
+lib_SOURCES += unicase/u8-casecoll.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-casefold
+++ b/modules/unicase/u8-casefold
@@ -12,9 +12,12 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-casefold.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casefold])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CASEFOLD
+lib_SOURCES += unicase/u8-casefold.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-casexfrm
+++ b/modules/unicase/u8-casexfrm
@@ -14,9 +14,12 @@
 memxfrm
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-casexfrm.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-casexfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CASEXFRM
+lib_SOURCES += unicase/u8-casexfrm.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-ct-casefold
+++ b/modules/unicase/u8-ct-casefold
@@ -15,9 +15,12 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-ct-casefold.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-casefold])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CT_CASEFOLD
+lib_SOURCES += unicase/u8-ct-casefold.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-ct-tolower
+++ b/modules/unicase/u8-ct-tolower
@@ -11,9 +11,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-ct-tolower.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOLOWER
+lib_SOURCES += unicase/u8-ct-tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-ct-totitle
+++ b/modules/unicase/u8-ct-totitle
@@ -23,9 +23,12 @@
 stdbool
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-ct-totitle.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOTITLE
+lib_SOURCES += unicase/u8-ct-totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-ct-toupper
+++ b/modules/unicase/u8-ct-toupper
@@ -11,9 +11,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-ct-toupper.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-ct-toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_CT_TOUPPER
+lib_SOURCES += unicase/u8-ct-toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-is-cased
+++ b/modules/unicase/u8-is-cased
@@ -15,9 +15,12 @@
 unistr/u8-cmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-is-cased.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-cased])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASED
+lib_SOURCES += unicase/u8-is-cased.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-is-casefolded
+++ b/modules/unicase/u8-is-casefolded
@@ -10,9 +10,12 @@
 unicase/u8-casefold
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-is-casefolded.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-casefolded])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_IS_CASEFOLDED
+lib_SOURCES += unicase/u8-is-casefolded.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-is-lowercase
+++ b/modules/unicase/u8-is-lowercase
@@ -10,9 +10,12 @@
 unicase/u8-tolower
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-is-lowercase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-lowercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_IS_LOWERCASE
+lib_SOURCES += unicase/u8-is-lowercase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-is-titlecase
+++ b/modules/unicase/u8-is-titlecase
@@ -10,9 +10,12 @@
 unicase/u8-totitle
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-is-titlecase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-titlecase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_IS_TITLECASE
+lib_SOURCES += unicase/u8-is-titlecase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-is-uppercase
+++ b/modules/unicase/u8-is-uppercase
@@ -10,9 +10,12 @@
 unicase/u8-toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-is-uppercase.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-is-uppercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_IS_UPPERCASE
+lib_SOURCES += unicase/u8-is-uppercase.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-prefix-context
+++ b/modules/unicase/u8-prefix-context
@@ -15,9 +15,12 @@
 unistr/u8-prev
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-prefix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-prefix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_PREFIX_CONTEXT
+lib_SOURCES += unicase/u8-prefix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-suffix-context
+++ b/modules/unicase/u8-suffix-context
@@ -14,9 +14,12 @@
 unistr/u8-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-suffix-context.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-suffix-context])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_SUFFIX_CONTEXT
+lib_SOURCES += unicase/u8-suffix-context.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-tolower
+++ b/modules/unicase/u8-tolower
@@ -13,9 +13,12 @@
 unicase/tolower
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-tolower.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-tolower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_TOLOWER
+lib_SOURCES += unicase/u8-tolower.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-totitle
+++ b/modules/unicase/u8-totitle
@@ -12,9 +12,12 @@
 unicase/empty-suffix-context
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-totitle.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-totitle])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_TOTITLE
+lib_SOURCES += unicase/u8-totitle.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/u8-toupper
+++ b/modules/unicase/u8-toupper
@@ -13,9 +13,12 @@
 unicase/toupper
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/u8-toupper.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/u8-toupper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_U8_TOUPPER
+lib_SOURCES += unicase/u8-toupper.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/ulc-casecmp
+++ b/modules/unicase/ulc-casecmp
@@ -15,9 +15,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/ulc-casecmp.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/ulc-casecmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_ULC_CASECMP
+lib_SOURCES += unicase/ulc-casecmp.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/ulc-casecoll
+++ b/modules/unicase/ulc-casecoll
@@ -11,9 +11,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/ulc-casecoll.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/ulc-casecoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_ULC_CASECOLL
+lib_SOURCES += unicase/ulc-casecoll.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/unicase/ulc-casexfrm
+++ b/modules/unicase/ulc-casexfrm
@@ -11,9 +11,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.1], [unicase/ulc-casexfrm.c])
+gl_LIBUNISTRING_MODULE([0.9.1], [unicase/ulc-casexfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICASE_ULC_CASEXFRM
+lib_SOURCES += unicase/ulc-casexfrm.c
+endif
 
 Include:
 "unicase.h"
--- a/modules/uniconv/u16-conv-from-enc
+++ b/modules/uniconv/u16-conv-from-enc
@@ -15,9 +15,12 @@
 
 configure.ac:
 AC_REQUIRE([gl_BIGENDIAN])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u16-conv-from-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u16-conv-from-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U16_CONV_FROM_ENC
+lib_SOURCES += uniconv/u16-conv-from-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u16-conv-to-enc
+++ b/modules/uniconv/u16-conv-to-enc
@@ -16,9 +16,12 @@
 
 configure.ac:
 AC_REQUIRE([gl_BIGENDIAN])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u16-conv-to-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u16-conv-to-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U16_CONV_TO_ENC
+lib_SOURCES += uniconv/u16-conv-to-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u16-strconv-from-enc
+++ b/modules/uniconv/u16-strconv-from-enc
@@ -11,9 +11,12 @@
 unistr/u16-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u16-strconv-from-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u16-strconv-from-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_ENC
+lib_SOURCES += uniconv/u16-strconv-from-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u16-strconv-from-locale
+++ b/modules/uniconv/u16-strconv-from-locale
@@ -10,9 +10,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u16-strconv-from-locale.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u16-strconv-from-locale])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_FROM_LOCALE
+lib_SOURCES += uniconv/u16-strconv-from-locale.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u16-strconv-to-enc
+++ b/modules/uniconv/u16-strconv-to-enc
@@ -14,9 +14,12 @@
 
 configure.ac:
 AC_REQUIRE([gl_BIGENDIAN])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u16-strconv-to-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u16-strconv-to-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_ENC
+lib_SOURCES += uniconv/u16-strconv-to-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u16-strconv-to-locale
+++ b/modules/uniconv/u16-strconv-to-locale
@@ -10,9 +10,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u16-strconv-to-locale.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u16-strconv-to-locale])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U16_STRCONV_TO_LOCALE
+lib_SOURCES += uniconv/u16-strconv-to-locale.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u32-conv-from-enc
+++ b/modules/uniconv/u32-conv-from-enc
@@ -14,9 +14,12 @@
 unistr/u32-mblen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u32-conv-from-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-conv-from-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U32_CONV_FROM_ENC
+lib_SOURCES += uniconv/u32-conv-from-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u32-conv-to-enc
+++ b/modules/uniconv/u32-conv-to-enc
@@ -14,9 +14,12 @@
 unistr/u8-mblen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u32-conv-to-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-conv-to-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U32_CONV_TO_ENC
+lib_SOURCES += uniconv/u32-conv-to-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u32-strconv-from-enc
+++ b/modules/uniconv/u32-strconv-from-enc
@@ -11,9 +11,12 @@
 unistr/u32-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u32-strconv-from-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-strconv-from-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_ENC
+lib_SOURCES += uniconv/u32-strconv-from-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u32-strconv-from-locale
+++ b/modules/uniconv/u32-strconv-from-locale
@@ -10,9 +10,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u32-strconv-from-locale.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-strconv-from-locale])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_FROM_LOCALE
+lib_SOURCES += uniconv/u32-strconv-from-locale.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u32-strconv-to-enc
+++ b/modules/uniconv/u32-strconv-to-enc
@@ -13,9 +13,12 @@
 unistr/u32-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u32-strconv-to-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-strconv-to-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_ENC
+lib_SOURCES += uniconv/u32-strconv-to-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u32-strconv-to-locale
+++ b/modules/uniconv/u32-strconv-to-locale
@@ -10,9 +10,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u32-strconv-to-locale.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u32-strconv-to-locale])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U32_STRCONV_TO_LOCALE
+lib_SOURCES += uniconv/u32-strconv-to-locale.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u8-conv-from-enc
+++ b/modules/uniconv/u8-conv-from-enc
@@ -12,9 +12,12 @@
 unistr/u8-mblen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u8-conv-from-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-conv-from-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U8_CONV_FROM_ENC
+lib_SOURCES += uniconv/u8-conv-from-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u8-conv-to-enc
+++ b/modules/uniconv/u8-conv-to-enc
@@ -11,9 +11,12 @@
 unistr/u8-check
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u8-conv-to-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-conv-to-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U8_CONV_TO_ENC
+lib_SOURCES += uniconv/u8-conv-to-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u8-strconv-from-enc
+++ b/modules/uniconv/u8-strconv-from-enc
@@ -11,9 +11,12 @@
 unistr/u8-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u8-strconv-from-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-from-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_ENC
+lib_SOURCES += uniconv/u8-strconv-from-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u8-strconv-from-locale
+++ b/modules/uniconv/u8-strconv-from-locale
@@ -10,9 +10,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u8-strconv-from-locale.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-from-locale])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_FROM_LOCALE
+lib_SOURCES += uniconv/u8-strconv-from-locale.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u8-strconv-to-enc
+++ b/modules/uniconv/u8-strconv-to-enc
@@ -12,9 +12,12 @@
 unistr/u8-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u8-strconv-to-enc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-to-enc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_ENC
+lib_SOURCES += uniconv/u8-strconv-to-enc.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/uniconv/u8-strconv-to-locale
+++ b/modules/uniconv/u8-strconv-to-locale
@@ -10,9 +10,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniconv/u8-strconv-to-locale.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniconv/u8-strconv-to-locale])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICONV_U8_STRCONV_TO_LOCALE
+lib_SOURCES += uniconv/u8-strconv-to-locale.c
+endif
 
 Include:
 "uniconv.h"
--- a/modules/unictype/bidicategory-byname
+++ b/modules/unictype/bidicategory-byname
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/bidi_byname.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/bidicategory-byname])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_BIDICATEGORY_BYNAME
+lib_SOURCES += unictype/bidi_byname.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/bidicategory-name
+++ b/modules/unictype/bidicategory-name
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/bidi_name.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/bidicategory-name])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_BIDICATEGORY_NAME
+lib_SOURCES += unictype/bidi_name.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/bidicategory-of
+++ b/modules/unictype/bidicategory-of
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/bidi_of.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/bidicategory-of])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_BIDICATEGORY_OF
+lib_SOURCES += unictype/bidi_of.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/bidicategory-test
+++ b/modules/unictype/bidicategory-test
@@ -9,9 +9,12 @@
 unictype/bidicategory-of
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/bidi_test.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/bidicategory-test])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_BIDICATEGORY_TEST
+lib_SOURCES += unictype/bidi_test.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/block-list
+++ b/modules/unictype/block-list
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/blocks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/block-list])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_LIST
+lib_SOURCES += unictype/blocks.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/block-test
+++ b/modules/unictype/block-test
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/block_test.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/block-test])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_BLOCK_TEST
+lib_SOURCES += unictype/block_test.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-C
+++ b/modules/unictype/category-C
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_C.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-C])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_C
+lib_SOURCES += unictype/categ_C.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Cc
+++ b/modules/unictype/category-Cc
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Cc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Cc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CC
+lib_SOURCES += unictype/categ_Cc.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Cf
+++ b/modules/unictype/category-Cf
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Cf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Cf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CF
+lib_SOURCES += unictype/categ_Cf.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Cn
+++ b/modules/unictype/category-Cn
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Cn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Cn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CN
+lib_SOURCES += unictype/categ_Cn.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Co
+++ b/modules/unictype/category-Co
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Co.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Co])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CO
+lib_SOURCES += unictype/categ_Co.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Cs
+++ b/modules/unictype/category-Cs
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Cs.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Cs])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_CS
+lib_SOURCES += unictype/categ_Cs.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-L
+++ b/modules/unictype/category-L
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_L.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-L])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_L
+lib_SOURCES += unictype/categ_L.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Ll
+++ b/modules/unictype/category-Ll
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Ll.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Ll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LL
+lib_SOURCES += unictype/categ_Ll.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Lm
+++ b/modules/unictype/category-Lm
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Lm.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LM
+lib_SOURCES += unictype/categ_Lm.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Lo
+++ b/modules/unictype/category-Lo
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Lo.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lo])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LO
+lib_SOURCES += unictype/categ_Lo.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Lt
+++ b/modules/unictype/category-Lt
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Lt.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lt])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LT
+lib_SOURCES += unictype/categ_Lt.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Lu
+++ b/modules/unictype/category-Lu
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Lu.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Lu])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_LU
+lib_SOURCES += unictype/categ_Lu.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-M
+++ b/modules/unictype/category-M
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_M.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-M])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_M
+lib_SOURCES += unictype/categ_M.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Mc
+++ b/modules/unictype/category-Mc
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Mc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Mc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MC
+lib_SOURCES += unictype/categ_Mc.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Me
+++ b/modules/unictype/category-Me
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Me.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Me])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ME
+lib_SOURCES += unictype/categ_Me.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Mn
+++ b/modules/unictype/category-Mn
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Mn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Mn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_MN
+lib_SOURCES += unictype/categ_Mn.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-N
+++ b/modules/unictype/category-N
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_N.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-N])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_N
+lib_SOURCES += unictype/categ_N.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Nd
+++ b/modules/unictype/category-Nd
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Nd.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Nd])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ND
+lib_SOURCES += unictype/categ_Nd.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Nl
+++ b/modules/unictype/category-Nl
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Nl.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Nl])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NL
+lib_SOURCES += unictype/categ_Nl.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-No
+++ b/modules/unictype/category-No
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_No.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-No])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NO
+lib_SOURCES += unictype/categ_No.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-P
+++ b/modules/unictype/category-P
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_P.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-P])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_P
+lib_SOURCES += unictype/categ_P.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Pc
+++ b/modules/unictype/category-Pc
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Pc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Pc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PC
+lib_SOURCES += unictype/categ_Pc.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Pd
+++ b/modules/unictype/category-Pd
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Pd.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Pd])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PD
+lib_SOURCES += unictype/categ_Pd.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Pe
+++ b/modules/unictype/category-Pe
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Pe.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Pe])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PE
+lib_SOURCES += unictype/categ_Pe.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Pf
+++ b/modules/unictype/category-Pf
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Pf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Pf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PF
+lib_SOURCES += unictype/categ_Pf.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Pi
+++ b/modules/unictype/category-Pi
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Pi.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Pi])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PI
+lib_SOURCES += unictype/categ_Pi.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Po
+++ b/modules/unictype/category-Po
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Po.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Po])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PO
+lib_SOURCES += unictype/categ_Po.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Ps
+++ b/modules/unictype/category-Ps
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Ps.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Ps])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_PS
+lib_SOURCES += unictype/categ_Ps.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-S
+++ b/modules/unictype/category-S
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_S.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-S])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_S
+lib_SOURCES += unictype/categ_S.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Sc
+++ b/modules/unictype/category-Sc
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Sc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Sc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SC
+lib_SOURCES += unictype/categ_Sc.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Sk
+++ b/modules/unictype/category-Sk
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Sk.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Sk])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SK
+lib_SOURCES += unictype/categ_Sk.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Sm
+++ b/modules/unictype/category-Sm
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Sm.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Sm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SM
+lib_SOURCES += unictype/categ_Sm.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-So
+++ b/modules/unictype/category-So
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_So.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-So])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_SO
+lib_SOURCES += unictype/categ_So.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Z
+++ b/modules/unictype/category-Z
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Z.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Z])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_Z
+lib_SOURCES += unictype/categ_Z.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Zl
+++ b/modules/unictype/category-Zl
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Zl.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Zl])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZL
+lib_SOURCES += unictype/categ_Zl.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Zp
+++ b/modules/unictype/category-Zp
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Zp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Zp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZP
+lib_SOURCES += unictype/categ_Zp.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-Zs
+++ b/modules/unictype/category-Zs
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_Zs.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-Zs])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_ZS
+lib_SOURCES += unictype/categ_Zs.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-and
+++ b/modules/unictype/category-and
@@ -10,9 +10,12 @@
 unictype/category-test-withtable
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_and.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-and])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND
+lib_SOURCES += unictype/categ_and.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-and-not
+++ b/modules/unictype/category-and-not
@@ -10,9 +10,12 @@
 unictype/category-test-withtable
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_and_not.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-and-not])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_AND_NOT
+lib_SOURCES += unictype/categ_and_not.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-byname
+++ b/modules/unictype/category-byname
@@ -46,9 +46,12 @@
 unictype/category-none
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_byname.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-byname])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_BYNAME
+lib_SOURCES += unictype/categ_byname.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-name
+++ b/modules/unictype/category-name
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_name.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-name])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NAME
+lib_SOURCES += unictype/categ_name.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-none
+++ b/modules/unictype/category-none
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_none.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-none])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_NONE
+lib_SOURCES += unictype/categ_none.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-of
+++ b/modules/unictype/category-of
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_of.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-of])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OF
+lib_SOURCES += unictype/categ_of.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-or
+++ b/modules/unictype/category-or
@@ -9,9 +9,12 @@
 unictype/category-test-withtable
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_or.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-or])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_OR
+lib_SOURCES += unictype/categ_or.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/category-test
+++ b/modules/unictype/category-test
@@ -10,9 +10,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/categ_test.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/category-test])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CATEGORY_TEST
+lib_SOURCES += unictype/categ_test.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/combining-class
+++ b/modules/unictype/combining-class
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/combining.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/combining-class])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_COMBINING_CLASS
+lib_SOURCES += unictype/combining.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-alnum
+++ b/modules/unictype/ctype-alnum
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_alnum.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-alnum])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALNUM
+lib_SOURCES += unictype/ctype_alnum.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-alpha
+++ b/modules/unictype/ctype-alpha
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_alpha.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-alpha])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_ALPHA
+lib_SOURCES += unictype/ctype_alpha.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-blank
+++ b/modules/unictype/ctype-blank
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_blank.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-blank])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_BLANK
+lib_SOURCES += unictype/ctype_blank.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-cntrl
+++ b/modules/unictype/ctype-cntrl
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_cntrl.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-cntrl])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_CNTRL
+lib_SOURCES += unictype/ctype_cntrl.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-digit
+++ b/modules/unictype/ctype-digit
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_DIGIT
+lib_SOURCES += unictype/ctype_digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-graph
+++ b/modules/unictype/ctype-graph
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_graph.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-graph])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_GRAPH
+lib_SOURCES += unictype/ctype_graph.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-lower
+++ b/modules/unictype/ctype-lower
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_lower.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-lower])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_LOWER
+lib_SOURCES += unictype/ctype_lower.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-print
+++ b/modules/unictype/ctype-print
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_print.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-print])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PRINT
+lib_SOURCES += unictype/ctype_print.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-punct
+++ b/modules/unictype/ctype-punct
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_punct.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-punct])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_PUNCT
+lib_SOURCES += unictype/ctype_punct.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-space
+++ b/modules/unictype/ctype-space
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_space.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-space])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_SPACE
+lib_SOURCES += unictype/ctype_space.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-upper
+++ b/modules/unictype/ctype-upper
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_upper.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-upper])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_UPPER
+lib_SOURCES += unictype/ctype_upper.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/ctype-xdigit
+++ b/modules/unictype/ctype-xdigit
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/ctype_xdigit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/ctype-xdigit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_CTYPE_XDIGIT
+lib_SOURCES += unictype/ctype_xdigit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/decimal-digit
+++ b/modules/unictype/decimal-digit
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/decdigit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/decimal-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_DECIMAL_DIGIT
+lib_SOURCES += unictype/decdigit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/digit
+++ b/modules/unictype/digit
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_DIGIT
+lib_SOURCES += unictype/digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/mirror
+++ b/modules/unictype/mirror
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/mirror.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/mirror])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_MIRROR
+lib_SOURCES += unictype/mirror.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/numeric
+++ b/modules/unictype/numeric
@@ -9,9 +9,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/numeric.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/numeric])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_NUMERIC
+lib_SOURCES += unictype/numeric.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-alphabetic
+++ b/modules/unictype/property-alphabetic
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_alphabetic.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-alphabetic])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ALPHABETIC
+lib_SOURCES += unictype/pr_alphabetic.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-ascii-hex-digit
+++ b/modules/unictype/property-ascii-hex-digit
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_ascii_hex_digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ascii-hex-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ASCII_HEX_DIGIT
+lib_SOURCES += unictype/pr_ascii_hex_digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-arabic-digit
+++ b/modules/unictype/property-bidi-arabic-digit
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_arabic_digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-arabic-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_DIGIT
+lib_SOURCES += unictype/pr_bidi_arabic_digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-arabic-right-to-left
+++ b/modules/unictype/property-bidi-arabic-right-to-left
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_arabic_right_to_left.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-arabic-right-to-left])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT
+lib_SOURCES += unictype/pr_bidi_arabic_right_to_left.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-block-separator
+++ b/modules/unictype/property-bidi-block-separator
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_block_separator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-block-separator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BLOCK_SEPARATOR
+lib_SOURCES += unictype/pr_bidi_block_separator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-boundary-neutral
+++ b/modules/unictype/property-bidi-boundary-neutral
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_boundary_neutral.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-boundary-neutral])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_BOUNDARY_NEUTRAL
+lib_SOURCES += unictype/pr_bidi_boundary_neutral.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-common-separator
+++ b/modules/unictype/property-bidi-common-separator
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_common_separator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-common-separator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_COMMON_SEPARATOR
+lib_SOURCES += unictype/pr_bidi_common_separator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-control
+++ b/modules/unictype/property-bidi-control
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_control.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-control])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_CONTROL
+lib_SOURCES += unictype/pr_bidi_control.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-embedding-or-override
+++ b/modules/unictype/property-bidi-embedding-or-override
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_embedding_or_override.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-embedding-or-override])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE
+lib_SOURCES += unictype/pr_bidi_embedding_or_override.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-eur-num-separator
+++ b/modules/unictype/property-bidi-eur-num-separator
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_eur_num_separator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-eur-num-separator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_SEPARATOR
+lib_SOURCES += unictype/pr_bidi_eur_num_separator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-eur-num-terminator
+++ b/modules/unictype/property-bidi-eur-num-terminator
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_eur_num_terminator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-eur-num-terminator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUR_NUM_TERMINATOR
+lib_SOURCES += unictype/pr_bidi_eur_num_terminator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-european-digit
+++ b/modules/unictype/property-bidi-european-digit
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_european_digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-european-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_EUROPEAN_DIGIT
+lib_SOURCES += unictype/pr_bidi_european_digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-hebrew-right-to-left
+++ b/modules/unictype/property-bidi-hebrew-right-to-left
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_hebrew_right_to_left.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-hebrew-right-to-left])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT
+lib_SOURCES += unictype/pr_bidi_hebrew_right_to_left.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-left-to-right
+++ b/modules/unictype/property-bidi-left-to-right
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_left_to_right.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-left-to-right])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_LEFT_TO_RIGHT
+lib_SOURCES += unictype/pr_bidi_left_to_right.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-non-spacing-mark
+++ b/modules/unictype/property-bidi-non-spacing-mark
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_non_spacing_mark.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-non-spacing-mark])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_NON_SPACING_MARK
+lib_SOURCES += unictype/pr_bidi_non_spacing_mark.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-other-neutral
+++ b/modules/unictype/property-bidi-other-neutral
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_other_neutral.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-other-neutral])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_OTHER_NEUTRAL
+lib_SOURCES += unictype/pr_bidi_other_neutral.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-pdf
+++ b/modules/unictype/property-bidi-pdf
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_pdf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-pdf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_PDF
+lib_SOURCES += unictype/pr_bidi_pdf.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-segment-separator
+++ b/modules/unictype/property-bidi-segment-separator
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_segment_separator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-segment-separator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_SEGMENT_SEPARATOR
+lib_SOURCES += unictype/pr_bidi_segment_separator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-bidi-whitespace
+++ b/modules/unictype/property-bidi-whitespace
@@ -12,9 +12,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_bidi_whitespace.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-bidi-whitespace])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BIDI_WHITESPACE
+lib_SOURCES += unictype/pr_bidi_whitespace.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-byname
+++ b/modules/unictype/property-byname
@@ -89,9 +89,12 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_byname.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-byname])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_BYNAME
+lib_SOURCES += unictype/pr_byname.c
+endif
 
 unictype/pr_byname.h: unictype/pr_byname.gperf
 	$(GPERF) -m 10 $(srcdir)/unictype/pr_byname.gperf > $(srcdir)/unictype/pr_byname.h-t
--- a/modules/unictype/property-combining
+++ b/modules/unictype/property-combining
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_combining.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-combining])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMBINING
+lib_SOURCES += unictype/pr_combining.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-composite
+++ b/modules/unictype/property-composite
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_composite.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-composite])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_COMPOSITE
+lib_SOURCES += unictype/pr_composite.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-currency-symbol
+++ b/modules/unictype/property-currency-symbol
@@ -13,9 +13,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_currency_symbol.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-currency-symbol])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_CURRENCY_SYMBOL
+lib_SOURCES += unictype/pr_currency_symbol.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-dash
+++ b/modules/unictype/property-dash
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_dash.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-dash])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DASH
+lib_SOURCES += unictype/pr_dash.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-decimal-digit
+++ b/modules/unictype/property-decimal-digit
@@ -13,9 +13,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_decimal_digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-decimal-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DECIMAL_DIGIT
+lib_SOURCES += unictype/pr_decimal_digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-default-ignorable-code-point
+++ b/modules/unictype/property-default-ignorable-code-point
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_default_ignorable_code_point.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-default-ignorable-code-point])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT
+lib_SOURCES += unictype/pr_default_ignorable_code_point.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-deprecated
+++ b/modules/unictype/property-deprecated
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_deprecated.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-deprecated])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DEPRECATED
+lib_SOURCES += unictype/pr_deprecated.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-diacritic
+++ b/modules/unictype/property-diacritic
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_diacritic.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-diacritic])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_DIACRITIC
+lib_SOURCES += unictype/pr_diacritic.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-extender
+++ b/modules/unictype/property-extender
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_extender.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-extender])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_EXTENDER
+lib_SOURCES += unictype/pr_extender.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-format-control
+++ b/modules/unictype/property-format-control
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_format_control.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-format-control])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_FORMAT_CONTROL
+lib_SOURCES += unictype/pr_format_control.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-grapheme-base
+++ b/modules/unictype/property-grapheme-base
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_grapheme_base.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-grapheme-base])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_BASE
+lib_SOURCES += unictype/pr_grapheme_base.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-grapheme-extend
+++ b/modules/unictype/property-grapheme-extend
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_grapheme_extend.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-grapheme-extend])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_EXTEND
+lib_SOURCES += unictype/pr_grapheme_extend.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-grapheme-link
+++ b/modules/unictype/property-grapheme-link
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_grapheme_link.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-grapheme-link])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_GRAPHEME_LINK
+lib_SOURCES += unictype/pr_grapheme_link.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-hex-digit
+++ b/modules/unictype/property-hex-digit
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_hex_digit.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-hex-digit])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HEX_DIGIT
+lib_SOURCES += unictype/pr_hex_digit.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-hyphen
+++ b/modules/unictype/property-hyphen
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_hyphen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-hyphen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_HYPHEN
+lib_SOURCES += unictype/pr_hyphen.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-id-continue
+++ b/modules/unictype/property-id-continue
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_id_continue.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-id-continue])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_CONTINUE
+lib_SOURCES += unictype/pr_id_continue.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-id-start
+++ b/modules/unictype/property-id-start
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_id_start.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-id-start])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ID_START
+lib_SOURCES += unictype/pr_id_start.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-ideographic
+++ b/modules/unictype/property-ideographic
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_ideographic.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ideographic])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDEOGRAPHIC
+lib_SOURCES += unictype/pr_ideographic.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-ids-binary-operator
+++ b/modules/unictype/property-ids-binary-operator
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_ids_binary_operator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ids-binary-operator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_BINARY_OPERATOR
+lib_SOURCES += unictype/pr_ids_binary_operator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-ids-trinary-operator
+++ b/modules/unictype/property-ids-trinary-operator
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_ids_trinary_operator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ids-trinary-operator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IDS_TRINARY_OPERATOR
+lib_SOURCES += unictype/pr_ids_trinary_operator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-ignorable-control
+++ b/modules/unictype/property-ignorable-control
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_ignorable_control.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-ignorable-control])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_IGNORABLE_CONTROL
+lib_SOURCES += unictype/pr_ignorable_control.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-iso-control
+++ b/modules/unictype/property-iso-control
@@ -13,9 +13,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_iso_control.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-iso-control])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ISO_CONTROL
+lib_SOURCES += unictype/pr_iso_control.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-join-control
+++ b/modules/unictype/property-join-control
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_join_control.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-join-control])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_JOIN_CONTROL
+lib_SOURCES += unictype/pr_join_control.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-left-of-pair
+++ b/modules/unictype/property-left-of-pair
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_left_of_pair.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-left-of-pair])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LEFT_OF_PAIR
+lib_SOURCES += unictype/pr_left_of_pair.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-line-separator
+++ b/modules/unictype/property-line-separator
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_line_separator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-line-separator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LINE_SEPARATOR
+lib_SOURCES += unictype/pr_line_separator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-logical-order-exception
+++ b/modules/unictype/property-logical-order-exception
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_logical_order_exception.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-logical-order-exception])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOGICAL_ORDER_EXCEPTION
+lib_SOURCES += unictype/pr_logical_order_exception.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-lowercase
+++ b/modules/unictype/property-lowercase
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_lowercase.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-lowercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_LOWERCASE
+lib_SOURCES += unictype/pr_lowercase.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-math
+++ b/modules/unictype/property-math
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_math.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-math])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_MATH
+lib_SOURCES += unictype/pr_math.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-non-break
+++ b/modules/unictype/property-non-break
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_non_break.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-non-break])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NON_BREAK
+lib_SOURCES += unictype/pr_non_break.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-not-a-character
+++ b/modules/unictype/property-not-a-character
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_not_a_character.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-not-a-character])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NOT_A_CHARACTER
+lib_SOURCES += unictype/pr_not_a_character.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-numeric
+++ b/modules/unictype/property-numeric
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_numeric.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-numeric])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_NUMERIC
+lib_SOURCES += unictype/pr_numeric.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-alphabetic
+++ b/modules/unictype/property-other-alphabetic
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_alphabetic.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-alphabetic])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ALPHABETIC
+lib_SOURCES += unictype/pr_other_alphabetic.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-default-ignorable-code-point
+++ b/modules/unictype/property-other-default-ignorable-code-point
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_default_ignorable_code_point.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-default-ignorable-code-point])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT
+lib_SOURCES += unictype/pr_other_default_ignorable_code_point.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-grapheme-extend
+++ b/modules/unictype/property-other-grapheme-extend
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_grapheme_extend.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-grapheme-extend])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_GRAPHEME_EXTEND
+lib_SOURCES += unictype/pr_other_grapheme_extend.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-id-continue
+++ b/modules/unictype/property-other-id-continue
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_id_continue.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-id-continue])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_CONTINUE
+lib_SOURCES += unictype/pr_other_id_continue.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-id-start
+++ b/modules/unictype/property-other-id-start
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_id_start.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-id-start])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_ID_START
+lib_SOURCES += unictype/pr_other_id_start.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-lowercase
+++ b/modules/unictype/property-other-lowercase
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_lowercase.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-lowercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_LOWERCASE
+lib_SOURCES += unictype/pr_other_lowercase.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-math
+++ b/modules/unictype/property-other-math
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_math.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-math])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_MATH
+lib_SOURCES += unictype/pr_other_math.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-other-uppercase
+++ b/modules/unictype/property-other-uppercase
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_other_uppercase.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-other-uppercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_OTHER_UPPERCASE
+lib_SOURCES += unictype/pr_other_uppercase.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-paired-punctuation
+++ b/modules/unictype/property-paired-punctuation
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_paired_punctuation.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-paired-punctuation])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PAIRED_PUNCTUATION
+lib_SOURCES += unictype/pr_paired_punctuation.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-paragraph-separator
+++ b/modules/unictype/property-paragraph-separator
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_paragraph_separator.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-paragraph-separator])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PARAGRAPH_SEPARATOR
+lib_SOURCES += unictype/pr_paragraph_separator.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-pattern-syntax
+++ b/modules/unictype/property-pattern-syntax
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_pattern_syntax.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-pattern-syntax])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_SYNTAX
+lib_SOURCES += unictype/pr_pattern_syntax.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-pattern-white-space
+++ b/modules/unictype/property-pattern-white-space
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_pattern_white_space.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-pattern-white-space])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PATTERN_WHITE_SPACE
+lib_SOURCES += unictype/pr_pattern_white_space.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-private-use
+++ b/modules/unictype/property-private-use
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_private_use.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-private-use])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PRIVATE_USE
+lib_SOURCES += unictype/pr_private_use.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-punctuation
+++ b/modules/unictype/property-punctuation
@@ -13,9 +13,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_punctuation.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-punctuation])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_PUNCTUATION
+lib_SOURCES += unictype/pr_punctuation.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-quotation-mark
+++ b/modules/unictype/property-quotation-mark
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_quotation_mark.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-quotation-mark])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_QUOTATION_MARK
+lib_SOURCES += unictype/pr_quotation_mark.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-radical
+++ b/modules/unictype/property-radical
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_radical.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-radical])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_RADICAL
+lib_SOURCES += unictype/pr_radical.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-sentence-terminal
+++ b/modules/unictype/property-sentence-terminal
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_sentence_terminal.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-sentence-terminal])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SENTENCE_TERMINAL
+lib_SOURCES += unictype/pr_sentence_terminal.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-soft-dotted
+++ b/modules/unictype/property-soft-dotted
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_soft_dotted.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-soft-dotted])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SOFT_DOTTED
+lib_SOURCES += unictype/pr_soft_dotted.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-space
+++ b/modules/unictype/property-space
@@ -13,9 +13,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_space.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-space])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_SPACE
+lib_SOURCES += unictype/pr_space.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-terminal-punctuation
+++ b/modules/unictype/property-terminal-punctuation
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_terminal_punctuation.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-terminal-punctuation])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TERMINAL_PUNCTUATION
+lib_SOURCES += unictype/pr_terminal_punctuation.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-test
+++ b/modules/unictype/property-test
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_test.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-test])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TEST
+lib_SOURCES += unictype/pr_test.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-titlecase
+++ b/modules/unictype/property-titlecase
@@ -13,9 +13,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_titlecase.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-titlecase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_TITLECASE
+lib_SOURCES += unictype/pr_titlecase.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-unassigned-code-value
+++ b/modules/unictype/property-unassigned-code-value
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_unassigned_code_value.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-unassigned-code-value])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNASSIGNED_CODE_VALUE
+lib_SOURCES += unictype/pr_unassigned_code_value.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-unified-ideograph
+++ b/modules/unictype/property-unified-ideograph
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_unified_ideograph.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-unified-ideograph])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UNIFIED_IDEOGRAPH
+lib_SOURCES += unictype/pr_unified_ideograph.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-uppercase
+++ b/modules/unictype/property-uppercase
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_uppercase.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-uppercase])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_UPPERCASE
+lib_SOURCES += unictype/pr_uppercase.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-variation-selector
+++ b/modules/unictype/property-variation-selector
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_variation_selector.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-variation-selector])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_VARIATION_SELECTOR
+lib_SOURCES += unictype/pr_variation_selector.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-white-space
+++ b/modules/unictype/property-white-space
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_white_space.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-white-space])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_WHITE_SPACE
+lib_SOURCES += unictype/pr_white_space.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-xid-continue
+++ b/modules/unictype/property-xid-continue
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_xid_continue.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-xid-continue])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_CONTINUE
+lib_SOURCES += unictype/pr_xid_continue.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-xid-start
+++ b/modules/unictype/property-xid-start
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_xid_start.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-xid-start])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_XID_START
+lib_SOURCES += unictype/pr_xid_start.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/property-zero-width
+++ b/modules/unictype/property-zero-width
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/pr_zero_width.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/property-zero-width])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_PROPERTY_ZERO_WIDTH
+lib_SOURCES += unictype/pr_zero_width.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/scripts
+++ b/modules/unictype/scripts
@@ -11,9 +11,12 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/scripts.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/scripts])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_SCRIPTS
+lib_SOURCES += unictype/scripts.c
+endif
 
 unictype/scripts_byname.h: unictype/scripts_byname.gperf
 	$(GPERF) -m 10 $(srcdir)/unictype/scripts_byname.gperf > $(srcdir)/unictype/scripts_byname.h-t
--- a/modules/unictype/syntax-c-ident
+++ b/modules/unictype/syntax-c-ident
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/sy_c_ident.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/syntax-c-ident])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_IDENT
+lib_SOURCES += unictype/sy_c_ident.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/syntax-c-whitespace
+++ b/modules/unictype/syntax-c-whitespace
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/sy_c_whitespace.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/syntax-c-whitespace])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_C_WHITESPACE
+lib_SOURCES += unictype/sy_c_whitespace.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/syntax-java-ident
+++ b/modules/unictype/syntax-java-ident
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/sy_java_ident.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/syntax-java-ident])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_IDENT
+lib_SOURCES += unictype/sy_java_ident.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unictype/syntax-java-whitespace
+++ b/modules/unictype/syntax-java-whitespace
@@ -8,9 +8,12 @@
 unictype/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unictype/sy_java_whitespace.c])
+gl_LIBUNISTRING_MODULE([0.9], [unictype/syntax-java-whitespace])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNICTYPE_SYNTAX_JAVA_WHITESPACE
+lib_SOURCES += unictype/sy_java_whitespace.c
+endif
 
 Include:
 "unictype.h"
--- a/modules/unilbrk/u16-possible-linebreaks
+++ b/modules/unilbrk/u16-possible-linebreaks
@@ -12,9 +12,12 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/u16-possible-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u16-possible-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_U16_POSSIBLE_LINEBREAKS
+lib_SOURCES += unilbrk/u16-possible-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/u16-width-linebreaks
+++ b/modules/unilbrk/u16-width-linebreaks
@@ -11,9 +11,12 @@
 unistr/u16-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/u16-width-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u16-width-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_U16_WIDTH_LINEBREAKS
+lib_SOURCES += unilbrk/u16-width-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/u32-possible-linebreaks
+++ b/modules/unilbrk/u32-possible-linebreaks
@@ -11,9 +11,12 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/u32-possible-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u32-possible-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_U32_POSSIBLE_LINEBREAKS
+lib_SOURCES += unilbrk/u32-possible-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/u32-width-linebreaks
+++ b/modules/unilbrk/u32-width-linebreaks
@@ -10,9 +10,12 @@
 uniwidth/width
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/u32-width-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u32-width-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_U32_WIDTH_LINEBREAKS
+lib_SOURCES += unilbrk/u32-width-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/u8-possible-linebreaks
+++ b/modules/unilbrk/u8-possible-linebreaks
@@ -12,9 +12,12 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/u8-possible-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u8-possible-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_U8_POSSIBLE_LINEBREAKS
+lib_SOURCES += unilbrk/u8-possible-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/u8-width-linebreaks
+++ b/modules/unilbrk/u8-width-linebreaks
@@ -11,9 +11,12 @@
 unistr/u8-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/u8-width-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/u8-width-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_U8_WIDTH_LINEBREAKS
+lib_SOURCES += unilbrk/u8-width-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/ulc-possible-linebreaks
+++ b/modules/unilbrk/ulc-possible-linebreaks
@@ -12,9 +12,12 @@
 c-ctype
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/ulc-possible-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/ulc-possible-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_ULC_POSSIBLE_LINEBREAKS
+lib_SOURCES += unilbrk/ulc-possible-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/unilbrk/ulc-width-linebreaks
+++ b/modules/unilbrk/ulc-width-linebreaks
@@ -12,9 +12,12 @@
 c-ctype
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unilbrk/ulc-width-linebreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [unilbrk/ulc-width-linebreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNILBRK_ULC_WIDTH_LINEBREAKS
+lib_SOURCES += unilbrk/ulc-width-linebreaks.c
+endif
 
 Include:
 "unilbrk.h"
--- a/modules/uniname/uniname
+++ b/modules/uniname/uniname
@@ -11,9 +11,12 @@
 memcmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniname/uniname.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniname/uniname])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINAME_UNINAME
+lib_SOURCES += uniname/uniname.c
+endif
 
 Include:
 "uniname.h"
--- a/modules/uninorm/canonical-decomposition
+++ b/modules/uninorm/canonical-decomposition
@@ -9,9 +9,12 @@
 uninorm/decomposition-table
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/canonical-decomposition.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/canonical-decomposition])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_CANONICAL_DECOMPOSITION
+lib_SOURCES += uninorm/canonical-decomposition.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/composition
+++ b/modules/uninorm/composition
@@ -10,9 +10,12 @@
 gperf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/composition.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/composition])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_COMPOSITION
+lib_SOURCES += uninorm/composition.c
+endif
 
 uninorm/composition-table.h: $(srcdir)/uninorm/composition-table.gperf
 	$(GPERF) -m 1 $(srcdir)/uninorm/composition-table.gperf > $(srcdir)/uninorm/composition-table.h-t
--- a/modules/uninorm/decomposing-form
+++ b/modules/uninorm/decomposing-form
@@ -9,9 +9,12 @@
 uninorm/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/decomposing-form.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/decomposing-form])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_DECOMPOSING_FORM
+lib_SOURCES += uninorm/decomposing-form.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/decomposition
+++ b/modules/uninorm/decomposition
@@ -9,9 +9,12 @@
 uninorm/decomposition-table
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/decomposition.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/decomposition])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_DECOMPOSITION
+lib_SOURCES += uninorm/decomposition.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/filter
+++ b/modules/uninorm/filter
@@ -12,9 +12,12 @@
 malloc-posix
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/uninorm-filter.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/filter])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_FILTER
+lib_SOURCES += uninorm/uninorm-filter.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/nfc
+++ b/modules/uninorm/nfc
@@ -12,9 +12,12 @@
 uninorm/nfd
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/nfc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_NFC
+lib_SOURCES += uninorm/nfc.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/nfd
+++ b/modules/uninorm/nfd
@@ -10,9 +10,12 @@
 uninorm/canonical-decomposition
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/nfd.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfd])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_NFD
+lib_SOURCES += uninorm/nfd.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/nfkc
+++ b/modules/uninorm/nfkc
@@ -12,9 +12,12 @@
 uninorm/nfkd
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/nfkc.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfkc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_NFKC
+lib_SOURCES += uninorm/nfkc.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/nfkd
+++ b/modules/uninorm/nfkd
@@ -10,9 +10,12 @@
 uninorm/compat-decomposition
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/nfkd.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/nfkd])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_NFKD
+lib_SOURCES += uninorm/nfkd.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u16-normalize
+++ b/modules/uninorm/u16-normalize
@@ -16,9 +16,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u16-normalize])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u16-normalize.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normalize])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U16_NORMALIZE
+lib_SOURCES += uninorm/u16-normalize.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u16-normcmp
+++ b/modules/uninorm/u16-normcmp
@@ -12,9 +12,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u16-normcmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normcmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U16_NORMCMP
+lib_SOURCES += uninorm/u16-normcmp.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u16-normcoll
+++ b/modules/uninorm/u16-normcoll
@@ -11,9 +11,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u16-normcoll.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normcoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U16_NORMCOLL
+lib_SOURCES += uninorm/u16-normcoll.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u16-normxfrm
+++ b/modules/uninorm/u16-normxfrm
@@ -13,9 +13,12 @@
 memxfrm
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u16-normxfrm.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u16-normxfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U16_NORMXFRM
+lib_SOURCES += uninorm/u16-normxfrm.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u32-normalize
+++ b/modules/uninorm/u32-normalize
@@ -16,9 +16,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u32-normalize])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u32-normalize.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normalize])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U32_NORMALIZE
+lib_SOURCES += uninorm/u32-normalize.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u32-normcmp
+++ b/modules/uninorm/u32-normcmp
@@ -12,9 +12,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u32-normcmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normcmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U32_NORMCMP
+lib_SOURCES += uninorm/u32-normcmp.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u32-normcoll
+++ b/modules/uninorm/u32-normcoll
@@ -11,9 +11,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u32-normcoll.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normcoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U32_NORMCOLL
+lib_SOURCES += uninorm/u32-normcoll.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u32-normxfrm
+++ b/modules/uninorm/u32-normxfrm
@@ -13,9 +13,12 @@
 memxfrm
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u32-normxfrm.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u32-normxfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U32_NORMXFRM
+lib_SOURCES += uninorm/u32-normxfrm.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u8-normalize
+++ b/modules/uninorm/u8-normalize
@@ -16,9 +16,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR_FOR_TESTS([uninorm/u8-normalize])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u8-normalize.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normalize])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U8_NORMALIZE
+lib_SOURCES += uninorm/u8-normalize.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u8-normcmp
+++ b/modules/uninorm/u8-normcmp
@@ -12,9 +12,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u8-normcmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normcmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U8_NORMCMP
+lib_SOURCES += uninorm/u8-normcmp.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u8-normcoll
+++ b/modules/uninorm/u8-normcoll
@@ -11,9 +11,12 @@
 memcmp2
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u8-normcoll.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normcoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U8_NORMCOLL
+lib_SOURCES += uninorm/u8-normcoll.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/uninorm/u8-normxfrm
+++ b/modules/uninorm/u8-normxfrm
@@ -13,9 +13,12 @@
 memxfrm
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uninorm/u8-normxfrm.c])
+gl_LIBUNISTRING_MODULE([0.9], [uninorm/u8-normxfrm])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNINORM_U8_NORMXFRM
+lib_SOURCES += uninorm/u8-normxfrm.c
+endif
 
 Include:
 "uninorm.h"
--- a/modules/unistdio/u16-asnprintf
+++ b/modules/unistdio/u16-asnprintf
@@ -11,9 +11,12 @@
 unistdio/u16-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_ASNPRINTF
+lib_SOURCES += unistdio/u16-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-asprintf
+++ b/modules/unistdio/u16-asprintf
@@ -10,9 +10,12 @@
 unistdio/u16-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_ASPRINTF
+lib_SOURCES += unistdio/u16-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-snprintf
+++ b/modules/unistdio/u16-snprintf
@@ -10,9 +10,12 @@
 unistdio/u16-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_SNPRINTF
+lib_SOURCES += unistdio/u16-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-sprintf
+++ b/modules/unistdio/u16-sprintf
@@ -10,9 +10,12 @@
 unistdio/u16-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_SPRINTF
+lib_SOURCES += unistdio/u16-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-asnprintf
+++ b/modules/unistdio/u16-u16-asnprintf
@@ -11,9 +11,12 @@
 unistdio/u16-u16-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASNPRINTF
+lib_SOURCES += unistdio/u16-u16-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-asprintf
+++ b/modules/unistdio/u16-u16-asprintf
@@ -10,9 +10,12 @@
 unistdio/u16-u16-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_ASPRINTF
+lib_SOURCES += unistdio/u16-u16-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-snprintf
+++ b/modules/unistdio/u16-u16-snprintf
@@ -10,9 +10,12 @@
 unistdio/u16-u16-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SNPRINTF
+lib_SOURCES += unistdio/u16-u16-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-sprintf
+++ b/modules/unistdio/u16-u16-sprintf
@@ -10,9 +10,12 @@
 unistdio/u16-u16-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_SPRINTF
+lib_SOURCES += unistdio/u16-u16-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-vasnprintf
+++ b/modules/unistdio/u16-u16-vasnprintf
@@ -47,9 +47,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASNPRINTF
+lib_SOURCES += unistdio/u16-u16-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-vasprintf
+++ b/modules/unistdio/u16-u16-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VASPRINTF
+lib_SOURCES += unistdio/u16-u16-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-vsnprintf
+++ b/modules/unistdio/u16-u16-vsnprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSNPRINTF
+lib_SOURCES += unistdio/u16-u16-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-u16-vsprintf
+++ b/modules/unistdio/u16-u16-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-u16-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-u16-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_U16_VSPRINTF
+lib_SOURCES += unistdio/u16-u16-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-vasnprintf
+++ b/modules/unistdio/u16-vasnprintf
@@ -47,9 +47,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_VASNPRINTF
+lib_SOURCES += unistdio/u16-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-vasprintf
+++ b/modules/unistdio/u16-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_VASPRINTF
+lib_SOURCES += unistdio/u16-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-vsnprintf
+++ b/modules/unistdio/u16-vsnprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_VSNPRINTF
+lib_SOURCES += unistdio/u16-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u16-vsprintf
+++ b/modules/unistdio/u16-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u16-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u16-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U16_VSPRINTF
+lib_SOURCES += unistdio/u16-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-asnprintf
+++ b/modules/unistdio/u32-asnprintf
@@ -11,9 +11,12 @@
 unistdio/u32-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_ASNPRINTF
+lib_SOURCES += unistdio/u32-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-asprintf
+++ b/modules/unistdio/u32-asprintf
@@ -10,9 +10,12 @@
 unistdio/u32-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_ASPRINTF
+lib_SOURCES += unistdio/u32-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-snprintf
+++ b/modules/unistdio/u32-snprintf
@@ -10,9 +10,12 @@
 unistdio/u32-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_SNPRINTF
+lib_SOURCES += unistdio/u32-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-sprintf
+++ b/modules/unistdio/u32-sprintf
@@ -10,9 +10,12 @@
 unistdio/u32-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_SPRINTF
+lib_SOURCES += unistdio/u32-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-asnprintf
+++ b/modules/unistdio/u32-u32-asnprintf
@@ -11,9 +11,12 @@
 unistdio/u32-u32-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASNPRINTF
+lib_SOURCES += unistdio/u32-u32-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-asprintf
+++ b/modules/unistdio/u32-u32-asprintf
@@ -10,9 +10,12 @@
 unistdio/u32-u32-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_ASPRINTF
+lib_SOURCES += unistdio/u32-u32-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-snprintf
+++ b/modules/unistdio/u32-u32-snprintf
@@ -10,9 +10,12 @@
 unistdio/u32-u32-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SNPRINTF
+lib_SOURCES += unistdio/u32-u32-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-sprintf
+++ b/modules/unistdio/u32-u32-sprintf
@@ -10,9 +10,12 @@
 unistdio/u32-u32-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_SPRINTF
+lib_SOURCES += unistdio/u32-u32-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-vasnprintf
+++ b/modules/unistdio/u32-u32-vasnprintf
@@ -47,9 +47,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASNPRINTF
+lib_SOURCES += unistdio/u32-u32-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-vasprintf
+++ b/modules/unistdio/u32-u32-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VASPRINTF
+lib_SOURCES += unistdio/u32-u32-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-vsnprintf
+++ b/modules/unistdio/u32-u32-vsnprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSNPRINTF
+lib_SOURCES += unistdio/u32-u32-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-u32-vsprintf
+++ b/modules/unistdio/u32-u32-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-u32-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-u32-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_U32_VSPRINTF
+lib_SOURCES += unistdio/u32-u32-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-vasnprintf
+++ b/modules/unistdio/u32-vasnprintf
@@ -47,9 +47,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_VASNPRINTF
+lib_SOURCES += unistdio/u32-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-vasprintf
+++ b/modules/unistdio/u32-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_VASPRINTF
+lib_SOURCES += unistdio/u32-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-vsnprintf
+++ b/modules/unistdio/u32-vsnprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_VSNPRINTF
+lib_SOURCES += unistdio/u32-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u32-vsprintf
+++ b/modules/unistdio/u32-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u32-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u32-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U32_VSPRINTF
+lib_SOURCES += unistdio/u32-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-asnprintf
+++ b/modules/unistdio/u8-asnprintf
@@ -11,9 +11,12 @@
 unistdio/u8-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_ASNPRINTF
+lib_SOURCES += unistdio/u8-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-asprintf
+++ b/modules/unistdio/u8-asprintf
@@ -10,9 +10,12 @@
 unistdio/u8-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_ASPRINTF
+lib_SOURCES += unistdio/u8-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-snprintf
+++ b/modules/unistdio/u8-snprintf
@@ -10,9 +10,12 @@
 unistdio/u8-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_SNPRINTF
+lib_SOURCES += unistdio/u8-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-sprintf
+++ b/modules/unistdio/u8-sprintf
@@ -10,9 +10,12 @@
 unistdio/u8-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_SPRINTF
+lib_SOURCES += unistdio/u8-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-asnprintf
+++ b/modules/unistdio/u8-u8-asnprintf
@@ -11,9 +11,12 @@
 unistdio/u8-u8-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASNPRINTF
+lib_SOURCES += unistdio/u8-u8-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-asprintf
+++ b/modules/unistdio/u8-u8-asprintf
@@ -10,9 +10,12 @@
 unistdio/u8-u8-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_ASPRINTF
+lib_SOURCES += unistdio/u8-u8-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-snprintf
+++ b/modules/unistdio/u8-u8-snprintf
@@ -10,9 +10,12 @@
 unistdio/u8-u8-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SNPRINTF
+lib_SOURCES += unistdio/u8-u8-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-sprintf
+++ b/modules/unistdio/u8-u8-sprintf
@@ -10,9 +10,12 @@
 unistdio/u8-u8-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_SPRINTF
+lib_SOURCES += unistdio/u8-u8-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-vasnprintf
+++ b/modules/unistdio/u8-u8-vasnprintf
@@ -47,9 +47,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASNPRINTF
+lib_SOURCES += unistdio/u8-u8-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-vasprintf
+++ b/modules/unistdio/u8-u8-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VASPRINTF
+lib_SOURCES += unistdio/u8-u8-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-vsnprintf
+++ b/modules/unistdio/u8-u8-vsnprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSNPRINTF
+lib_SOURCES += unistdio/u8-u8-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-u8-vsprintf
+++ b/modules/unistdio/u8-u8-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-u8-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-u8-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_U8_VSPRINTF
+lib_SOURCES += unistdio/u8-u8-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-vasnprintf
+++ b/modules/unistdio/u8-vasnprintf
@@ -47,9 +47,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_VASNPRINTF
+lib_SOURCES += unistdio/u8-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-vasprintf
+++ b/modules/unistdio/u8-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_VASPRINTF
+lib_SOURCES += unistdio/u8-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-vsnprintf
+++ b/modules/unistdio/u8-vsnprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_VSNPRINTF
+lib_SOURCES += unistdio/u8-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/u8-vsprintf
+++ b/modules/unistdio/u8-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/u8-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/u8-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_U8_VSPRINTF
+lib_SOURCES += unistdio/u8-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-asnprintf
+++ b/modules/unistdio/ulc-asnprintf
@@ -11,9 +11,12 @@
 unistdio/ulc-vasnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-asnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-asnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASNPRINTF
+lib_SOURCES += unistdio/ulc-asnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-asprintf
+++ b/modules/unistdio/ulc-asprintf
@@ -10,9 +10,12 @@
 unistdio/ulc-vasprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-asprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-asprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_ASPRINTF
+lib_SOURCES += unistdio/ulc-asprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-fprintf
+++ b/modules/unistdio/ulc-fprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-fprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-fprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_FPRINTF
+lib_SOURCES += unistdio/ulc-fprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-snprintf
+++ b/modules/unistdio/ulc-snprintf
@@ -10,9 +10,12 @@
 unistdio/ulc-vsnprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-snprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-snprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_SNPRINTF
+lib_SOURCES += unistdio/ulc-snprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-sprintf
+++ b/modules/unistdio/ulc-sprintf
@@ -10,9 +10,12 @@
 unistdio/ulc-vsprintf
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-sprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-sprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_SPRINTF
+lib_SOURCES += unistdio/ulc-sprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-vasnprintf
+++ b/modules/unistdio/ulc-vasnprintf
@@ -45,9 +45,12 @@
 
 configure.ac:
 gl_PREREQ_VASNPRINTF_WITH_EXTRAS
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-vasnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-vasnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASNPRINTF
+lib_SOURCES += unistdio/ulc-vasnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-vasprintf
+++ b/modules/unistdio/ulc-vasprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-vasprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-vasprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_VASPRINTF
+lib_SOURCES += unistdio/ulc-vasprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-vfprintf
+++ b/modules/unistdio/ulc-vfprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-vfprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-vfprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_VFPRINTF
+lib_SOURCES += unistdio/ulc-vfprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-vsnprintf
+++ b/modules/unistdio/ulc-vsnprintf
@@ -11,9 +11,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-vsnprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-vsnprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSNPRINTF
+lib_SOURCES += unistdio/ulc-vsnprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistdio/ulc-vsprintf
+++ b/modules/unistdio/ulc-vsprintf
@@ -12,9 +12,12 @@
 errno
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistdio/ulc-vsprintf.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistdio/ulc-vsprintf])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTDIO_ULC_VSPRINTF
+lib_SOURCES += unistdio/ulc-vsprintf.c
+endif
 
 Include:
 "unistdio.h"
--- a/modules/unistr/u16-check
+++ b/modules/unistr/u16-check
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-check.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-check])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_CHECK
+lib_SOURCES += unistr/u16-check.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-chr
+++ b/modules/unistr/u16-chr
@@ -9,9 +9,12 @@
 unistr/u16-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-chr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-chr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_CHR
+lib_SOURCES += unistr/u16-chr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-cmp
+++ b/modules/unistr/u16-cmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-cmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-cmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_CMP
+lib_SOURCES += unistr/u16-cmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-cmp2
+++ b/modules/unistr/u16-cmp2
@@ -11,9 +11,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-cmp2.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-cmp2])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_CMP2
+lib_SOURCES += unistr/u16-cmp2.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-cpy
+++ b/modules/unistr/u16-cpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-cpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-cpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_CPY
+lib_SOURCES += unistr/u16-cpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-cpy-alloc
+++ b/modules/unistr/u16-cpy-alloc
@@ -10,9 +10,12 @@
 malloc-posix
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-cpy-alloc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-cpy-alloc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_CPY_ALLOC
+lib_SOURCES += unistr/u16-cpy-alloc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-endswith
+++ b/modules/unistr/u16-endswith
@@ -11,9 +11,12 @@
 unistr/u16-cmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-endswith.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-endswith])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_ENDSWITH
+lib_SOURCES += unistr/u16-endswith.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-mblen
+++ b/modules/unistr/u16-mblen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-mblen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mblen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_MBLEN
+lib_SOURCES += unistr/u16-mblen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-mbsnlen
+++ b/modules/unistr/u16-mbsnlen
@@ -9,9 +9,12 @@
 unistr/u16-mbtoucr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-mbsnlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbsnlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_MBSNLEN
+lib_SOURCES += unistr/u16-mbsnlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-mbtouc
+++ b/modules/unistr/u16-mbtouc
@@ -10,9 +10,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u16-mbtouc])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbtouc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC
+lib_SOURCES += unistr/u16-mbtouc.c unistr/u16-mbtouc-aux.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-mbtouc-unsafe
+++ b/modules/unistr/u16-mbtouc-unsafe
@@ -10,9 +10,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u16-mbtouc-unsafe])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-mbtouc-unsafe.c unistr/u16-mbtouc-unsafe-aux.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbtouc-unsafe])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUC_UNSAFE
+lib_SOURCES += unistr/u16-mbtouc-unsafe.c unistr/u16-mbtouc-unsafe-aux.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-mbtoucr
+++ b/modules/unistr/u16-mbtoucr
@@ -9,9 +9,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u16-mbtoucr])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-mbtoucr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-mbtoucr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_MBTOUCR
+lib_SOURCES += unistr/u16-mbtoucr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-move
+++ b/modules/unistr/u16-move
@@ -10,9 +10,12 @@
 memmove
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-move.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-move])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_MOVE
+lib_SOURCES += unistr/u16-move.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-next
+++ b/modules/unistr/u16-next
@@ -9,9 +9,12 @@
 unistr/u16-strmbtouc
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-next.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-next])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_NEXT
+lib_SOURCES += unistr/u16-next.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-prev
+++ b/modules/unistr/u16-prev
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-prev.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-prev])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_PREV
+lib_SOURCES += unistr/u16-prev.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-set
+++ b/modules/unistr/u16-set
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-set.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-set])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_SET
+lib_SOURCES += unistr/u16-set.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-startswith
+++ b/modules/unistr/u16-startswith
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-startswith.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-startswith])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STARTSWITH
+lib_SOURCES += unistr/u16-startswith.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-stpcpy
+++ b/modules/unistr/u16-stpcpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-stpcpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-stpcpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STPCPY
+lib_SOURCES += unistr/u16-stpcpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-stpncpy
+++ b/modules/unistr/u16-stpncpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u16-stpncpy.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u16-stpncpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STPNCPY
+lib_SOURCES += unistr/u16-stpncpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strcat
+++ b/modules/unistr/u16-strcat
@@ -10,9 +10,12 @@
 unistr/u16-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strcat.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strcat])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRCAT
+lib_SOURCES += unistr/u16-strcat.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strchr
+++ b/modules/unistr/u16-strchr
@@ -9,9 +9,12 @@
 unistr/u16-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strchr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strchr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRCHR
+lib_SOURCES += unistr/u16-strchr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strcmp
+++ b/modules/unistr/u16-strcmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strcmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strcmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRCMP
+lib_SOURCES += unistr/u16-strcmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strcoll
+++ b/modules/unistr/u16-strcoll
@@ -12,9 +12,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.4], [unistr/u16-strcoll.c])
+gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u16-strcoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRCOLL
+lib_SOURCES += unistr/u16-strcoll.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strcpy
+++ b/modules/unistr/u16-strcpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strcpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strcpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRCPY
+lib_SOURCES += unistr/u16-strcpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strcspn
+++ b/modules/unistr/u16-strcspn
@@ -12,9 +12,12 @@
 unistr/u16-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strcspn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strcspn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRCSPN
+lib_SOURCES += unistr/u16-strcspn.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strdup
+++ b/modules/unistr/u16-strdup
@@ -10,9 +10,12 @@
 unistr/u16-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strdup.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strdup])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRDUP
+lib_SOURCES += unistr/u16-strdup.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strlen
+++ b/modules/unistr/u16-strlen
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRLEN
+lib_SOURCES += unistr/u16-strlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strmblen
+++ b/modules/unistr/u16-strmblen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strmblen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strmblen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRMBLEN
+lib_SOURCES += unistr/u16-strmblen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strmbtouc
+++ b/modules/unistr/u16-strmbtouc
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strmbtouc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strmbtouc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRMBTOUC
+lib_SOURCES += unistr/u16-strmbtouc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strncat
+++ b/modules/unistr/u16-strncat
@@ -10,9 +10,12 @@
 unistr/u16-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strncat.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strncat])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRNCAT
+lib_SOURCES += unistr/u16-strncat.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strncmp
+++ b/modules/unistr/u16-strncmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strncmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strncmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRNCMP
+lib_SOURCES += unistr/u16-strncmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strncpy
+++ b/modules/unistr/u16-strncpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strncpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strncpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRNCPY
+lib_SOURCES += unistr/u16-strncpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strnlen
+++ b/modules/unistr/u16-strnlen
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strnlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strnlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRNLEN
+lib_SOURCES += unistr/u16-strnlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strpbrk
+++ b/modules/unistr/u16-strpbrk
@@ -11,9 +11,12 @@
 unistr/u16-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strpbrk.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strpbrk])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRPBRK
+lib_SOURCES += unistr/u16-strpbrk.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strrchr
+++ b/modules/unistr/u16-strrchr
@@ -9,9 +9,12 @@
 unistr/u16-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strrchr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strrchr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRRCHR
+lib_SOURCES += unistr/u16-strrchr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strspn
+++ b/modules/unistr/u16-strspn
@@ -13,9 +13,12 @@
 unistr/u16-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strspn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strspn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRSPN
+lib_SOURCES += unistr/u16-strspn.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strstr
+++ b/modules/unistr/u16-strstr
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strstr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strstr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRSTR
+lib_SOURCES += unistr/u16-strstr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-strtok
+++ b/modules/unistr/u16-strtok
@@ -11,9 +11,12 @@
 unistr/u16-strpbrk
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-strtok.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-strtok])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_STRTOK
+lib_SOURCES += unistr/u16-strtok.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-to-u32
+++ b/modules/unistr/u16-to-u32
@@ -9,9 +9,12 @@
 unistr/u16-mbtoucr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u16-to-u32.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u16-to-u32])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_TO_U32
+lib_SOURCES += unistr/u16-to-u32.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-to-u8
+++ b/modules/unistr/u16-to-u8
@@ -10,9 +10,12 @@
 unistr/u8-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u16-to-u8.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u16-to-u8])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_TO_U8
+lib_SOURCES += unistr/u16-to-u8.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u16-uctomb
+++ b/modules/unistr/u16-uctomb
@@ -10,9 +10,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u16-uctomb])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u16-uctomb.c unistr/u16-uctomb-aux.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u16-uctomb])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U16_UCTOMB
+lib_SOURCES += unistr/u16-uctomb.c unistr/u16-uctomb-aux.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-check
+++ b/modules/unistr/u32-check
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-check.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-check])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_CHECK
+lib_SOURCES += unistr/u32-check.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-chr
+++ b/modules/unistr/u32-chr
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-chr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-chr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_CHR
+lib_SOURCES += unistr/u32-chr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-cmp
+++ b/modules/unistr/u32-cmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-cmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-cmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_CMP
+lib_SOURCES += unistr/u32-cmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-cmp2
+++ b/modules/unistr/u32-cmp2
@@ -11,9 +11,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-cmp2.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-cmp2])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_CMP2
+lib_SOURCES += unistr/u32-cmp2.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-cpy
+++ b/modules/unistr/u32-cpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-cpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-cpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_CPY
+lib_SOURCES += unistr/u32-cpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-cpy-alloc
+++ b/modules/unistr/u32-cpy-alloc
@@ -10,9 +10,12 @@
 malloc-posix
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-cpy-alloc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-cpy-alloc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_CPY_ALLOC
+lib_SOURCES += unistr/u32-cpy-alloc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-endswith
+++ b/modules/unistr/u32-endswith
@@ -11,9 +11,12 @@
 unistr/u32-cmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-endswith.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-endswith])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_ENDSWITH
+lib_SOURCES += unistr/u32-endswith.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-mblen
+++ b/modules/unistr/u32-mblen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-mblen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mblen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_MBLEN
+lib_SOURCES += unistr/u32-mblen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-mbsnlen
+++ b/modules/unistr/u32-mbsnlen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-mbsnlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mbsnlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_MBSNLEN
+lib_SOURCES += unistr/u32-mbsnlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-mbtouc
+++ b/modules/unistr/u32-mbtouc
@@ -9,9 +9,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u32-mbtouc])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-mbtouc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mbtouc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC
+lib_SOURCES += unistr/u32-mbtouc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-mbtouc-unsafe
+++ b/modules/unistr/u32-mbtouc-unsafe
@@ -9,9 +9,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u32-mbtouc-unsafe])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-mbtouc-unsafe.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mbtouc-unsafe])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUC_UNSAFE
+lib_SOURCES += unistr/u32-mbtouc-unsafe.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-mbtoucr
+++ b/modules/unistr/u32-mbtoucr
@@ -9,9 +9,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u32-mbtoucr])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-mbtoucr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-mbtoucr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_MBTOUCR
+lib_SOURCES += unistr/u32-mbtoucr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-move
+++ b/modules/unistr/u32-move
@@ -10,9 +10,12 @@
 memmove
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-move.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-move])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_MOVE
+lib_SOURCES += unistr/u32-move.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-next
+++ b/modules/unistr/u32-next
@@ -9,9 +9,12 @@
 unistr/u32-strmbtouc
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-next.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-next])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_NEXT
+lib_SOURCES += unistr/u32-next.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-prev
+++ b/modules/unistr/u32-prev
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-prev.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-prev])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_PREV
+lib_SOURCES += unistr/u32-prev.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-set
+++ b/modules/unistr/u32-set
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-set.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-set])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_SET
+lib_SOURCES += unistr/u32-set.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-startswith
+++ b/modules/unistr/u32-startswith
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-startswith.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-startswith])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STARTSWITH
+lib_SOURCES += unistr/u32-startswith.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-stpcpy
+++ b/modules/unistr/u32-stpcpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-stpcpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-stpcpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STPCPY
+lib_SOURCES += unistr/u32-stpcpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-stpncpy
+++ b/modules/unistr/u32-stpncpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u32-stpncpy.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u32-stpncpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STPNCPY
+lib_SOURCES += unistr/u32-stpncpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strcat
+++ b/modules/unistr/u32-strcat
@@ -10,9 +10,12 @@
 unistr/u32-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strcat.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strcat])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRCAT
+lib_SOURCES += unistr/u32-strcat.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strchr
+++ b/modules/unistr/u32-strchr
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strchr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strchr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRCHR
+lib_SOURCES += unistr/u32-strchr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strcmp
+++ b/modules/unistr/u32-strcmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strcmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strcmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRCMP
+lib_SOURCES += unistr/u32-strcmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strcoll
+++ b/modules/unistr/u32-strcoll
@@ -12,9 +12,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.4], [unistr/u32-strcoll.c])
+gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u32-strcoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRCOLL
+lib_SOURCES += unistr/u32-strcoll.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strcpy
+++ b/modules/unistr/u32-strcpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strcpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strcpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRCPY
+lib_SOURCES += unistr/u32-strcpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strcspn
+++ b/modules/unistr/u32-strcspn
@@ -10,9 +10,12 @@
 unistr/u32-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strcspn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strcspn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRCSPN
+lib_SOURCES += unistr/u32-strcspn.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strdup
+++ b/modules/unistr/u32-strdup
@@ -10,9 +10,12 @@
 unistr/u32-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strdup.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strdup])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRDUP
+lib_SOURCES += unistr/u32-strdup.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strlen
+++ b/modules/unistr/u32-strlen
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRLEN
+lib_SOURCES += unistr/u32-strlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strmblen
+++ b/modules/unistr/u32-strmblen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strmblen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strmblen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRMBLEN
+lib_SOURCES += unistr/u32-strmblen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strmbtouc
+++ b/modules/unistr/u32-strmbtouc
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strmbtouc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strmbtouc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRMBTOUC
+lib_SOURCES += unistr/u32-strmbtouc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strncat
+++ b/modules/unistr/u32-strncat
@@ -10,9 +10,12 @@
 unistr/u32-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strncat.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strncat])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRNCAT
+lib_SOURCES += unistr/u32-strncat.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strncmp
+++ b/modules/unistr/u32-strncmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strncmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strncmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRNCMP
+lib_SOURCES += unistr/u32-strncmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strncpy
+++ b/modules/unistr/u32-strncpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strncpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strncpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRNCPY
+lib_SOURCES += unistr/u32-strncpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strnlen
+++ b/modules/unistr/u32-strnlen
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strnlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strnlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRNLEN
+lib_SOURCES += unistr/u32-strnlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strpbrk
+++ b/modules/unistr/u32-strpbrk
@@ -9,9 +9,12 @@
 unistr/u32-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strpbrk.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strpbrk])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRPBRK
+lib_SOURCES += unistr/u32-strpbrk.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strrchr
+++ b/modules/unistr/u32-strrchr
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strrchr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strrchr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRRCHR
+lib_SOURCES += unistr/u32-strrchr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strspn
+++ b/modules/unistr/u32-strspn
@@ -9,9 +9,12 @@
 unistr/u32-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strspn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strspn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRSPN
+lib_SOURCES += unistr/u32-strspn.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strstr
+++ b/modules/unistr/u32-strstr
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strstr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strstr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRSTR
+lib_SOURCES += unistr/u32-strstr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-strtok
+++ b/modules/unistr/u32-strtok
@@ -11,9 +11,12 @@
 unistr/u32-strpbrk
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-strtok.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-strtok])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_STRTOK
+lib_SOURCES += unistr/u32-strtok.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-to-u16
+++ b/modules/unistr/u32-to-u16
@@ -9,9 +9,12 @@
 unistr/u16-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-to-u16.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-to-u16])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_TO_U16
+lib_SOURCES += unistr/u32-to-u16.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-to-u8
+++ b/modules/unistr/u32-to-u8
@@ -9,9 +9,12 @@
 unistr/u8-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-to-u8.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-to-u8])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_TO_U8
+lib_SOURCES += unistr/u32-to-u8.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u32-uctomb
+++ b/modules/unistr/u32-uctomb
@@ -9,9 +9,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u32-uctomb])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u32-uctomb.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u32-uctomb])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U32_UCTOMB
+lib_SOURCES += unistr/u32-uctomb.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-check
+++ b/modules/unistr/u8-check
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-check.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-check])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_CHECK
+lib_SOURCES += unistr/u8-check.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-chr
+++ b/modules/unistr/u8-chr
@@ -9,9 +9,12 @@
 unistr/u8-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-chr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-chr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_CHR
+lib_SOURCES += unistr/u8-chr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-cmp
+++ b/modules/unistr/u8-cmp
@@ -9,9 +9,12 @@
 memcmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-cmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-cmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_CMP
+lib_SOURCES += unistr/u8-cmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-cmp2
+++ b/modules/unistr/u8-cmp2
@@ -11,9 +11,12 @@
 minmax
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-cmp2.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-cmp2])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_CMP2
+lib_SOURCES += unistr/u8-cmp2.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-cpy
+++ b/modules/unistr/u8-cpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-cpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-cpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_CPY
+lib_SOURCES += unistr/u8-cpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-cpy-alloc
+++ b/modules/unistr/u8-cpy-alloc
@@ -10,9 +10,12 @@
 malloc-posix
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-cpy-alloc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-cpy-alloc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_CPY_ALLOC
+lib_SOURCES += unistr/u8-cpy-alloc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-endswith
+++ b/modules/unistr/u8-endswith
@@ -11,9 +11,12 @@
 unistr/u8-cmp
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-endswith.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-endswith])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_ENDSWITH
+lib_SOURCES += unistr/u8-endswith.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-mblen
+++ b/modules/unistr/u8-mblen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-mblen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mblen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_MBLEN
+lib_SOURCES += unistr/u8-mblen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-mbsnlen
+++ b/modules/unistr/u8-mbsnlen
@@ -9,9 +9,12 @@
 unistr/u8-mbtoucr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u8-mbsnlen.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-mbsnlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_MBSNLEN
+lib_SOURCES += unistr/u8-mbsnlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-mbtouc
+++ b/modules/unistr/u8-mbtouc
@@ -10,9 +10,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u8-mbtouc])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtouc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC
+lib_SOURCES += unistr/u8-mbtouc.c unistr/u8-mbtouc-aux.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-mbtouc-unsafe
+++ b/modules/unistr/u8-mbtouc-unsafe
@@ -10,9 +10,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u8-mbtouc-unsafe])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtouc-unsafe])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUC_UNSAFE
+lib_SOURCES += unistr/u8-mbtouc-unsafe.c unistr/u8-mbtouc-unsafe-aux.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-mbtoucr
+++ b/modules/unistr/u8-mbtoucr
@@ -9,9 +9,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u8-mbtoucr])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-mbtoucr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR
+lib_SOURCES += unistr/u8-mbtoucr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-move
+++ b/modules/unistr/u8-move
@@ -10,9 +10,12 @@
 memmove
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-move.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-move])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_MOVE
+lib_SOURCES += unistr/u8-move.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-next
+++ b/modules/unistr/u8-next
@@ -9,9 +9,12 @@
 unistr/u8-strmbtouc
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-next.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-next])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_NEXT
+lib_SOURCES += unistr/u8-next.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-prev
+++ b/modules/unistr/u8-prev
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-prev.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-prev])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_PREV
+lib_SOURCES += unistr/u8-prev.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-set
+++ b/modules/unistr/u8-set
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-set.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-set])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_SET
+lib_SOURCES += unistr/u8-set.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-startswith
+++ b/modules/unistr/u8-startswith
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-startswith.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-startswith])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STARTSWITH
+lib_SOURCES += unistr/u8-startswith.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-stpcpy
+++ b/modules/unistr/u8-stpcpy
@@ -10,9 +10,12 @@
 
 configure.ac:
 AC_CHECK_FUNCS_ONCE([stpcpy])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-stpcpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-stpcpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STPCPY
+lib_SOURCES += unistr/u8-stpcpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-stpncpy
+++ b/modules/unistr/u8-stpncpy
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u8-stpncpy.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-stpncpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STPNCPY
+lib_SOURCES += unistr/u8-stpncpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strcat
+++ b/modules/unistr/u8-strcat
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strcat.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strcat])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRCAT
+lib_SOURCES += unistr/u8-strcat.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strchr
+++ b/modules/unistr/u8-strchr
@@ -9,9 +9,12 @@
 unistr/u8-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strchr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strchr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRCHR
+lib_SOURCES += unistr/u8-strchr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strcmp
+++ b/modules/unistr/u8-strcmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strcmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strcmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRCMP
+lib_SOURCES += unistr/u8-strcmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strcoll
+++ b/modules/unistr/u8-strcoll
@@ -12,9 +12,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.4], [unistr/u8-strcoll.c])
+gl_LIBUNISTRING_MODULE([0.9.4], [unistr/u8-strcoll])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRCOLL
+lib_SOURCES += unistr/u8-strcoll.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strcpy
+++ b/modules/unistr/u8-strcpy
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strcpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strcpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRCPY
+lib_SOURCES += unistr/u8-strcpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strcspn
+++ b/modules/unistr/u8-strcspn
@@ -12,9 +12,12 @@
 unistr/u8-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strcspn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strcspn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRCSPN
+lib_SOURCES += unistr/u8-strcspn.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strdup
+++ b/modules/unistr/u8-strdup
@@ -11,9 +11,12 @@
 
 configure.ac:
 AC_CHECK_FUNCS_ONCE([strdup])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strdup.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strdup])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRDUP
+lib_SOURCES += unistr/u8-strdup.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strlen
+++ b/modules/unistr/u8-strlen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRLEN
+lib_SOURCES += unistr/u8-strlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strmblen
+++ b/modules/unistr/u8-strmblen
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strmblen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strmblen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRMBLEN
+lib_SOURCES += unistr/u8-strmblen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strmbtouc
+++ b/modules/unistr/u8-strmbtouc
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strmbtouc.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strmbtouc])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRMBTOUC
+lib_SOURCES += unistr/u8-strmbtouc.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strncat
+++ b/modules/unistr/u8-strncat
@@ -9,9 +9,12 @@
 strncat
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strncat.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strncat])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRNCAT
+lib_SOURCES += unistr/u8-strncat.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strncmp
+++ b/modules/unistr/u8-strncmp
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strncmp.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strncmp])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRNCMP
+lib_SOURCES += unistr/u8-strncmp.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strncpy
+++ b/modules/unistr/u8-strncpy
@@ -8,9 +8,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strncpy.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strncpy])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRNCPY
+lib_SOURCES += unistr/u8-strncpy.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strnlen
+++ b/modules/unistr/u8-strnlen
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strnlen.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strnlen])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRNLEN
+lib_SOURCES += unistr/u8-strnlen.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strpbrk
+++ b/modules/unistr/u8-strpbrk
@@ -11,9 +11,12 @@
 unistr/u8-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strpbrk.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strpbrk])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRPBRK
+lib_SOURCES += unistr/u8-strpbrk.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strrchr
+++ b/modules/unistr/u8-strrchr
@@ -9,9 +9,12 @@
 unistr/u8-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strrchr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strrchr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRRCHR
+lib_SOURCES += unistr/u8-strrchr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strspn
+++ b/modules/unistr/u8-strspn
@@ -13,9 +13,12 @@
 unistr/u8-strchr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strspn.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strspn])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRSPN
+lib_SOURCES += unistr/u8-strspn.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strstr
+++ b/modules/unistr/u8-strstr
@@ -9,9 +9,12 @@
 unistr/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strstr.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strstr])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRSTR
+lib_SOURCES += unistr/u8-strstr.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-strtok
+++ b/modules/unistr/u8-strtok
@@ -11,9 +11,12 @@
 unistr/u8-strpbrk
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-strtok.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-strtok])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_STRTOK
+lib_SOURCES += unistr/u8-strtok.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-to-u16
+++ b/modules/unistr/u8-to-u16
@@ -10,9 +10,12 @@
 unistr/u16-uctomb
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u8-to-u16.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-to-u16])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_TO_U16
+lib_SOURCES += unistr/u8-to-u16.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-to-u32
+++ b/modules/unistr/u8-to-u32
@@ -9,9 +9,12 @@
 unistr/u8-mbtoucr
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9.3], [unistr/u8-to-u32.c])
+gl_LIBUNISTRING_MODULE([0.9.3], [unistr/u8-to-u32])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_TO_U32
+lib_SOURCES += unistr/u8-to-u32.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/unistr/u8-uctomb
+++ b/modules/unistr/u8-uctomb
@@ -10,9 +10,12 @@
 
 configure.ac:
 gl_MODULE_INDICATOR([unistr/u8-uctomb])
-gl_LIBUNISTRING_LIBSOURCE([0.9], [unistr/u8-uctomb.c unistr/u8-uctomb-aux.c])
+gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB
+lib_SOURCES += unistr/u8-uctomb.c unistr/u8-uctomb-aux.c
+endif
 
 Include:
 "unistr.h"
--- a/modules/uniwbrk/u16-wordbreaks
+++ b/modules/uniwbrk/u16-wordbreaks
@@ -12,9 +12,12 @@
 unistr/u16-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwbrk/u16-wordbreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/u16-wordbreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWBRK_U16_WORDBREAKS
+lib_SOURCES += uniwbrk/u16-wordbreaks.c
+endif
 
 Include:
 "uniwbrk.h"
--- a/modules/uniwbrk/u32-wordbreaks
+++ b/modules/uniwbrk/u32-wordbreaks
@@ -12,9 +12,12 @@
 unistr/u32-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwbrk/u32-wordbreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/u32-wordbreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWBRK_U32_WORDBREAKS
+lib_SOURCES += uniwbrk/u32-wordbreaks.c
+endif
 
 Include:
 "uniwbrk.h"
--- a/modules/uniwbrk/u8-wordbreaks
+++ b/modules/uniwbrk/u8-wordbreaks
@@ -12,9 +12,12 @@
 unistr/u8-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwbrk/u8-wordbreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/u8-wordbreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWBRK_U8_WORDBREAKS
+lib_SOURCES += uniwbrk/u8-wordbreaks.c
+endif
 
 Include:
 "uniwbrk.h"
--- a/modules/uniwbrk/ulc-wordbreaks
+++ b/modules/uniwbrk/ulc-wordbreaks
@@ -13,9 +13,12 @@
 localcharset
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwbrk/ulc-wordbreaks.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/ulc-wordbreaks])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWBRK_ULC_WORDBREAKS
+lib_SOURCES += uniwbrk/ulc-wordbreaks.c
+endif
 
 Include:
 "uniwbrk.h"
--- a/modules/uniwbrk/wordbreak-property
+++ b/modules/uniwbrk/wordbreak-property
@@ -9,9 +9,12 @@
 uniwbrk/base
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwbrk/wordbreak-property.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwbrk/wordbreak-property])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWBRK_WORDBREAK_PROPERTY
+lib_SOURCES += uniwbrk/wordbreak-property.c
+endif
 
 Include:
 "uniwbrk.h"
--- a/modules/uniwidth/u16-strwidth
+++ b/modules/uniwidth/u16-strwidth
@@ -10,9 +10,12 @@
 unistr/u16-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/u16-strwidth.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/u16-strwidth])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_U16_STRWIDTH
+lib_SOURCES += uniwidth/u16-strwidth.c
+endif
 
 Include:
 "uniwidth.h"
--- a/modules/uniwidth/u16-width
+++ b/modules/uniwidth/u16-width
@@ -10,9 +10,12 @@
 unistr/u16-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/u16-width.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/u16-width])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_U16_WIDTH
+lib_SOURCES += uniwidth/u16-width.c
+endif
 
 Include:
 "uniwidth.h"
--- a/modules/uniwidth/u32-strwidth
+++ b/modules/uniwidth/u32-strwidth
@@ -10,9 +10,12 @@
 unistr/u32-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/u32-strwidth.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/u32-strwidth])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_U32_STRWIDTH
+lib_SOURCES += uniwidth/u32-strwidth.c
+endif
 
 Include:
 "uniwidth.h"
--- a/modules/uniwidth/u32-width
+++ b/modules/uniwidth/u32-width
@@ -9,9 +9,12 @@
 uniwidth/width
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/u32-width.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/u32-width])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_U32_WIDTH
+lib_SOURCES += uniwidth/u32-width.c
+endif
 
 Include:
 "uniwidth.h"
--- a/modules/uniwidth/u8-strwidth
+++ b/modules/uniwidth/u8-strwidth
@@ -10,9 +10,12 @@
 unistr/u8-strlen
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/u8-strwidth.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/u8-strwidth])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_U8_STRWIDTH
+lib_SOURCES += uniwidth/u8-strwidth.c
+endif
 
 Include:
 "uniwidth.h"
--- a/modules/uniwidth/u8-width
+++ b/modules/uniwidth/u8-width
@@ -10,9 +10,12 @@
 unistr/u8-mbtouc-unsafe
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/u8-width.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/u8-width])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_U8_WIDTH
+lib_SOURCES += uniwidth/u8-width.c
+endif
 
 Include:
 "uniwidth.h"
--- a/modules/uniwidth/width
+++ b/modules/uniwidth/width
@@ -10,9 +10,12 @@
 streq
 
 configure.ac:
-gl_LIBUNISTRING_LIBSOURCE([0.9], [uniwidth/width.c])
+gl_LIBUNISTRING_MODULE([0.9], [uniwidth/width])
 
 Makefile.am:
+if LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH
+lib_SOURCES += uniwidth/width.c
+endif
 
 Include:
 "uniwidth.h"