## 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/libtool-reloc
/build-aux/reloc-ldflags
/doc/relocatable.texi
/libcharset/INSTALL.generic
/libcharset/build-aux/config.libpath
/libcharset/build-aux/libtool-reloc
/libcharset/m4/codeset.m4
/libcharset/m4/fcntl-o.m4
/libcharset/m4/glibc21.m4
/libcharset/m4/lib-ld.m4
/libcharset/m4/relocatable-lib.m4
/libcharset/m4/relocatable.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-thread-locale.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
.#*
\#*#

