## This file specifies the files and directories that can usually occur in a
## developer build of this Git repository.
##
## 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
/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/visibility.m4
/srclib/_Noreturn.h
/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/filename.h
/srclib/getprogname.c
/srclib/getprogname.h
/srclib/gettext.h
/srclib/intprops.h
/srclib/limits.in.h
/srclib/localcharset.h
/srclib/lstat.c
/srclib/malloc.c
/srclib/malloca.c
/srclib/malloca.h
/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/stat-time.c
/srclib/stat-time.h
/srclib/stat-w32.c
/srclib/stat-w32.h
/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-limits.h
/srclib/sys_stat.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-oversized.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/glibc2.m4
/srcm4/glibc21.m4
/srcm4/gnulib-common.m4
/srcm4/gnulib-comp.m4
/srcm4/gnulib-tool.m4
/srcm4/host-cpu-c-abi.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-time.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_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

# ---------- "make -f Makefile.devel totally-clean" gets you here ----------

# 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

# 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

# ---------- "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 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/
/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/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
# Erased by lib/Makefile.
/lib/*.o
/lib/*.lo
/lib/*.a
/lib/*.la
/lib/core
/lib/*.stackdump
/lib/so_locations
# 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
.#*
\#*#

