Add a .gitignore file.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..57e25f2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,510 @@
+## This file specifies the files and directories that can usually occur in a
+## developer build of this Git reporsitory.
+##
+## Reference: https://git-scm.com/docs/gitignore
+##
+## When we say, "files", it actually means files and directories. By
+## convention, directories are marked through a trailing first and listed
+## first in each category.
+
+# Files brought in by gnulib-tool:
+/build-aux/config.libpath
+/build-aux/config.rpath
+/build-aux/install-reloc
+/build-aux/reloc-ldflags
+/build-aux/snippet/_Noreturn.h
+/build-aux/snippet/arg-nonnull.h
+/build-aux/snippet/c++defs.h
+/build-aux/snippet/warn-on-use.h
+/doc/relocatable.texi
+/libcharset/INSTALL.generic
+/libcharset/build-aux/config.libpath
+/libcharset/m4/codeset.m4
+/libcharset/m4/fcntl-o.m4
+/libcharset/m4/glibc21.m4
+/libcharset/m4/relocatable-lib.m4
+/libcharset/m4/visibility.m4
+/srclib/Makefile.gnulib
+/srclib/alloca.in.h
+/srclib/allocator.c
+/srclib/allocator.h
+/srclib/areadlink.c
+/srclib/areadlink.h
+/srclib/basename-lgpl.c
+/srclib/binary-io.c
+/srclib/binary-io.h
+/srclib/c-ctype.c
+/srclib/c-ctype.h
+/srclib/canonicalize-lgpl.c
+/srclib/careadlinkat.c
+/srclib/careadlinkat.h
+/srclib/dirname-lgpl.c
+/srclib/dirname.h
+/srclib/dosname.h
+/srclib/errno.in.h
+/srclib/error.c
+/srclib/error.h
+/srclib/fcntl.in.h
+/srclib/getprogname.c
+/srclib/getprogname.h
+/srclib/gettext.h
+/srclib/gettimeofday.c
+/srclib/intprops.h
+/srclib/limits.in.h
+/srclib/localcharset.h
+/srclib/lstat.c
+/srclib/malloc.c
+/srclib/malloca.c
+/srclib/malloca.h
+/srclib/malloca.valgrind
+/srclib/msvc-inval.c
+/srclib/msvc-inval.h
+/srclib/msvc-nothrow.c
+/srclib/msvc-nothrow.h
+/srclib/pathmax.h
+/srclib/progname.c
+/srclib/progname.h
+/srclib/progreloc.c
+/srclib/raise.c
+/srclib/read.c
+/srclib/readlink.c
+/srclib/relocatable.c
+/srclib/relocatable.h
+/srclib/relocwrapper.c
+/srclib/safe-read.c
+/srclib/safe-read.h
+/srclib/setenv.c
+/srclib/signal.in.h
+/srclib/sigprocmask.c
+/srclib/stat.c
+/srclib/stdbool.in.h
+/srclib/stddef.in.h
+/srclib/stdint.in.h
+/srclib/stdio-write.c
+/srclib/stdio.in.h
+/srclib/stdlib.in.h
+/srclib/streq.h
+/srclib/strerror-override.c
+/srclib/strerror-override.h
+/srclib/strerror.c
+/srclib/string.in.h
+/srclib/stripslash.c
+/srclib/sys_stat.in.h
+/srclib/sys_time.in.h
+/srclib/sys_types.in.h
+/srclib/time.in.h
+/srclib/unistd.c
+/srclib/unistd.in.h
+/srclib/unitypes.in.h
+/srclib/uniwidth.in.h
+/srclib/unlocked-io.h
+/srclib/verify.h
+/srclib/xalloc.h
+/srclib/xmalloc.c
+/srclib/xreadlink.c
+/srclib/xreadlink.h
+/srclib/xstrdup.c
+/srclib/uniwidth/cjk.h
+/srclib/uniwidth/width.c
+/srcm4/00gnulib.m4
+/srcm4/absolute-header.m4
+/srcm4/alloca.m4
+/srcm4/asm-underscore.m4
+/srcm4/canonicalize.m4
+/srcm4/codeset.m4
+/srcm4/dirname.m4
+/srcm4/double-slash-root.m4
+/srcm4/eealloc.m4
+/srcm4/environ.m4
+/srcm4/errno_h.m4
+/srcm4/error.m4
+/srcm4/extensions.m4
+/srcm4/extern-inline.m4
+/srcm4/fcntl-o.m4
+/srcm4/fcntl_h.m4
+/srcm4/getprogname.m4
+/srcm4/gettext.m4
+/srcm4/gettimeofday.m4
+/srcm4/glibc2.m4
+/srcm4/glibc21.m4
+/srcm4/gnulib-common.m4
+/srcm4/gnulib-comp.m4
+/srcm4/gnulib-tool.m4
+/srcm4/iconv.m4
+/srcm4/include_next.m4
+/srcm4/intdiv0.m4
+/srcm4/intl.m4
+/srcm4/intldir.m4
+/srcm4/intlmacosx.m4
+/srcm4/intmax.m4
+/srcm4/inttypes-pri.m4
+/srcm4/inttypes_h.m4
+/srcm4/largefile.m4
+/srcm4/lcmessage.m4
+/srcm4/lib-ld.m4
+/srcm4/lib-link.m4
+/srcm4/lib-prefix.m4
+/srcm4/libunistring-base.m4
+/srcm4/limits-h.m4
+/srcm4/lock.m4
+/srcm4/longlong.m4
+/srcm4/lstat.m4
+/srcm4/malloc.m4
+/srcm4/malloca.m4
+/srcm4/mbstate_t.m4
+/srcm4/msvc-inval.m4
+/srcm4/msvc-nothrow.m4
+/srcm4/multiarch.m4
+/srcm4/nls.m4
+/srcm4/nocrash.m4
+/srcm4/off_t.m4
+/srcm4/pathmax.m4
+/srcm4/po.m4
+/srcm4/printf-posix.m4
+/srcm4/progtest.m4
+/srcm4/raise.m4
+/srcm4/read.m4
+/srcm4/readlink.m4
+/srcm4/relocatable-lib.m4
+/srcm4/relocatable.m4
+/srcm4/safe-read.m4
+/srcm4/setenv.m4
+/srcm4/signal_h.m4
+/srcm4/signalblocking.m4
+/srcm4/sigpipe.m4
+/srcm4/size_max.m4
+/srcm4/ssize_t.m4
+/srcm4/stat.m4
+/srcm4/stdbool.m4
+/srcm4/stddef_h.m4
+/srcm4/stdint.m4
+/srcm4/stdint_h.m4
+/srcm4/stdio_h.m4
+/srcm4/stdlib_h.m4
+/srcm4/strerror.m4
+/srcm4/string_h.m4
+/srcm4/sys_socket_h.m4
+/srcm4/sys_stat_h.m4
+/srcm4/sys_time_h.m4
+/srcm4/sys_types_h.m4
+/srcm4/threadlib.m4
+/srcm4/time_h.m4
+/srcm4/uintmax_t.m4
+/srcm4/unistd_h.m4
+/srcm4/unlocked-io.m4
+/srcm4/visibility.m4
+/srcm4/warn-on-use.m4
+/srcm4/wchar_t.m4
+/srcm4/wint_t.m4
+/srcm4/xsize.m4
+# Cached parameters of gnulib-tool:
+/srcm4/gnulib-cache.m4
+
+# Files brought in by "automake --add-missing --copy":
+/build-aux/ar-lib
+/build-aux/compile
+/build-aux/install-sh
+/build-aux/missing
+/libcharset/build-aux/install-sh
+/libcharset/build-aux/mkinstalldirs
+
+# Other files brought in by autogen.sh:
+/build-aux/config.guess
+/build-aux/config.sub
+/libcharset/build-aux/config.guess
+/libcharset/build-aux/config.sub
+
+# Files generated by the autotools:
+# Built by Makefile.devel.
+/aclocal.m4
+/configure
+/config.h.in
+/srclib/Makefile.in
+# Built by libcharset/Makefile.devel.
+/libcharset/autoconf/aclocal.m4
+/libcharset/configure
+/libcharset/config.h.in
+# Built by preload/Makefile.devel.
+/preload/aclocal.m4
+/preload/configure
+
+# Files generated by "make -f Makefile.devel" and even kept by "make maintainer-clean":
+# Built by Makefile.devel.
+/srclib/Makefile.gnulib
+/srclib/Makefile.in
+/include/iconv.h.build.in
+/lib/aliases.gperf
+/lib/aliases_sysaix.gperf
+/lib/aliases_syshpux.gperf
+/lib/aliases_sysosf1.gperf
+/lib/aliases_syssolaris.gperf
+/lib/aliases.h
+/lib/aliases_sysaix.h
+/lib/aliases_syshpux.h
+/lib/aliases_sysosf1.h
+/lib/aliases_syssolaris.h
+/lib/aliases_aix.h
+/lib/aliases_aix_sysaix.h
+/lib/aliases_osf1.h
+/lib/aliases_osf1_sysosf1.h
+/lib/aliases_dos.h
+/lib/aliases_extra.h
+/lib/canonical.h
+/lib/canonical_sysaix.h
+/lib/canonical_syshpux.h
+/lib/canonical_sysosf1.h
+/lib/canonical_syssolaris.h
+/lib/canonical_aix.h
+/lib/canonical_aix_sysaix.h
+/lib/canonical_osf1.h
+/lib/canonical_osf1_sysosf1.h
+/lib/canonical_dos.h
+/lib/canonical_extra.h
+/lib/canonical_local.h
+/lib/canonical_local_sysaix.h
+/lib/canonical_local_syshpux.h
+/lib/canonical_local_sysosf1.h
+/lib/canonical_local_syssolaris.h
+/lib/flags.h
+/lib/translit.h
+/man/iconv.1.html
+/man/iconv.3.html
+/man/iconv_close.3.html
+/man/iconv_open.3.html
+/man/iconvctl.3.html
+/man/iconv_open_into.3.html
+# Built by libcharset/Makefile.devel.
+/libcharset/include/localcharset.h.build.in
+# Built by preload/Makefile.devel.
+
+# ---------- "make maintainerclean" gets you here ----------
+
+# Files generated by "make" and distributed
+# (i.e. kept by "make distclean")
+# (see MAINTAINERCLEANFILES in Makefile.am and, if present, Makefile.gnulib):
+# Files generated by "make", using msgfmt.
+/po/??.gmo
+/po/pt_??.gmo
+/po/zh_??.gmo
+/po/??@*.gmo
+po/stamp-po
+
+# ---------- "make distclean" ought to get you here ----------
+
+# Directories generated by "make" and mistakenly distributed
+# (i.e. mistakenly kept by "make distclean"):
+autom4te.cache/
+
+# ---------- "make distclean" gets you here ----------
+
+# Files generated by "configure" and not distributed
+# (i.e. erased by "make distclean"):
+# Erased by Makefile.
+/config.status
+/config.log
+/config.cache
+/Makefile
+/libtool
+/config.h
+/stamp-h1
+/lib/stamp-h2
+/include/iconv.h
+/include/iconv.h.inst
+# Erased by libcharset/Makefile.
+/libcharset/config.status
+/libcharset/config.log
+/libcharset/config.cache
+/libcharset/Makefile
+/libcharset/config.h
+/libcharset/libtool
+/libcharset/include/localcharset.h
+/libcharset/include/localcharset.h.inst
+# Erased by libcharset/lib/Makefile.
+/libcharset/lib/Makefile
+# Erased by lib/Makefile.
+/lib/Makefile
+/lib/config.h
+# Erased by preload/Makefile.
+/preload/config.status
+/preload/config.log
+/preload/config.cache
+/preload/Makefile
+/preload/libtool
+# Erased by srclib/Makefile.
+/srclib/Makefile
+# Erased by src/Makefile.
+/src/Makefile
+# Erased by po/Makefile.
+/po/Makefile.in
+/po/Makefile
+/po/POTFILES
+# Erased by man/Makefile.
+/man/Makefile
+# Erased by tests/Makefile.
+/tests/Makefile
+
+# Files generated by "make" and not distributed
+# (i.e. erased by "make distclean").
+.dirstamp
+# Erased by libcharset/Makefile.
+/libcharset/include/libcharset.h
+
+# ---------- "make clean" gets you here ----------
+
+# Files generated by "make" and erased by "make clean"
+# (see CLEANFILES in Makefile.am and, if present, Makefile.gnulib):
+/srclib/libicrt.a
+
+# ---------- "make mostlyclean" gets you here ----------
+
+# Directories generated by "make all check" and erased by "make mostlyclean":
+/libcharset/lib/.libs/
+/libcharset/lib/_libs/
+/lib/.libs/
+/lib/_libs/
+/preload/.libs/
+/preload/_libs/
+/src/.libs/
+/src/_libs/
+/tests/.libs/
+/tests/_libs/
+
+# Files generated by "make all check" and erased by "make mostlyclean"
+# (see MOSTLYCLEANFILES in Makefile.am and, if present, Makefile.gnulib):
+# Erased by Makefile.
+/lib/charset.alias
+/lib/libcharset.h
+/lib/libcharset.so*
+/lib/localcharset.h
+# Erased by libcharset/Makefile.
+# Erased by libcharset/lib/Makefile.
+/libcharset/lib/*.o
+/libcharset/lib/*.lo
+/libcharset/lib/*.a
+/libcharset/lib/*.la
+/libcharset/lib/*.o.lock
+/libcharset/lib/core
+/libcharset/lib/*.stackdump
+/libcharset/lib/charset.alias
+/libcharset/lib/ref-add.sed
+/libcharset/lib/ref-del.sed
+# Erased by lib/Makefile.
+/lib/*.o
+/lib/*.lo
+/lib/*.a
+/lib/*.la
+/lib/core
+/lib/*.stackdump
+/lib/so_locations
+# Erased by preload/Makefile.
+/preload/*.o
+/preload/*.lo
+/preload/*.a
+/preload/*.la
+/preload/preloadable_libiconv*
+/preload/core
+/preload/*.stackdump
+/preload/so_locations
+/preload/objects
+# Erased by srclib/Makefile.
+/srclib/**/*.o
+/srclib/core
+/srclib/*.stackdump
+/srclib/alloca.h
+/srclib/alloca.h-t
+/srclib/errno.h
+/srclib/errno.h-t
+/srclib/fcntl.h
+/srclib/fcntl.h-t
+/srclib/limits.h
+/srclib/limits.h-t
+/srclib/signal.h
+/srclib/signal.h-t
+/srclib/arg-nonnull.h
+/srclib/arg-nonnull.h-t
+/srclib/c++defs.h
+/srclib/c++defs.h-t
+/srclib/warn-on-use.h
+/srclib/warn-on-use.h-t
+/srclib/stdbool.h
+/srclib/stdbool.h-t
+/srclib/stddef.h
+/srclib/stddef.h-t
+/srclib/stdint.h
+/srclib/stdint.h-t
+/srclib/stdio.h
+/srclib/stdio.h-t
+/srclib/stdlib.h
+/srclib/stdlib.h-t
+/srclib/string.h
+/srclib/string.h-t
+/srclib/sys/stat.h
+/srclib/sys/stat.h-t
+/srclib/sys/time.h
+/srclib/sys/time.h-t
+/srclib/sys/types.h
+/srclib/sys/types.h-t
+/srclib/time.h
+/srclib/time.h-t
+/srclib/unistd.h
+/srclib/unistd.h-t
+/srclib/unitypes.h
+/srclib/unitypes.h-t
+/srclib/uniwidth.h
+/srclib/uniwidth.h-t
+# Erased by src/Makefile.
+/src/*.o
+/src/*.lo
+/src/iconv.res
+/src/iconv_no_i18n
+/src/iconv_no_i18n.exe
+/src/iconv
+/src/iconv.exe
+/src/core
+/src/*.stackdump
+# Erased by po/Makefile.
+/po/*.mo
+/po/remove-potcdate.sed
+/po/stamp-poT
+/po/core
+/po/core.*
+/po/libiconv.po
+/po/libiconv.1po
+/po/libiconv.2po
+/po/*.new.po
+/po/*.o
+# Erased by man/Makefile.
+# Erased by tests/Makefile.
+/tests/*.o
+/tests/*.lo
+/tests/table-from
+/tests/table-from.exe
+/tests/table-to
+/tests/table-to.exe
+/tests/test-shiftseq
+/tests/test-shiftseq.exe
+/tests/test-to-wchar
+/tests/test-to-wchar.exe
+/tests/tmp-*
+/tests/genutf8
+/tests/genutf8.exe
+/tests/UTF-8.TXT
+/tests/gengb18030z
+/tests/gengb18030z.exe
+/tests/GB18030.TXT
+/tests/core
+/tests/*.stackdump
+
+# Files generated by "make dist" and erased by "make mostlyclean"
+# (see MOSTLYCLEANFILES in Makefile.am):
+
+# ---------- "make all check" gets you here ----------
+
+# Patterns for all subdirectories: all kinds of automatic backup files.
+*.orig
+*.rej
+*~
+*.kate-swp
+.#*
+\#*#
+