aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rw-r--r--csu/Makefile9
-rw-r--r--iconvdata/8bit-gap.c6
-rw-r--r--iconvdata/Makefile219
-rw-r--r--iconvdata/gen-8bit-gap-1.sh18
-rw-r--r--iconvdata/gen-8bit-gap.sh18
-rw-r--r--iconvdata/gen-8bit.sh13
-rw-r--r--localedata/locales/ru_SU3
8 files changed, 191 insertions, 121 deletions
diff --git a/ChangeLog b/ChangeLog
index 9aa9479..c3619dc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+1998-05-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * iconvdata/8bit-gap.c (BODY): Don't fall off the end of the gap
+ table.
+
+1998-05-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * iconvdata/gen-8bit.sh: New file.
+ * iconvdata/gen-8bit-gap.sh: New file.
+ * iconvdata/gen-8bit-gap-1.sh: New file.
+ * iconvdata/Makefile (generate-8bit-table): Use shell script
+ instead of writing the commands directly.
+ (generate-8bit-gap-table): Likewise.
+ ($(objpfx)iso8859-7jp.h): Likewise.
+ (generated headers): Depend on shell script instead of Makefile.
+ (before-compile): Add $(perl-generated-headers) only if perl is
+ available.
+ (headers): Depend on $(perl-generated-headers) only if perl is
+ available.
+ (sed-generated-headers): Remove iso8859-7jp.h.
+
+1998-05-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * csu/Makefile ($(objpfx)abi-tag.h): Double $ in command. Clean up.
+ (/): Removed.
+
1998-05-12 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wcsmbsload.c (extract_charset_name): Pass correctly
diff --git a/csu/Makefile b/csu/Makefile
index 6d804f4..fcbaaf0 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -149,15 +149,16 @@ $(addprefix $(objpfx),$(filter-out $(start-installed-name),$(csu-dummies))):
rm -f $(@:.o=.c)
# These headers are used by the startup code.
-/ := $$/# bite me.
$(objpfx)abi-tag.h: $(..)abi-tags
$(make-target-directory)
rm -f $@.new
- sed 's/#.*$//;/^[ ]*$/d' $< | while read conf tag; do \
+ sed -e 's/#.*$$//' -e '/^[ ]*$$/d' $< | \
+ while read conf tag; do \
test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \
: "$$conf"` != 0 || continue; \
- echo "$$tag" | sed > $@.new \
- 's/[^0-9xXa-fA-F]/ /g;s/ *$//;s/ /,/g;s/^ */#define ABI_TAG /';\
+ echo "$$tag" | \
+ sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$$//' \
+ -e 's/ /,/g' -e 's/^ */#define ABI_TAG /' > $@.new; \
done
if test -r $@.new; then mv -f $@.new $@; \
else echo >&2 'This configuration not matched in $<'; exit 1; fi
diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c
index 137a61b..d9fe4dd 100644
--- a/iconvdata/8bit-gap.c
+++ b/iconvdata/8bit-gap.c
@@ -71,6 +71,12 @@ struct gap
uint32_t ch = *((uint32_t *) inptr); \
unsigned char res; \
\
+ if (ch >= 0xffff) \
+ { \
+ /* This is an illegal character. */ \
+ result = GCONV_ILLEGAL_INPUT; \
+ break; \
+ } \
while (ch > rp->end) \
++rp; \
if (ch < rp->start) \
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index c9eb780..778de6e 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -225,12 +225,9 @@ install-others = $(addprefix $(inst_gconvdir)/, $(modules.so)) \
# tables for numerous charsets.
define generate-8bit-table
$(make-target-directory)
-( echo "static const uint32_t to_ucs4[256] = {"; \
- sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
- echo "};"; \
- echo "static const char from_ucs4[] = {"; \
- sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\2] = 0x\1,/p' -e d $^ | sort -u; \
- echo "};" ) > $@.new && rm -f $@ && mv $@.new $@
+rm -f $@.new
+$(SHELL) ./gen-8bit.sh $< > $@.new
+mv -f $@.new $@
endef
sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-6.h \
@@ -242,20 +239,13 @@ sed-generated-headers := iso8859-2.h iso8859-3.h iso8859-4.h iso8859-6.h \
ebcdic-pt.h ebcdic-uk.h ebcdic-us.h ibm037.h \
ibm038.h ibm274.h ibm275.h ibm423.h ibm424.h \
ibm500.h ibm870.h ibm871.h ibm891.h ibm903.h \
- ibm904.h ibm905.h ibm1047.h iso8859-7jp.h
+ ibm904.h ibm905.h ibm1047.h
define generate-8bit-gap-table
$(make-target-directory)
-( echo "static const uint32_t to_ucs4[256] = {"; \
- sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' -e d $^ | sort -u; \
- echo "};"; \
- echo "static const struct gap from_idx[] = {"; \
- sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gap.pl; \
- echo " { start: 0xffff, end: 0xffff, idx: 0 }"; \
- echo "};"; \
- echo "static const char from_ucs4[] = {"; \
- sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gaptab.pl; \
- echo "};" ) > $@.new && rm -f $@ && mv $@.new $@
+rm -f $@.new
+PERL="$(PERL)" $(SHELL) ./gen-8bit-gap.sh $< > $@.new
+mv -f $@.new $@
endef
perl-generated-headers := koi8-r.h latin-greek.h latin-greek-1.h \
@@ -276,199 +266,196 @@ generated += $(objpfx)gconv-modules
endif
# The headers must be generated before the compilation.
-before-compile = $(addprefix $(objpfx),$(sed-generated-headers)) \
- $(addprefix $(objpfx),$(perl-generated-headers))
+before-compile = $(addprefix $(objpfx),$(sed-generated-headers))
+ifneq ($(PERL),no)
+before-compile += $(addprefix $(objpfx),$(perl-generated-headers))
+endif
# Rules to generate the headers.
-$(objpfx)iso8859-2.h: ../localedata/charmaps/ISO-8859-2 Makefile
+$(objpfx)iso8859-2.h: ../localedata/charmaps/ISO-8859-2 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)iso8859-3.h: ../localedata/charmaps/ISO-8859-3 Makefile
+$(objpfx)iso8859-3.h: ../localedata/charmaps/ISO-8859-3 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)iso8859-4.h: ../localedata/charmaps/ISO-8859-4 Makefile
+$(objpfx)iso8859-4.h: ../localedata/charmaps/ISO-8859-4 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)iso8859-6.h: ../localedata/charmaps/ISO-8859-6 Makefile
+$(objpfx)iso8859-6.h: ../localedata/charmaps/ISO-8859-6 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)iso8859-9.h: ../localedata/charmaps/ISO-8859-9 Makefile
+$(objpfx)iso8859-9.h: ../localedata/charmaps/ISO-8859-9 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)koi-8.h: ../localedata/charmaps/KOI-8 Makefile
+$(objpfx)koi-8.h: ../localedata/charmaps/KOI-8 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)hp-roman8.h: ../localedata/charmaps/HP-ROMAN8 Makefile
+$(objpfx)hp-roman8.h: ../localedata/charmaps/HP-ROMAN8 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-at-de.h: ../localedata/charmaps/EBCDIC-AT-DE Makefile
+$(objpfx)ebcdic-at-de.h: ../localedata/charmaps/EBCDIC-AT-DE gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-at-de-a.h: ../localedata/charmaps/EBCDIC-AT-DE-A Makefile
+$(objpfx)ebcdic-at-de-a.h: ../localedata/charmaps/EBCDIC-AT-DE-A gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-ca-fr.h: ../localedata/charmaps/EBCDIC-CA-FR Makefile
+$(objpfx)ebcdic-ca-fr.h: ../localedata/charmaps/EBCDIC-CA-FR gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-dk-no.h: ../localedata/charmaps/EBCDIC-DK-NO Makefile
+$(objpfx)ebcdic-dk-no.h: ../localedata/charmaps/EBCDIC-DK-NO gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-dk-no-a.h: ../localedata/charmaps/EBCDIC-DK-NO-A Makefile
+$(objpfx)ebcdic-dk-no-a.h: ../localedata/charmaps/EBCDIC-DK-NO-A gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-es.h: ../localedata/charmaps/EBCDIC-ES Makefile
+$(objpfx)ebcdic-es.h: ../localedata/charmaps/EBCDIC-ES gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-es-a.h: ../localedata/charmaps/EBCDIC-ES-A Makefile
+$(objpfx)ebcdic-es-a.h: ../localedata/charmaps/EBCDIC-ES-A gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-es-s.h: ../localedata/charmaps/EBCDIC-ES-S Makefile
+$(objpfx)ebcdic-es-s.h: ../localedata/charmaps/EBCDIC-ES-S gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-fi-se.h: ../localedata/charmaps/EBCDIC-FI-SE Makefile
+$(objpfx)ebcdic-fi-se.h: ../localedata/charmaps/EBCDIC-FI-SE gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-fi-se-a.h: ../localedata/charmaps/EBCDIC-FI-SE-A Makefile
+$(objpfx)ebcdic-fi-se-a.h: ../localedata/charmaps/EBCDIC-FI-SE-A gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-fr.h: ../localedata/charmaps/EBCDIC-FR Makefile
+$(objpfx)ebcdic-fr.h: ../localedata/charmaps/EBCDIC-FR gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-is-friss.h: ../localedata/charmaps/EBCDIC-IS-FRISS Makefile
+$(objpfx)ebcdic-is-friss.h: ../localedata/charmaps/EBCDIC-IS-FRISS gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-it.h: ../localedata/charmaps/EBCDIC-IT Makefile
+$(objpfx)ebcdic-it.h: ../localedata/charmaps/EBCDIC-IT gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-pt.h: ../localedata/charmaps/EBCDIC-PT Makefile
+$(objpfx)ebcdic-pt.h: ../localedata/charmaps/EBCDIC-PT gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-uk.h: ../localedata/charmaps/EBCDIC-UK Makefile
+$(objpfx)ebcdic-uk.h: ../localedata/charmaps/EBCDIC-UK gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ebcdic-us.h: ../localedata/charmaps/EBCDIC-US Makefile
+$(objpfx)ebcdic-us.h: ../localedata/charmaps/EBCDIC-US gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm037.h: ../localedata/charmaps/IBM037 Makefile
+$(objpfx)ibm037.h: ../localedata/charmaps/IBM037 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm038.h: ../localedata/charmaps/IBM038 Makefile
+$(objpfx)ibm038.h: ../localedata/charmaps/IBM038 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm274.h: ../localedata/charmaps/IBM274 Makefile
+$(objpfx)ibm274.h: ../localedata/charmaps/IBM274 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm275.h: ../localedata/charmaps/IBM275 Makefile
+$(objpfx)ibm275.h: ../localedata/charmaps/IBM275 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm423.h: ../localedata/charmaps/IBM423 Makefile
+$(objpfx)ibm423.h: ../localedata/charmaps/IBM423 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm500.h: ../localedata/charmaps/IBM500 Makefile
+$(objpfx)ibm500.h: ../localedata/charmaps/IBM500 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm870.h: ../localedata/charmaps/IBM870 Makefile
+$(objpfx)ibm870.h: ../localedata/charmaps/IBM870 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm871.h: ../localedata/charmaps/IBM871 Makefile
+$(objpfx)ibm871.h: ../localedata/charmaps/IBM871 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm891.h: ../localedata/charmaps/IBM891 Makefile
+$(objpfx)ibm891.h: ../localedata/charmaps/IBM891 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm903.h: ../localedata/charmaps/IBM903 Makefile
+$(objpfx)ibm903.h: ../localedata/charmaps/IBM903 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm904.h: ../localedata/charmaps/IBM904 Makefile
+$(objpfx)ibm904.h: ../localedata/charmaps/IBM904 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm905.h: ../localedata/charmaps/IBM905 Makefile
+$(objpfx)ibm905.h: ../localedata/charmaps/IBM905 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)ibm1047.h: ../localedata/charmaps/IBM1047 Makefile
+$(objpfx)ibm1047.h: ../localedata/charmaps/IBM1047 gen-8bit.sh
$(generate-8bit-table)
-$(objpfx)iso8859-7jp.h: ../localedata/charmaps/ISO-8859-7 Makefile
- $(make-target-directory)
- ( echo "static const uint32_t iso88597_to_ucs4[96] = {"; \
- sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/ [0x\1 - 0xA0] = 0x\2,/p' -e d $^ | sort -u; \
- echo "};"; \
- echo "static const struct gap from_idx[] = {"; \
- sed -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gap.pl; \
- echo " { start: 0xffff, end: 0xffff, idx: 0 }"; \
- echo "};"; \
- echo "static const char iso88597_from_ucs4[] = {"; \
- sed -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' -e d $^ | sort -u | $(PERL) gaptab.pl; \
- echo "};" ) > $@.new && rm -f $@ && mv $@.new $@
-
ifneq ($(PERL),no)
-$(objpfx)iso8859-5.h: ../localedata/charmaps/ISO-8859-5 Makefile
+$(objpfx)iso8859-7jp.h: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap-1.sh
+ $(make-target-directory)
+ rm -f $@.new
+ PERL="$(PERL)" $(SHELL) ./gen-8bit-gap-1.sh $< >$@.new
+ mv -f $@.new $@
+
+$(objpfx)iso8859-5.h: ../localedata/charmaps/ISO-8859-5 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)iso8859-7.h: ../localedata/charmaps/ISO-8859-7 Makefile
+$(objpfx)iso8859-7.h: ../localedata/charmaps/ISO-8859-7 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)iso8859-8.h: ../localedata/charmaps/ISO-8859-8 Makefile
+$(objpfx)iso8859-8.h: ../localedata/charmaps/ISO-8859-8 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)iso8859-10.h: ../localedata/charmaps/ISO-8859-10 Makefile
+$(objpfx)iso8859-10.h: ../localedata/charmaps/ISO-8859-10 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)koi8-r.h: ../localedata/charmaps/KOI8-R Makefile
+$(objpfx)koi8-r.h: ../localedata/charmaps/KOI8-R gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)latin-greek.h: ../localedata/charmaps/LATIN-GREEK Makefile
+$(objpfx)latin-greek.h: ../localedata/charmaps/LATIN-GREEK gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)latin-greek-1.h: ../localedata/charmaps/LATIN-GREEK-1 Makefile
+$(objpfx)latin-greek-1.h: ../localedata/charmaps/LATIN-GREEK-1 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm256.h: ../localedata/charmaps/IBM256 Makefile
+$(objpfx)ibm256.h: ../localedata/charmaps/IBM256 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm273.h: ../localedata/charmaps/IBM273 Makefile
+$(objpfx)ibm273.h: ../localedata/charmaps/IBM273 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm277.h: ../localedata/charmaps/IBM277 Makefile
+$(objpfx)ibm277.h: ../localedata/charmaps/IBM277 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm278.h: ../localedata/charmaps/IBM278 Makefile
+$(objpfx)ibm278.h: ../localedata/charmaps/IBM278 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm280.h: ../localedata/charmaps/IBM280 Makefile
+$(objpfx)ibm280.h: ../localedata/charmaps/IBM280 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm281.h: ../localedata/charmaps/IBM281 Makefile
+$(objpfx)ibm281.h: ../localedata/charmaps/IBM281 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm284.h: ../localedata/charmaps/IBM284 Makefile
+$(objpfx)ibm284.h: ../localedata/charmaps/IBM284 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm285.h: ../localedata/charmaps/IBM285 Makefile
+$(objpfx)ibm285.h: ../localedata/charmaps/IBM285 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm290.h: ../localedata/charmaps/IBM290 Makefile
+$(objpfx)ibm290.h: ../localedata/charmaps/IBM290 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm297.h: ../localedata/charmaps/IBM297 Makefile
+$(objpfx)ibm297.h: ../localedata/charmaps/IBM297 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm420.h: ../localedata/charmaps/IBM420 Makefile
+$(objpfx)ibm420.h: ../localedata/charmaps/IBM420 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm424.h: ../localedata/charmaps/IBM424 Makefile
+$(objpfx)ibm424.h: ../localedata/charmaps/IBM424 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm437.h: ../localedata/charmaps/IBM437 Makefile
+$(objpfx)ibm437.h: ../localedata/charmaps/IBM437 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm850.h: ../localedata/charmaps/IBM850 Makefile
+$(objpfx)ibm850.h: ../localedata/charmaps/IBM850 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm851.h: ../localedata/charmaps/IBM851 Makefile
+$(objpfx)ibm851.h: ../localedata/charmaps/IBM851 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm852.h: ../localedata/charmaps/IBM852 Makefile
+$(objpfx)ibm852.h: ../localedata/charmaps/IBM852 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm855.h: ../localedata/charmaps/IBM855 Makefile
+$(objpfx)ibm855.h: ../localedata/charmaps/IBM855 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm857.h: ../localedata/charmaps/IBM857 Makefile
+$(objpfx)ibm857.h: ../localedata/charmaps/IBM857 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm860.h: ../localedata/charmaps/IBM860 Makefile
+$(objpfx)ibm860.h: ../localedata/charmaps/IBM860 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm861.h: ../localedata/charmaps/IBM861 Makefile
+$(objpfx)ibm861.h: ../localedata/charmaps/IBM861 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm862.h: ../localedata/charmaps/IBM862 Makefile
+$(objpfx)ibm862.h: ../localedata/charmaps/IBM862 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm863.h: ../localedata/charmaps/IBM863 Makefile
+$(objpfx)ibm863.h: ../localedata/charmaps/IBM863 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm864.h: ../localedata/charmaps/IBM864 Makefile
+$(objpfx)ibm864.h: ../localedata/charmaps/IBM864 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm865.h: ../localedata/charmaps/IBM865 Makefile
+$(objpfx)ibm865.h: ../localedata/charmaps/IBM865 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm868.h: ../localedata/charmaps/IBM868 Makefile
+$(objpfx)ibm868.h: ../localedata/charmaps/IBM868 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm869.h: ../localedata/charmaps/IBM869 Makefile
+$(objpfx)ibm869.h: ../localedata/charmaps/IBM869 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm875.h: ../localedata/charmaps/IBM875 Makefile
+$(objpfx)ibm875.h: ../localedata/charmaps/IBM875 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm880.h: ../localedata/charmaps/IBM880 Makefile
+$(objpfx)ibm880.h: ../localedata/charmaps/IBM880 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm918.h: ../localedata/charmaps/IBM918 Makefile
+$(objpfx)ibm918.h: ../localedata/charmaps/IBM918 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm1004.h: ../localedata/charmaps/IBM1004 Makefile
+$(objpfx)ibm1004.h: ../localedata/charmaps/IBM1004 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)ibm1026.h: ../localedata/charmaps/IBM1026 Makefile
+$(objpfx)ibm1026.h: ../localedata/charmaps/IBM1026 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1250.h: ../localedata/charmaps/CP1250 Makefile
+$(objpfx)cp1250.h: ../localedata/charmaps/CP1250 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1251.h: ../localedata/charmaps/CP1251 Makefile
+$(objpfx)cp1251.h: ../localedata/charmaps/CP1251 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1252.h: ../localedata/charmaps/CP1252 Makefile
+$(objpfx)cp1252.h: ../localedata/charmaps/CP1252 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1253.h: ../localedata/charmaps/CP1253 Makefile
+$(objpfx)cp1253.h: ../localedata/charmaps/CP1253 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1254.h: ../localedata/charmaps/CP1254 Makefile
+$(objpfx)cp1254.h: ../localedata/charmaps/CP1254 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1255.h: ../localedata/charmaps/CP1255 Makefile
+$(objpfx)cp1255.h: ../localedata/charmaps/CP1255 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1256.h: ../localedata/charmaps/CP1256 Makefile
+$(objpfx)cp1256.h: ../localedata/charmaps/CP1256 gen-8bit-gap.sh
$(generate-8bit-gap-table)
-$(objpfx)cp1257.h: ../localedata/charmaps/CP1257 Makefile
+$(objpfx)cp1257.h: ../localedata/charmaps/CP1257 gen-8bit-gap.sh
$(generate-8bit-gap-table)
endif
-headers: $(addprefix $(objpfx),$(sed-generated-headers)) \
- $(addprefix $(objpfx),$(perl-generated-headers))
+headers: $(addprefix $(objpfx),$(sed-generated-headers))
+ifneq ($(PERL),no)
+headers: $(addprefix $(objpfx),$(perl-generated-headers))
+endif
$(addprefix $(inst_gconvdir)/, $(modules.so)): \
diff --git a/iconvdata/gen-8bit-gap-1.sh b/iconvdata/gen-8bit-gap-1.sh
new file mode 100644
index 0000000..febf2ea
--- /dev/null
+++ b/iconvdata/gen-8bit-gap-1.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+echo "static const uint32_t iso88597_to_ucs4[96] = {"
+sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+ -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/ [0x\1 - 0xA0] = 0x\2,/p' \
+ -e d "$@" | \
+sort -u
+echo "};"
+echo "static const struct gap from_idx[] = {"
+sed -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
+ -e d "$@" | \
+sort -u | $PERL gap.pl
+echo " { start: 0xffff, end: 0xffff, idx: 0 }"
+echo "};"
+echo "static const char iso88597_from_ucs4[] = {"
+sed -e 's/^[^[:space:]]*[[:space:]]*.x\([A-F].\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
+ -e d "$@" | \
+sort -u | $PERL gaptab.pl
+echo "};"
diff --git a/iconvdata/gen-8bit-gap.sh b/iconvdata/gen-8bit-gap.sh
new file mode 100644
index 0000000..fd05a6b
--- /dev/null
+++ b/iconvdata/gen-8bit-gap.sh
@@ -0,0 +1,18 @@
+#! /bin/sh
+echo "static const uint32_t to_ucs4[256] = {"
+sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+ -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' \
+ -e d "$@" | \
+sort -u
+echo "};"
+echo "static const struct gap from_idx[] = {"
+sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
+ -e d "$@" | \
+sort -u | $PERL gap.pl
+echo " { start: 0xffff, end: 0xffff, idx: 0 }"
+echo "};"
+echo "static const char from_ucs4[] = {"
+sed -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/0x\2 0x\1/p' \
+ -e d "$@" | \
+sort -u | $PERL gaptab.pl
+echo "};"
diff --git a/iconvdata/gen-8bit.sh b/iconvdata/gen-8bit.sh
new file mode 100644
index 0000000..efa44ea
--- /dev/null
+++ b/iconvdata/gen-8bit.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+echo "static const uint32_t to_ucs4[256] = {"
+sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+ -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\1] = 0x\2,/p' \
+ -e d "$@" | \
+sort -u
+echo "};"
+echo "static const char from_ucs4[] = {"
+sed -e '/^[^[:space:]]*[[:space:]]*.x00/d' \
+ -e 's/^[^[:space:]]*[[:space:]]*.x\(..\)[[:space:]]*<U\(....\)>.*/ [0x\2] = 0x\1,/p' \
+ -e d "$@" | \
+sort -u
+echo "};"
diff --git a/localedata/locales/ru_SU b/localedata/locales/ru_SU
index 8993099..17ff12b 100644
--- a/localedata/locales/ru_SU
+++ b/localedata/locales/ru_SU
@@ -1,5 +1,6 @@
comment_char %
escape_char /
+repertoiremap mnemonic.ds
%
% Russian Language Locale for Russia
% Source: RAP
@@ -15,7 +16,7 @@ escape_char /
% Date: 1996-10-15
% Application: general
% Users: general
-% Repertoiremap: mnemonic,ds
+% Repertoiremap: mnemonic.ds
% Charset: KOI8-R
% Distribution and use is free, also
% for commercial purposes.