## 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
/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/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/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/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_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-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
.#*
\#*#

