## 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.
##
## We don't list files that may occur in exceptional situations (such as
## temporary files *.h-t), because a developer should notice when such a
## file is not erased by "make mostlyclean".

# Files brought in by gnulib-tool --import:
/build-aux/config.rpath
/build-aux/moopp
/gnulib-m4/
/lib/Makefile.gnulib
/lib/_Noreturn.h
/lib/alignof.h
/lib/alloca.in.h
/lib/arg-nonnull.h
/lib/asnprintf.c
/lib/asprintf.c
/lib/attribute.h
/lib/basename-lgpl.c
/lib/basename-lgpl.h
/lib/binary-io.c
/lib/binary-io.h
/lib/c++defs.h
/lib/c-ctype.c
/lib/c-ctype.h
/lib/c-strcase.h
/lib/c-strcasecmp.c
/lib/c-strncasecmp.c
/lib/cloexec.c
/lib/cloexec.h
/lib/close.c
/lib/concat-filename.c
/lib/concat-filename.h
/lib/dirname.h
/lib/dirname-lgpl.c
/lib/dosname.h
/lib/dup2.c
/lib/errno.in.h
/lib/error.c
/lib/error.h
/lib/exitfail.c
/lib/exitfail.h
/lib/fatal-signal.c
/lib/fatal-signal.h
/lib/fcntl.c
/lib/fcntl.in.h
/lib/fd-hook.c
/lib/fd-hook.h
/lib/fd-ostream.oo.c
/lib/fd-ostream.oo.h
/lib/file-ostream.oo.c
/lib/file-ostream.oo.h
/lib/filename.h
/lib/float+.h
/lib/float.c
/lib/float.in.h
/lib/fpucw.h
/lib/frexp.c
/lib/frexpl.c
/lib/fstat.c
/lib/fsync.c
/lib/full-write.c
/lib/full-write.h
/lib/get_ppid_of.c
/lib/get_ppid_of.h
/lib/get_progname_of.c
/lib/get_progname_of.h
/lib/getdtablesize.c
/lib/gethostname.c
/lib/getprogname.c
/lib/getprogname.h
/lib/gettext.h
/lib/gettimeofday.c
/lib/gl_array_list.c
/lib/gl_array_list.h
/lib/gl_list.c
/lib/gl_list.h
/lib/gl_xlist.c
/lib/gl_xlist.h
/lib/glib/
/lib/glib.in.h
/lib/glibconfig.in.h
/lib/glthread/
/lib/html-ostream.oo.c
/lib/html-ostream.oo.h
/lib/html-styled-ostream.oo.c
/lib/html-styled-ostream.oo.h
/lib/iconv-ostream.oo.c
/lib/iconv-ostream.oo.h
/lib/intprops.h
/lib/inttypes.in.h
/lib/isatty.c
/lib/isinf.c
/lib/isnan.c
/lib/isnand.c
/lib/isnand-nolibm.h
/lib/isnanf.c
/lib/isnanf-nolibm.h
/lib/isnanl.c
/lib/isnanl-nolibm.h
/lib/itold.c
/lib/libcroco/
/lib/libxml/
/lib/limits.in.h
/lib/log10.c
/lib/malloc.c
/lib/malloca.c
/lib/malloca.h
/lib/math.c
/lib/math.in.h
/lib/mem-hash-map.c
/lib/mem-hash-map.h
/lib/memchr.c
/lib/memchr.valgrind
/lib/memory-ostream.oo.c
/lib/memory-ostream.oo.h
/lib/minmax.h
/lib/moo.h
/lib/msvc-inval.c
/lib/msvc-inval.h
/lib/msvc-nothrow.c
/lib/msvc-nothrow.h
/lib/noop-styled-ostream.oo.c
/lib/noop-styled-ostream.oo.h
/lib/noreturn.h
/lib/obstack.c
/lib/obstack.h
/lib/open.c
/lib/ostream.oo.c
/lib/ostream.oo.h
/lib/pathmax.h
/lib/printf-args.c
/lib/printf-args.h
/lib/printf-frexp.c
/lib/printf-frexp.h
/lib/printf-frexpl.c
/lib/printf-frexpl.h
/lib/printf-parse.c
/lib/printf-parse.h
/lib/raise.c
/lib/read.c
/lib/safe-read.c
/lib/safe-read.h
/lib/safe-write.c
/lib/safe-write.h
/lib/same-inode.h
/lib/sig-handler.c
/lib/sig-handler.h
/lib/sigaction.c
/lib/signal.in.h
/lib/signbitd.c
/lib/signbitf.c
/lib/signbitl.c
/lib/sigprocmask.c
/lib/size_max.h
/lib/snprintf.c
/lib/sockets.c
/lib/sockets.h
/lib/stat.c
/lib/stat-time.c
/lib/stat-time.h
/lib/stat-w32.c
/lib/stat-w32.h
/lib/stdalign.in.h
/lib/stdarg.in.h
/lib/stdbool.in.h
/lib/stddef.in.h
/lib/stdint.in.h
/lib/stdio.in.h
/lib/stdlib.in.h
/lib/stpcpy.c
/lib/strerror.c
/lib/strerror-override.c
/lib/strerror-override.h
/lib/string.in.h
/lib/stripslash.c
/lib/styled-ostream.oo.c
/lib/styled-ostream.oo.h
/lib/sys-limits.h
/lib/sys_socket.c
/lib/sys_socket.in.h
/lib/sys_stat.in.h
/lib/sys_time.in.h
/lib/sys_types.in.h
/lib/sys_uio.in.h
/lib/term-ostream.oo.c
/lib/term-ostream.oo.h
/lib/term-style-control.c
/lib/term-style-control.h
/lib/term-styled-ostream.oo.c
/lib/term-styled-ostream.oo.h
/lib/terminfo.h
/lib/thread-optim.h
/lib/time.in.h
/lib/tparm.c
/lib/tputs.c
/lib/unistd.c
/lib/unistd.in.h
/lib/unistr/
/lib/unistr.in.h
/lib/unitypes.in.h
/lib/unused-parameter.h
/lib/vasnprintf.c
/lib/vasnprintf.h
/lib/vasprintf.c
/lib/verify.h
/lib/vsnprintf.c
/lib/w32sock.h
/lib/warn-on-use.h
/lib/wchar.in.h
/lib/windows-initguard.h
/lib/windows-mutex.c
/lib/windows-mutex.h
/lib/windows-once.c
/lib/windows-once.h
/lib/windows-recmutex.c
/lib/windows-recmutex.h
/lib/windows-rwlock.c
/lib/windows-rwlock.h
/lib/write.c
/lib/xalloc-die.c
/lib/xalloc-oversized.h
/lib/xalloc.h
/lib/xasprintf.c
/lib/xconcat-filename.c
/lib/xgethostname.c
/lib/xgethostname.h
/lib/xmalloc.c
/lib/xsize.c
/lib/xsize.h
/lib/xstrdup.c
/lib/xvasprintf.c
/lib/xvasprintf.h
/tests/
!/tests/Makefile.am
!/tests/test-accessors.c
!/tests/test-instanceof.c

# Files brought in by "automake --add-missing --copy":
/build-aux/compile
/build-aux/depcomp
/build-aux/install-sh
/build-aux/mdate-sh
/build-aux/missing
/build-aux/test-driver

# Other files brought in by autogen.sh:
/INSTALL.windows
/build-aux/config.guess
/build-aux/config.sub
/build-aux/ltmain.sh
/build-aux/run-test
/build-aux/test-driver.diff
/build-aux/texi2html
/build-aux/texinfo.tex
/lib/declared.sh
/lib/exported.sh.in
/m4/exported.m4
/m4/libtextstyle.m4
/m4/libtool.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4
/m4/woe32-dll.m4
# Dummy ChangeLogs:
/ChangeLog

# Files generated by the autotools:
/aclocal.m4
/configure
/config.h.in
/Makefile.in
/doc/Makefile.in
/lib/Makefile.in
/tests/Makefile.in
/adhoc-tests/Makefile.in

# ---------- "make maintainer-clean" 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):
/lib/libtextstyle.sym.in
/lib/fd-ostream.c
/lib/fd-ostream.h
/lib/fd_ostream.priv.h
/lib/fd_ostream.vt.h
/lib/file-ostream.c
/lib/file-ostream.h
/lib/file_ostream.priv.h
/lib/file_ostream.vt.h
/lib/html-ostream.c
/lib/html-ostream.h
/lib/html-styled-ostream.c
/lib/html-styled-ostream.h
/lib/html_ostream.priv.h
/lib/html_ostream.vt.h
/lib/html_styled_ostream.priv.h
/lib/html_styled_ostream.vt.h
/lib/iconv-ostream.c
/lib/iconv-ostream.h
/lib/iconv_ostream.priv.h
/lib/iconv_ostream.vt.h
/lib/memory-ostream.c
/lib/memory-ostream.h
/lib/memory_ostream.priv.h
/lib/memory_ostream.vt.h
/lib/noop-styled-ostream.c
/lib/noop-styled-ostream.h
/lib/noop_styled_ostream.priv.h
/lib/noop_styled_ostream.vt.h
/lib/ostream.c
/lib/ostream.h
/lib/ostream.priv.h
/lib/ostream.vt.h
/lib/styled-ostream.c
/lib/styled-ostream.h
/lib/styled_ostream.priv.h
/lib/styled_ostream.vt.h
/lib/term-ostream.c
/lib/term-ostream.h
/lib/term-styled-ostream.c
/lib/term-styled-ostream.h
/lib/term_ostream.priv.h
/lib/term_ostream.vt.h
/lib/term_styled_ostream.priv.h
/lib/term_styled_ostream.vt.h

# Files generated by "make", using makeinfo, texi2html, perl
# and therefore distributed (i.e. kept by "make distclean").
/doc/version.texi
/doc/stamp-vti
/doc/libtextstyle.info
/doc/libtextstyle_toc.html
/doc/libtextstyle_?.html
/doc/libtextstyle_??.html
/doc/libtextstyle_abt.html

# ---------- "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 ----------

# Directories generated by "configure" and not distributed
# (i.e. erased by "make distclean"):
.deps/
# Files generated by "configure" and not distributed
# (i.e. erased by "make distclean"):
/config.log
/config.status
# Files created by "config.status":
/Makefile
/config.h
/libtool
/stamp-h1
/doc/Makefile
/lib/Makefile
/lib/exported.sh
/lib/textstyle/version.h
/lib/textstyle/woe32dll.h
/tests/Makefile
/adhoc-tests/Makefile

# Directories generated by "make" and not distributed
# (i.e. erased by "make distclean"):
/adhoc-tests/.deps/

# Files generated by "make" and not distributed
# (i.e. erased by "make distclean"):
.dirstamp

# Files generated by "make" and erased by "make distclean"
# (see DISTCLEANFILES in Makefile.am and, if present, Makefile.gnulib):

# ---------- "make clean" gets you here ----------

# Directories generated by "make" and erased by "make clean":
/lib/**/.libs/
/adhoc-tests/**/.libs/

# Files generated by "make" and erased by "make clean"
# (see CLEANFILES in Makefile.am and, if present, Makefile.gnulib):
/doc/libtextstyle.dvi
/doc/libtextstyle.html
/doc/libtextstyle.pdf
/doc/libtextstyle.ps
/lib/libcroco_rpl.la
/lib/libglib_rpl.la
/lib/libtextstyle.la
/lib/libxml_rpl.la
/lib/textstyle/stdbool.h
# Executables generated by "make":
/adhoc-tests/hello
/adhoc-tests/hello.exe

# ---------- "make mostlyclean" gets you here ----------

# Directories generated by "make" and erased by "make mostlyclean":

# Files generated by "make" and erased by "make mostlyclean"
# (see MOSTLYCLEANFILES in Makefile.am and, if present, Makefile.gnulib):
core
*.stackdump
# Object files.
*.o
*.lo
# gcov data files.
*.gcno
*.gcda
# Logs generated by Automake:
/tests/*.log
/tests/*.trs
# Other.
/doc/libtextstyle.t2d/
/doc/libtextstyle.t2p/
/doc/vti.tmp*
/lib/alloca.h
/lib/alloca.h-t
/lib/config.h
/lib/config.h-t
/lib/errno.h
/lib/errno.h-t
/lib/fcntl.h
/lib/fcntl.h-t
/lib/float.h
/lib/float.h-t
/lib/glib/ghash.h
/lib/glib/glist.h
/lib/glib/gmacros.h
/lib/glib/gprimes.h
/lib/glib/gprintfint.h
/lib/glib/gstrfuncs.h
/lib/glib/gstring.h
/lib/glib/gtypes.h
/lib/glib/*.h-t
/lib/glib.h
/lib/glib.h-t
/lib/glibconfig.h
/lib/glibconfig.h-t
/lib/inttypes.h
/lib/inttypes.h-t
/lib/libtextstyle.sym
/lib/libtextstyle.sym-t
/lib/libtextstyle.sym.in-t1
/lib/libtextstyle.sym.in-t2
/libxml/DOCBparser.h
/libxml/HTMLparser.h
/libxml/HTMLtree.h
/libxml/SAX.h
/libxml/SAX2.h
/libxml/c14n.h
/libxml/catalog.h
/libxml/chvalid.h
/libxml/debugXML.h
/libxml/dict.h
/libxml/encoding.h
/libxml/entities.h
/libxml/globals.h
/libxml/hash.h
/libxml/list.h
/libxml/nanoftp.h
/libxml/nanohttp.h
/libxml/parser.h
/libxml/parserInternals.h
/libxml/pattern.h
/libxml/relaxng.h
/libxml/schemasInternals.h
/libxml/schematron.h
/libxml/threads.h
/libxml/tree.h
/libxml/uri.h
/libxml/valid.h
/libxml/xinclude.h
/libxml/xlink.h
/libxml/xmlIO.h
/libxml/xmlautomata.h
/libxml/xmlerror.h
/libxml/xmlexports.h
/libxml/xmlmemory.h
/libxml/xmlmodule.h
/libxml/xmlreader.h
/libxml/xmlregexp.h
/libxml/xmlsave.h
/libxml/xmlschemas.h
/libxml/xmlschemastypes.h
/libxml/xmlstring.h
/libxml/xmlunicode.h
/libxml/xmlversion.h
/libxml/xmlwriter.h
/libxml/xpath.h
/libxml/xpathInternals.h
/libxml/xpointer.h
/libxml/*.h-t
/lib/limits.h
/lib/limits.h-t
/lib/math.h
/lib/math.h-t
/lib/signal.h
/lib/signal.h-t
/lib/stdalign.h
/lib/stdalign.h-t
/lib/stdarg.h
/lib/stdarg.h-t
/lib/stdbool.h
/lib/stdbool.h-t
/lib/stddef.h
/lib/stddef.h-t
/lib/stdint.h
/lib/stdint.h-t
/lib/stdio.h
/lib/stdio.h-t
/lib/stdlib.h
/lib/stdlib.h-t
/lib/string.h
/lib/string.h-t
/lib/sys/socket.h
/lib/sys/socket.h-t
/lib/sys/stat.h
/lib/sys/stat.h-t
/lib/sys/time.h
/lib/sys/time.h-t
/lib/sys/types.h
/lib/sys/types.h-t
/lib/sys/uio.h
/lib/sys/uio.h-t
/lib/textstyle/stdbool.h-t
/lib/time.h
/lib/time.h-t
/lib/unistd.h
/lib/unistd.h-t
/lib/unistr.h
/lib/unistr.h-t
/lib/unitypes.h
/lib/unitypes.h-t
/lib/wchar.h
/lib/wchar.h-t

# ---------- "make all check" gets you here ----------

# Files generated by building the examples.
/examples/color-filter/Makefile
/examples/color-filter/Makefile.in
/examples/color-filter/aclocal.m4
/examples/color-filter/build-aux/compile
/examples/color-filter/build-aux/config.guess
/examples/color-filter/build-aux/config.rpath
/examples/color-filter/build-aux/config.sub
/examples/color-filter/build-aux/install-sh
/examples/color-filter/build-aux/missing
/examples/color-filter/config.log
/examples/color-filter/config.status
/examples/color-filter/configure
/examples/color-filter/filter
/examples/color-hello/Makefile
/examples/color-hello/Makefile.in
/examples/color-hello/aclocal.m4
/examples/color-hello/build-aux/compile
/examples/color-hello/build-aux/config.guess
/examples/color-hello/build-aux/config.rpath
/examples/color-hello/build-aux/config.sub
/examples/color-hello/build-aux/install-sh
/examples/color-hello/build-aux/missing
/examples/color-hello/config.log
/examples/color-hello/config.status
/examples/color-hello/configure
/examples/color-hello/hello

# ------------------------------------------------------------------------------

# Patterns for all subdirectories: all kinds of automatic backup files.
*.orig
*.rej
*~
*.kate-swp
.#*
\#*#

