newlib: drop unused iconvdata

This was only ever used for i?86-pc-linux-gnu targets, but that's been
broken for years, and has since been dropped.  So clean this up too.
This commit is contained in:
Mike Frysinger 2022-02-07 05:05:27 -05:00
parent 462d6942f6
commit e01b2bb014
17 changed files with 36 additions and 15730 deletions

View File

@ -505,9 +505,6 @@ TEXINFO_TEX = ../texinfo/texinfo.tex
if HAVE_DOC
include doc/local.mk
endif
if HAVE_ICONVDATA
include iconvdata/Makefile.inc
endif
include libc/Makefile.inc
include libm/Makefile.inc

View File

@ -101,14 +101,7 @@ host_triplet = @host@
# Subdir documentation rules.
#
@HAVE_DOC_TRUE@am__append_5 = .def .xml
@HAVE_ICONVDATA_TRUE@am__append_6 = iconvdata/EUC-JP.la
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@am__append_7 = \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/euc-jp.c \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/jis0201.c \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/jis0208.c \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/jis0212.c
@NEWLIB_HW_FP_TRUE@am__append_8 = \
@NEWLIB_HW_FP_TRUE@am__append_6 = \
@NEWLIB_HW_FP_TRUE@ libm/mathfp/e_acosh.def \
@NEWLIB_HW_FP_TRUE@ libm/mathfp/e_atanh.def \
@NEWLIB_HW_FP_TRUE@ libm/mathfp/e_hypot.def \
@ -138,8 +131,8 @@ host_triplet = @host@
@NEWLIB_HW_FP_TRUE@ libm/mathfp/s_tanh.def \
@NEWLIB_HW_FP_TRUE@ libm/mathfp/w_jn.def
@NEWLIB_HW_FP_TRUE@am__append_9 = libm/mathfp/mathfp.tex
@NEWLIB_HW_FP_FALSE@am__append_10 = \
@NEWLIB_HW_FP_TRUE@am__append_7 = libm/mathfp/mathfp.tex
@NEWLIB_HW_FP_FALSE@am__append_8 = \
@NEWLIB_HW_FP_FALSE@ libm/math/w_acos.def libm/math/w_acosh.def libm/math/w_asin.def libm/math/s_asinh.def \
@NEWLIB_HW_FP_FALSE@ libm/math/s_atan.def libm/math/w_atan2.def libm/math/w_atanh.def libm/math/w_j0.def \
@NEWLIB_HW_FP_FALSE@ libm/math/w_cosh.def libm/math/s_erf.def libm/math/w_exp.def libm/math/w_exp2.def \
@ -149,7 +142,7 @@ host_triplet = @host@
@NEWLIB_HW_FP_FALSE@ libm/math/w_pow.def libm/math/w_remainder.def libm/math/s_sin.def libm/math/w_sinh.def \
@NEWLIB_HW_FP_FALSE@ libm/math/w_sqrt.def libm/math/s_tan.def libm/math/s_tanh.def
@NEWLIB_HW_FP_FALSE@am__append_11 = libm/math/math.tex
@NEWLIB_HW_FP_FALSE@am__append_9 = libm/math/math.tex
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/lead-dot.m4 \
@ -197,8 +190,7 @@ am__uninstall_files_from_dir = { \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(pkglibdir)" \
"$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(gconvdir)" \
"$(DESTDIR)$(toollibdir)"
"$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"
LIBRARIES = $(toollib_LIBRARIES)
ARFLAGS = cru
AM_V_AR = $(am__v_AR_@AM_V@)
@ -214,29 +206,13 @@ libm_a_LIBADD =
libm_a_SOURCES = libm.c
libm_a_OBJECTS = libm.$(OBJEXT)
LTLIBRARIES = $(pkglib_LTLIBRARIES) $(toollib_LTLIBRARIES)
iconvdata_EUC_JP_la_LIBADD =
am__dirstamp = $(am__leading_dot)dirstamp
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@am__objects_1 = iconvdata/iconvdata_EUC_JP_la-euc-jp.lo \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/iconvdata_EUC_JP_la-jis0201.lo \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/iconvdata_EUC_JP_la-jis0208.lo \
@ELIX_LEVEL_1_FALSE@@HAVE_ICONVDATA_TRUE@ iconvdata/iconvdata_EUC_JP_la-jis0212.lo
@HAVE_ICONVDATA_TRUE@am_iconvdata_EUC_JP_la_OBJECTS = \
@HAVE_ICONVDATA_TRUE@ iconvdata/iconvdata_EUC_JP_la-dummy.lo \
@HAVE_ICONVDATA_TRUE@ $(am__objects_1)
iconvdata_EUC_JP_la_OBJECTS = $(am_iconvdata_EUC_JP_la_OBJECTS)
libc_la_LIBADD =
am_libc_la_OBJECTS =
libc_la_OBJECTS = $(am_libc_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
iconvdata_EUC_JP_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(AM_CFLAGS) $(CFLAGS) $(iconvdata_EUC_JP_la_LDFLAGS) \
$(LDFLAGS) -o $@
@HAVE_ICONVDATA_TRUE@am_iconvdata_EUC_JP_la_rpath = -rpath \
@HAVE_ICONVDATA_TRUE@ $(pkglibdir)
libc_la_LIBADD =
am_libc_la_OBJECTS =
libc_la_OBJECTS = $(am_libc_la_OBJECTS)
libc_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libc_la_LDFLAGS) $(LDFLAGS) -o $@
@ -281,8 +257,7 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = libc.c libm.c $(iconvdata_EUC_JP_la_SOURCES) \
$(libc_la_SOURCES) $(libm_la_SOURCES)
SOURCES = libc.c libm.c $(libc_la_SOURCES) $(libm_la_SOURCES)
AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
am__v_DVIPS_0 = @echo " DVIPS " $@;
@ -311,6 +286,7 @@ AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
am__v_texidevnull_0 = > /dev/null
am__v_texidevnull_1 =
am__dirstamp = $(am__leading_dot)dirstamp
INFO_DEPS = $(srcdir)/libc/libc.info $(srcdir)/libm/libm.info
am__TEXINFO_TEX_DIR = $(srcdir)/../texinfo
DVIS = libc/libc.dvi libm/libm.dvi
@ -335,7 +311,7 @@ am__can_run_installinfo = \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
DATA = $(gconv_DATA) $(noinst_DATA) $(toollib_DATA)
DATA = $(noinst_DATA) $(toollib_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
@ -526,7 +502,7 @@ SUFFIXES = $(am__append_5)
info_TEXINFOS = libc/libc.texi libm/libm.texi
noinst_DATA = stmp-targ-include $(am__append_1) $(am__append_2) \
$(am__append_3)
pkglib_LTLIBRARIES = $(am__append_6)
pkglib_LTLIBRARIES =
LIBTOOL_VERSION_INFO = 0:0:0
@NEWLIB_HW_FP_FALSE@MATHDIR = math
@ -668,18 +644,6 @@ TEXINFO_TEX = ../texinfo/texinfo.tex
# name (e.g. "stdio.xml") matches a source file name (e.g. "stdio.c"). We've
# been flattening chapters into the main library dir (e.g. libc/) to avoid that.
@HAVE_DOC_TRUE@TEXI2DOCBOOK = $(top_srcdir)/doc/chapter-texi2docbook.py
@HAVE_ICONVDATA_TRUE@iconvdata_EUC_JP_la_SOURCES = iconvdata/dummy.c \
@HAVE_ICONVDATA_TRUE@ $(am__append_7)
@HAVE_ICONVDATA_TRUE@iconvdata_EUC_JP_la_DEPENDENCIES = $(iconvdata_EUC_JP_la_LIBADD)
@HAVE_ICONVDATA_TRUE@iconvdata_EUC_JP_la_CPPFLAGS = \
@HAVE_ICONVDATA_TRUE@ -DNDEBUG \
@HAVE_ICONVDATA_TRUE@ -I$(srcdir)/iconvdata \
@HAVE_ICONVDATA_TRUE@ -I$(srcdir)/libc/sys/linux \
@HAVE_ICONVDATA_TRUE@ $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
@HAVE_ICONVDATA_TRUE@iconvdata_EUC_JP_la_LDFLAGS = -module -no-undefined -Xcompiler -Wl,-rpath-link=. -Xcompiler -nostdlib -L. -lc
@HAVE_ICONVDATA_TRUE@gconvdir = $(pkglibdir)
@HAVE_ICONVDATA_TRUE@gconv_DATA = iconvdata/gconv-modules
libc_libc_TEXINFOS = libc/targetdep.tex $(LIBC_CHEWOUT_FILES)
LIBC_CHEWOUT_FILES = libc/ctype/isalnum.def libc/ctype/isalpha.def \
libc/ctype/isascii.def libc/ctype/isblank.def \
@ -869,9 +833,9 @@ LIBM_CHEWOUT_FILES = libm/common/s_cbrt.def libm/common/s_copysign.def \
libm/fenv/feraiseexcept.def libm/fenv/fesetenv.def \
libm/fenv/fesetexceptflag.def libm/fenv/fesetround.def \
libm/fenv/fetestexcept.def libm/fenv/feupdateenv.def \
$(am__append_8) $(am__append_10)
$(am__append_6) $(am__append_8)
LIBM_CHAPTERS = libm/complex/complex.tex libm/fenv/fenv.tex \
$(am__append_9) $(am__append_11)
$(am__append_7) $(am__append_9)
LIBM_DOCBOOK_OUT_FILES = $(LIBM_CHEWOUT_FILES:.def=.xml)
all: newlib.h _newlib_version.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -880,7 +844,7 @@ all: newlib.h _newlib_version.h
.SUFFIXES: .def .xml .c .dvi .lo .o .obj .ps
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../multilib.am $(srcdir)/doc/local.mk $(srcdir)/iconvdata/Makefile.inc $(srcdir)/libc/Makefile.inc $(srcdir)/libc/ctype/Makefile.inc $(srcdir)/libc/iconv/Makefile.inc $(srcdir)/libc/iconv/lib/Makefile.inc $(srcdir)/libc/locale/Makefile.inc $(srcdir)/libc/misc/Makefile.inc $(srcdir)/libc/posix/Makefile.inc $(srcdir)/libc/reent/Makefile.inc $(srcdir)/libc/search/Makefile.inc $(srcdir)/libc/signal/Makefile.inc $(srcdir)/libc/ssp/Makefile.inc $(srcdir)/libc/stdio64/Makefile.inc $(srcdir)/libc/stdio/Makefile.inc $(srcdir)/libc/stdlib/Makefile.inc $(srcdir)/libc/string/Makefile.inc $(srcdir)/libc/time/Makefile.inc $(srcdir)/libm/Makefile.inc $(srcdir)/libm/common/Makefile.inc $(srcdir)/libm/complex/Makefile.inc $(srcdir)/libm/fenv/Makefile.inc $(srcdir)/libm/mathfp/Makefile.inc $(srcdir)/libm/math/Makefile.inc $(am__configure_deps)
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../multilib.am $(srcdir)/doc/local.mk $(srcdir)/libc/Makefile.inc $(srcdir)/libc/ctype/Makefile.inc $(srcdir)/libc/iconv/Makefile.inc $(srcdir)/libc/iconv/lib/Makefile.inc $(srcdir)/libc/locale/Makefile.inc $(srcdir)/libc/misc/Makefile.inc $(srcdir)/libc/posix/Makefile.inc $(srcdir)/libc/reent/Makefile.inc $(srcdir)/libc/search/Makefile.inc $(srcdir)/libc/signal/Makefile.inc $(srcdir)/libc/ssp/Makefile.inc $(srcdir)/libc/stdio64/Makefile.inc $(srcdir)/libc/stdio/Makefile.inc $(srcdir)/libc/stdlib/Makefile.inc $(srcdir)/libc/string/Makefile.inc $(srcdir)/libc/time/Makefile.inc $(srcdir)/libm/Makefile.inc $(srcdir)/libm/common/Makefile.inc $(srcdir)/libm/complex/Makefile.inc $(srcdir)/libm/fenv/Makefile.inc $(srcdir)/libm/mathfp/Makefile.inc $(srcdir)/libm/math/Makefile.inc $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@ -902,7 +866,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(srcdir)/../multilib.am $(srcdir)/doc/local.mk $(srcdir)/iconvdata/Makefile.inc $(srcdir)/libc/Makefile.inc $(srcdir)/libc/ctype/Makefile.inc $(srcdir)/libc/iconv/Makefile.inc $(srcdir)/libc/iconv/lib/Makefile.inc $(srcdir)/libc/locale/Makefile.inc $(srcdir)/libc/misc/Makefile.inc $(srcdir)/libc/posix/Makefile.inc $(srcdir)/libc/reent/Makefile.inc $(srcdir)/libc/search/Makefile.inc $(srcdir)/libc/signal/Makefile.inc $(srcdir)/libc/ssp/Makefile.inc $(srcdir)/libc/stdio64/Makefile.inc $(srcdir)/libc/stdio/Makefile.inc $(srcdir)/libc/stdlib/Makefile.inc $(srcdir)/libc/string/Makefile.inc $(srcdir)/libc/time/Makefile.inc $(srcdir)/libm/Makefile.inc $(srcdir)/libm/common/Makefile.inc $(srcdir)/libm/complex/Makefile.inc $(srcdir)/libm/fenv/Makefile.inc $(srcdir)/libm/mathfp/Makefile.inc $(srcdir)/libm/math/Makefile.inc $(am__empty):
$(srcdir)/../multilib.am $(srcdir)/doc/local.mk $(srcdir)/libc/Makefile.inc $(srcdir)/libc/ctype/Makefile.inc $(srcdir)/libc/iconv/Makefile.inc $(srcdir)/libc/iconv/lib/Makefile.inc $(srcdir)/libc/locale/Makefile.inc $(srcdir)/libc/misc/Makefile.inc $(srcdir)/libc/posix/Makefile.inc $(srcdir)/libc/reent/Makefile.inc $(srcdir)/libc/search/Makefile.inc $(srcdir)/libc/signal/Makefile.inc $(srcdir)/libc/ssp/Makefile.inc $(srcdir)/libc/stdio64/Makefile.inc $(srcdir)/libc/stdio/Makefile.inc $(srcdir)/libc/stdlib/Makefile.inc $(srcdir)/libc/string/Makefile.inc $(srcdir)/libc/time/Makefile.inc $(srcdir)/libm/Makefile.inc $(srcdir)/libm/common/Makefile.inc $(srcdir)/libm/complex/Makefile.inc $(srcdir)/libm/fenv/Makefile.inc $(srcdir)/libm/mathfp/Makefile.inc $(srcdir)/libm/math/Makefile.inc $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
@ -1046,17 +1010,6 @@ clean-toollibLTLIBRARIES:
echo rm -f $${locs}; \
rm -f $${locs}; \
}
iconvdata/$(am__dirstamp):
@$(MKDIR_P) iconvdata
@: > iconvdata/$(am__dirstamp)
iconvdata/iconvdata_EUC_JP_la-dummy.lo: iconvdata/$(am__dirstamp)
iconvdata/iconvdata_EUC_JP_la-euc-jp.lo: iconvdata/$(am__dirstamp)
iconvdata/iconvdata_EUC_JP_la-jis0201.lo: iconvdata/$(am__dirstamp)
iconvdata/iconvdata_EUC_JP_la-jis0208.lo: iconvdata/$(am__dirstamp)
iconvdata/iconvdata_EUC_JP_la-jis0212.lo: iconvdata/$(am__dirstamp)
iconvdata/EUC-JP.la: $(iconvdata_EUC_JP_la_OBJECTS) $(iconvdata_EUC_JP_la_DEPENDENCIES) $(EXTRA_iconvdata_EUC_JP_la_DEPENDENCIES) iconvdata/$(am__dirstamp)
$(AM_V_CCLD)$(iconvdata_EUC_JP_la_LINK) $(am_iconvdata_EUC_JP_la_rpath) $(iconvdata_EUC_JP_la_OBJECTS) $(iconvdata_EUC_JP_la_LIBADD) $(LIBS)
libc.la: $(libc_la_OBJECTS) $(libc_la_DEPENDENCIES) $(EXTRA_libc_la_DEPENDENCIES)
$(AM_V_CCLD)$(libc_la_LINK) $(am_libc_la_rpath) $(libc_la_OBJECTS) $(libc_la_LIBADD) $(LIBS)
@ -1066,8 +1019,6 @@ libm.la: $(libm_la_OBJECTS) $(libm_la_DEPENDENCIES) $(EXTRA_libm_la_DEPENDENCIES
mostlyclean-compile:
-rm -f *.$(OBJEXT)
-rm -f iconvdata/*.$(OBJEXT)
-rm -f iconvdata/*.lo
distclean-compile:
-rm -f *.tab.c
@ -1081,27 +1032,11 @@ distclean-compile:
.c.lo:
$(AM_V_CC)$(LTCOMPILE) -c -o $@ $<
iconvdata/iconvdata_EUC_JP_la-dummy.lo: iconvdata/dummy.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iconvdata_EUC_JP_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iconvdata/iconvdata_EUC_JP_la-dummy.lo `test -f 'iconvdata/dummy.c' || echo '$(srcdir)/'`iconvdata/dummy.c
iconvdata/iconvdata_EUC_JP_la-euc-jp.lo: iconvdata/euc-jp.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iconvdata_EUC_JP_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iconvdata/iconvdata_EUC_JP_la-euc-jp.lo `test -f 'iconvdata/euc-jp.c' || echo '$(srcdir)/'`iconvdata/euc-jp.c
iconvdata/iconvdata_EUC_JP_la-jis0201.lo: iconvdata/jis0201.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iconvdata_EUC_JP_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iconvdata/iconvdata_EUC_JP_la-jis0201.lo `test -f 'iconvdata/jis0201.c' || echo '$(srcdir)/'`iconvdata/jis0201.c
iconvdata/iconvdata_EUC_JP_la-jis0208.lo: iconvdata/jis0208.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iconvdata_EUC_JP_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iconvdata/iconvdata_EUC_JP_la-jis0208.lo `test -f 'iconvdata/jis0208.c' || echo '$(srcdir)/'`iconvdata/jis0208.c
iconvdata/iconvdata_EUC_JP_la-jis0212.lo: iconvdata/jis0212.c
$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(iconvdata_EUC_JP_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iconvdata/iconvdata_EUC_JP_la-jis0212.lo `test -f 'iconvdata/jis0212.c' || echo '$(srcdir)/'`iconvdata/jis0212.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
-rm -rf iconvdata/.libs iconvdata/_libs
distclean-libtool:
-rm -f libtool config.lt
@ -1282,27 +1217,6 @@ maintainer-clean-aminfo:
echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
done
install-gconvDATA: $(gconv_DATA)
@$(NORMAL_INSTALL)
@list='$(gconv_DATA)'; test -n "$(gconvdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(gconvdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(gconvdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(gconvdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(gconvdir)" || exit $$?; \
done
uninstall-gconvDATA:
@$(NORMAL_UNINSTALL)
@list='$(gconv_DATA)'; test -n "$(gconvdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(gconvdir)'; $(am__uninstall_files_from_dir)
install-toollibDATA: $(toollib_DATA)
@$(NORMAL_INSTALL)
@list='$(toollib_DATA)'; test -n "$(toollibdir)" || list=; \
@ -1443,7 +1357,7 @@ all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h \
_newlib_version.h all-local
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(gconvdir)" "$(DESTDIR)$(toollibdir)"; do \
for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@ -1473,7 +1387,6 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-rm -f iconvdata/$(am__dirstamp)
-rm -f libc/$(am__dirstamp)
-rm -f libm/$(am__dirstamp)
@ -1505,9 +1418,8 @@ info: info-recursive
info-am: $(INFO_DEPS)
install-data-am: install-data-local install-gconvDATA \
install-toollibDATA install-toollibLIBRARIES \
install-toollibLTLIBRARIES
install-data-am: install-data-local install-toollibDATA \
install-toollibLIBRARIES install-toollibLTLIBRARIES
install-dvi: install-dvi-recursive
@ -1644,10 +1556,10 @@ ps: ps-recursive
ps-am: $(PSS)
uninstall-am: uninstall-dvi-am uninstall-gconvDATA uninstall-html-am \
uninstall-info-am uninstall-pdf-am uninstall-pkglibLTLIBRARIES \
uninstall-ps-am uninstall-toollibDATA \
uninstall-toollibLIBRARIES uninstall-toollibLTLIBRARIES
uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
uninstall-pdf-am uninstall-pkglibLTLIBRARIES uninstall-ps-am \
uninstall-toollibDATA uninstall-toollibLIBRARIES \
uninstall-toollibLTLIBRARIES
.MAKE: $(am__recursive_targets) all check-am install-am install-strip
@ -1661,18 +1573,17 @@ uninstall-am: uninstall-dvi-am uninstall-gconvDATA uninstall-html-am \
distclean-local distclean-tags dvi dvi-am html html-am info \
info-am install install-am install-data install-data-am \
install-data-local install-dvi install-dvi-am install-exec \
install-exec-am install-exec-local install-gconvDATA \
install-html install-html-am install-info install-info-am \
install-man install-pdf install-pdf-am \
install-pkglibLTLIBRARIES install-ps install-ps-am \
install-strip install-toollibDATA install-toollibLIBRARIES \
install-toollibLTLIBRARIES installcheck installcheck-am \
installdirs installdirs-am maintainer-clean \
maintainer-clean-aminfo maintainer-clean-generic \
maintainer-clean-local mostlyclean mostlyclean-aminfo \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
mostlyclean-local pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-dvi-am uninstall-gconvDATA \
install-exec-am install-exec-local install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-pkglibLTLIBRARIES \
install-ps install-ps-am install-strip install-toollibDATA \
install-toollibLIBRARIES install-toollibLTLIBRARIES \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-local mostlyclean \
mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
tags-am uninstall uninstall-am uninstall-dvi-am \
uninstall-html-am uninstall-info-am uninstall-pdf-am \
uninstall-pkglibLTLIBRARIES uninstall-ps-am \
uninstall-toollibDATA uninstall-toollibLIBRARIES \

20
newlib/configure vendored
View File

@ -658,8 +658,6 @@ CRT0_DIR
CRT0
HAVE_CRT0_FALSE
HAVE_CRT0_TRUE
HAVE_ICONVDATA_FALSE
HAVE_ICONVDATA_TRUE
HAVE_MULTISUBDIR_FALSE
HAVE_MULTISUBDIR_TRUE
HAVE_DOC_FALSE
@ -11660,7 +11658,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11663 "configure"
#line 11661 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -11766,7 +11764,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11769 "configure"
#line 11767 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -12075,16 +12073,6 @@ else
fi
HAVE_ICONVDATA=false
if $HAVE_ICONVDATA; then
HAVE_ICONVDATA_TRUE=
HAVE_ICONVDATA_FALSE='#'
else
HAVE_ICONVDATA_TRUE='#'
HAVE_ICONVDATA_FALSE=
fi
CRT0=
CRT0_DIR=
if test "x${have_crt0}" = "xyes"; then
@ -13253,10 +13241,6 @@ if test -z "${HAVE_MULTISUBDIR_TRUE}" && test -z "${HAVE_MULTISUBDIR_FALSE}"; th
as_fn_error $? "conditional \"HAVE_MULTISUBDIR\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_ICONVDATA_TRUE}" && test -z "${HAVE_ICONVDATA_FALSE}"; then
as_fn_error $? "conditional \"HAVE_ICONVDATA\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${HAVE_CRT0_TRUE}" && test -z "${HAVE_CRT0_FALSE}"; then
as_fn_error $? "conditional \"HAVE_CRT0\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5

View File

@ -347,9 +347,6 @@ AM_CONDITIONAL(HAVE_DOC, test x$have_multisubdir = xno)
# subdirectory withing the build directory.
AM_CONDITIONAL(HAVE_MULTISUBDIR, test x$have_multisubdir = xyes)
HAVE_ICONVDATA=false
AM_CONDITIONAL([HAVE_ICONVDATA], $HAVE_ICONVDATA)
CRT0=
CRT0_DIR=
if test "x${have_crt0}" = "xyes"; then

View File

@ -1,2 +0,0 @@
0x5C 0x00A5
0x7E 0x203E

View File

@ -1,20 +0,0 @@
pkglib_LTLIBRARIES += %D%/EUC-JP.la
%C%_EUC_JP_la_SOURCES = %D%/dummy.c
if !ELIX_LEVEL_1
%C%_EUC_JP_la_SOURCES += \
%D%/euc-jp.c \
%D%/jis0201.c \
%D%/jis0208.c \
%D%/jis0212.c
endif
%C%_EUC_JP_la_DEPENDENCIES = $(%C%_EUC_JP_la_LIBADD)
%C%_EUC_JP_la_CPPFLAGS = \
-DNDEBUG \
-I$(srcdir)/iconvdata \
-I$(srcdir)/libc/sys/linux \
$(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
%C%_EUC_JP_la_LDFLAGS = -module -no-undefined -Xcompiler -Wl,-rpath-link=. -Xcompiler -nostdlib -L. -lc
gconvdir = $(pkglibdir)
gconv_DATA = %D%/gconv-modules

View File

@ -1,5 +0,0 @@
0x5C 0x005C
0x7E 0x007E
0x8191 0xFFE0
0x8192 0xFFE1
0x81CA 0xFFE2

View File

@ -1 +0,0 @@
/* empty file to force proper Makefile creation */

View File

@ -1,246 +0,0 @@
/* Mapping tables for EUC-JP handling.
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <dlfcn.h>
#include <stdint.h>
#include <gconv.h>
#include <jis0201.h>
#include <jis0208.h>
#include <jis0212.h>
/* Definitions used in the body of the `gconv' function. */
#define CHARSET_NAME "EUC-JP//"
#define FROM_LOOP from_euc_jp
#define TO_LOOP to_euc_jp
#define DEFINE_INIT 1
#define DEFINE_FINI 1
#define MIN_NEEDED_FROM 1
#define MAX_NEEDED_FROM 3
#define MIN_NEEDED_TO 4
/* First define the conversion function from EUC-JP to UCS4. */
#define MIN_NEEDED_INPUT MIN_NEEDED_FROM
#define MAX_NEEDED_INPUT MAX_NEEDED_FROM
#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO
#define LOOPFCT FROM_LOOP
#define BODY \
{ \
uint32_t ch = *inptr; \
\
if (ch < 0x8e || (ch >= 0x90 && ch <= 0x9f)) \
++inptr; \
else if (ch == 0xff) \
{ \
/* This is illegal. */ \
if (! ignore_errors_p ()) \
{ \
result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
++inptr; \
++*irreversible; \
continue; \
} \
else \
{ \
/* Two or more byte character. First test whether the next \
character is also available. */ \
int ch2; \
\
if (__builtin_expect (inptr + 1 >= inend, 0)) \
{ \
/* The second character is not available. Store the \
intermediate result. */ \
result = __GCONV_INCOMPLETE_INPUT; \
break; \
} \
\
ch2 = inptr[1]; \
\
/* All second bytes of a multibyte character must be >= 0xa1. */ \
if (__builtin_expect (ch2 < 0xa1, 0)) \
{ \
/* This is an illegal character. */ \
if (! ignore_errors_p ()) \
{ \
result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
++inptr; \
++*irreversible; \
continue; \
} \
\
if (ch == 0x8e) \
{ \
/* This is code set 2: half-width katakana. */ \
ch = jisx0201_to_ucs4 (ch2); \
if (__builtin_expect (ch, 0) == __UNKNOWN_10646_CHAR) \
{ \
/* Illegal character. */ \
if (! ignore_errors_p ()) \
{ \
/* This is an illegal character. */ \
result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
} \
\
inptr += 2; \
} \
else \
{ \
const unsigned char *endp; \
\
if (ch == 0x8f) \
{ \
/* This is code set 3: JIS X 0212-1990. */ \
endp = inptr + 1; \
\
ch = jisx0212_to_ucs4 (&endp, inend - endp, 0x80); \
} \
else \
{ \
/* This is code set 1: JIS X 0208. */ \
endp = inptr; \
\
ch = jisx0208_to_ucs4 (&endp, inend - inptr, 0x80); \
} \
\
if (__builtin_expect (ch, 1) == 0) \
{ \
/* Not enough input available. */ \
result = __GCONV_INCOMPLETE_INPUT; \
break; \
} \
if (__builtin_expect (ch, 0) == __UNKNOWN_10646_CHAR) \
{ \
/* Illegal character. */ \
if (! ignore_errors_p ()) \
{ \
/* This is an illegal character. */ \
result = __GCONV_ILLEGAL_INPUT; \
break; \
} \
\
inptr += 2; \
++*irreversible; \
continue; \
} \
inptr = endp; \
} \
} \
\
put32 (outptr, ch); \
outptr += 4; \
}
#define LOOP_NEED_FLAGS
#include <iconv/loop.c>
/* Next, define the other direction. */
#define MIN_NEEDED_INPUT MIN_NEEDED_TO
#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM
#define MAX_NEEDED_OUTPUT MAX_NEEDED_FROM
#define LOOPFCT TO_LOOP
#define BODY \
{ \
uint32_t ch = get32 (inptr); \
\
if (ch < 0x8e || (ch >= 0x90 && ch <= 0x9f)) \
/* It's plain ASCII or C1. */ \
*outptr++ = ch; \
else if (ch == 0xa5) \
/* YEN sign => backslash */ \
*outptr++ = 0x5c; \
else if (ch == 0x203e) \
/* overscore => asciitilde */ \
*outptr++ = 0x7e; \
else \
{ \
/* Try the JIS character sets. */ \
size_t found; \
\
/* See whether we have room for at least two characters. */ \
if (__builtin_expect (outptr + 1 >= outend, 0)) \
{ \
result = __GCONV_FULL_OUTPUT; \
break; \
} \
\
found = ucs4_to_jisx0201 (ch, outptr + 1); \
if (found != __UNKNOWN_10646_CHAR) \
{ \
/* Yes, it's a JIS 0201 character. Store the shift byte. */ \
*outptr = 0x8e; \
outptr += 2; \
} \
else \
{ \
/* No JIS 0201 character. */ \
found = ucs4_to_jisx0208 (ch, outptr, 2); \
/* Please note that we always have enough room for the output. */ \
if (found != __UNKNOWN_10646_CHAR) \
{ \
/* It's a JIS 0208 character, adjust it for EUC-JP. */ \
*outptr++ += 0x80; \
*outptr++ += 0x80; \
} \
else \
{ \
/* No JIS 0208 character. */ \
found = ucs4_to_jisx0212 (ch, outptr + 1, \
outend - outptr - 1); \
\
if (__builtin_expect (found, 1) == 0) \
{ \
/* We ran out of space. */ \
result = __GCONV_FULL_OUTPUT; \
break; \
} \
else if (__builtin_expect (found, 0) != __UNKNOWN_10646_CHAR) \
{ \
/* It's a JIS 0212 character, adjust it for EUC-JP. */ \
*outptr++ = 0x8f; \
*outptr++ += 0x80; \
*outptr++ += 0x80; \
} \
else \
{ \
UNICODE_TAG_HANDLER (ch, 4); \
\
/* Illegal character. */ \
STANDARD_ERR_HANDLER (4); \
} \
} \
} \
} \
\
inptr += 4; \
}
#define LOOP_NEED_FLAGS
#include <iconv/loop.c>
/* Now define the toplevel functions. */
#include <iconv/skeleton.c>

File diff suppressed because it is too large Load Diff

View File

@ -1,58 +0,0 @@
/* Mapping tables for JIS0201 handling.
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include <stdint.h>
const uint32_t __jisx0201_to_ucs4[256] =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007,
0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017,
0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037,
0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047,
0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057,
0x0058, 0x0059, 0x005a, 0x005b, 0x00a5, 0x005d, 0x005e, 0x005f,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067,
0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077,
0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0xff61, 0xff62, 0xff63, 0xff64, 0xff65, 0xff66, 0xff67,
0xff68, 0xff69, 0xff6a, 0xff6b, 0xff6c, 0xff6d, 0xff6e, 0xff6f,
0xff70, 0xff71, 0xff72, 0xff73, 0xff74, 0xff75, 0xff76, 0xff77,
0xff78, 0xff79, 0xff7a, 0xff7b, 0xff7c, 0xff7d, 0xff7e, 0xff7f,
0xff80, 0xff81, 0xff82, 0xff83, 0xff84, 0xff85, 0xff86, 0xff87,
0xff88, 0xff89, 0xff8a, 0xff8b, 0xff8c, 0xff8d, 0xff8e, 0xff8f,
0xff90, 0xff91, 0xff92, 0xff93, 0xff94, 0xff95, 0xff96, 0xff97,
0xff98, 0xff99, 0xff9a, 0xff9b, 0xff9c, 0xff9d, 0xff9e, 0xff9f,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
};

View File

@ -1,60 +0,0 @@
/* Access functions for JISX0201 conversion.
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifndef _JIS0201_H
#define _JIS0201_H 1
/* Conversion table. */
extern const uint32_t __jisx0201_to_ucs4[];
static inline uint32_t
jisx0201_to_ucs4 (char ch)
{
uint32_t val = __jisx0201_to_ucs4[(unsigned char) ch];
if (val == 0 && ch != '\0')
val = __UNKNOWN_10646_CHAR;
return val;
}
static inline size_t
ucs4_to_jisx0201 (uint32_t wch, char *s)
{
char ch;
if (wch == 0xa5)
ch = '\x5c';
else if (wch == 0x203e)
ch = '\x7e';
else if (wch < 0x7e && wch != 0x5c)
ch = wch;
else if (wch >= 0xff61 && wch <= 0xff9f)
ch = wch - 0xfec0;
else
return __UNKNOWN_10646_CHAR;
s[0] = ch;
return 1;
}
#endif /* jis0201.h */

File diff suppressed because it is too large Load Diff

View File

@ -1,106 +0,0 @@
/* Access functions for JISX0208 conversion.
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifndef _JIS0208_H
#define _JIS0208_H 1
#include <gconv.h>
#include <stdint.h>
/* Struct for table with indeces in UCS mapping table. */
struct jisx0208_ucs_idx
{
uint16_t start;
uint16_t end;
uint16_t idx;
};
/* Conversion table. */
extern const uint16_t __jis0208_to_ucs[];
extern const char __jisx0208_from_ucs4_lat1[256][2];
extern const char __jisx0208_from_ucs4_greek[0xc1][2];
extern const struct jisx0208_ucs_idx __jisx0208_from_ucs_idx[];
extern const char __jisx0208_from_ucs_tab[][2];
static inline uint32_t
jisx0208_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
{
unsigned char ch = *(*s);
unsigned char ch2;
int idx;
if (ch < offset || (ch - offset) <= 0x20)
return __UNKNOWN_10646_CHAR;
if (avail < 2)
return 0;
ch2 = (*s)[1];
if (ch2 < offset || (ch2 - offset) <= 0x20 || (ch2 - offset) >= 0x7f)
return __UNKNOWN_10646_CHAR;
idx = (ch - 0x21 - offset) * 94 + (ch2 - 0x21 - offset);
if (idx >= 0x1e80)
return __UNKNOWN_10646_CHAR;
(*s) += 2;
return __jis0208_to_ucs[idx] ?: ((*s) -= 2, __UNKNOWN_10646_CHAR);
}
static inline size_t
ucs4_to_jisx0208 (uint32_t wch, char *s, size_t avail)
{
unsigned int ch = (unsigned int) wch;
const char *cp;
if (avail < 2)
return 0;
if (ch < 0x100)
cp = __jisx0208_from_ucs4_lat1[ch];
else if (ch >= 0x391 && ch <= 0x451)
cp = __jisx0208_from_ucs4_greek[ch - 0x391];
else
{
const struct jisx0208_ucs_idx *rp = __jisx0208_from_ucs_idx;
if (ch >= 0xffff)
return __UNKNOWN_10646_CHAR;
while (ch > rp->end)
++rp;
if (ch >= rp->start)
cp = __jisx0208_from_ucs_tab[rp->idx + ch - rp->start];
else
return __UNKNOWN_10646_CHAR;
}
if (cp[0] == '\0')
return __UNKNOWN_10646_CHAR;
s[0] = cp[0];
s[1] = cp[1];
return 2;
}
#endif /* jis0208.h */

File diff suppressed because it is too large Load Diff

View File

@ -1,110 +0,0 @@
/* Access functions for JISX0212 conversion.
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#ifndef _JIS0212_H
#define _JIS0212_H 1
#include <gconv.h>
#include <stdint.h>
/* Struct for table with indeces in mapping table. */
struct jisx0212_idx
{
uint16_t start;
uint16_t end;
uint16_t idx;
};
/* Conversion table. */
extern const struct jisx0212_idx __jisx0212_to_ucs_idx[];
extern const uint16_t __jisx0212_to_ucs[];
extern const struct jisx0212_idx __jisx0212_from_ucs_idx[];
extern const char __jisx0212_from_ucs[][2];
static inline uint32_t
jisx0212_to_ucs4 (const unsigned char **s, size_t avail, unsigned char offset)
{
const struct jisx0212_idx *rp = __jisx0212_to_ucs_idx;
unsigned char ch = *(*s);
unsigned char ch2;
uint32_t wch = 0;
int idx;
if (ch < offset || (ch - offset) < 0x22 || (ch - offset) > 0x6d)
return __UNKNOWN_10646_CHAR;
if (avail < 2)
return 0;
ch2 = (*s)[1];
if (ch2 < offset || (ch2 - offset) <= 0x20 || (ch2 - offset) >= 0x7f)
return __UNKNOWN_10646_CHAR;
idx = (ch - offset - 0x21) * 94 + (ch2 - offset - 0x21);
while (idx > rp->end)
++rp;
if (idx >= rp->start)
wch = __jisx0212_to_ucs[rp->idx + idx - rp->start];
if (wch != L'\0')
(*s) += 2;
else
wch = __UNKNOWN_10646_CHAR;
return wch;
}
static inline size_t
ucs4_to_jisx0212 (uint32_t wch, char *s, size_t avail)
{
const struct jisx0212_idx *rp = __jisx0212_from_ucs_idx;
unsigned int ch = (unsigned int) wch;
const char *cp;
if (ch >= 0xffff)
return __UNKNOWN_10646_CHAR;
while (ch > rp->end)
++rp;
if (ch >= rp->start)
cp = __jisx0212_from_ucs[rp->idx + ch - rp->start];
else
return __UNKNOWN_10646_CHAR;
if (cp[0] == '\0')
return __UNKNOWN_10646_CHAR;
s[0] = cp[0];
if (cp[1] != '\0')
{
if (avail < 2)
return 0;
s[1] = cp[1];
}
return 2;
}
#endif /* jis0212.h */

File diff suppressed because it is too large Load Diff