# Compiled Source
*.o
*.class

# Editor files and various other junk
.*.sw?
*.bak

# Local PCRE
pcre
*.gz

# C/C++ object files, based on:
#   https://github.com/github/gitignore/blob/master/C.gitignore
#   https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore
*.slo
*.lo

# C/C++ dynamic libraries, based on:
#   https://github.com/github/gitignore/blob/master/C.gitignore
#   https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore
*.dll
*.so
*.so.*
*.dylib

# C/C++ static libraries, based on:
#   https://github.com/github/gitignore/blob/master/C.gitignore
#   https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore
*.lib
*.lai
*.la
*.a

# C/C++ executables, based on:
#   https://github.com/github/gitignore/blob/master/C.gitignore
#   https://github.com/github/gitignore/blob/master/C%2B%2B.gitignore
*.exe
*.out
*.app

# Generated by autogen.sh
CCache/autom4te.cache/
CCache/config.h.in
CCache/configure
Source/Include/swigconfig.h.in
Source/Include/swigconfig.h.in~
Source/Makefile.in
Tools/config/compile
Tools/config/config.guess
Tools/config/config.sub
Tools/config/depcomp
Tools/config/install-sh
Tools/config/missing
Tools/config/ylwrap
aclocal.m4
autom4te.cache/
configure

# Generated by ./configure
CCache/Makefile
CCache/ccache_swig_config.h
CCache/config.h
CCache/config.log
CCache/config.status
Examples/Makefile
Examples/guile/Makefile
Examples/test-suite/*/Makefile
Examples/xml/Makefile
/Makefile
Source/Include/stamp-h1
Source/Include/swigconfig.h
Source/Makefile
.deps
config.log
config.status
preinst-swig
swig.spec

# Build Artifacts
.dirstamp
CCache/ccache-swig
CCache/ccache-swig.1
Source/CParse/parser.c
Source/CParse/parser.h
Source/eswig
swig

# Generated documentation
Doc/Manual/CCache.html
Doc/Manual/SWIGDocumentation.html
Doc/Manual/SWIGDocumentation.pdf
Doc/Manual/*.book

# Test Suite Generated Files
Examples/test-suite/allegrocl/*/
Examples/test-suite/cffi/*/
Examples/test-suite/chicken/*/
Examples/test-suite/clisp/*/
Examples/test-suite/csharp/*/
Examples/test-suite/d/*/
Examples/test-suite/go/*/
Examples/test-suite/guile/*/
Examples/test-suite/java/*/
Examples/test-suite/lua/*/
Examples/test-suite/mzscheme/*/
Examples/test-suite/ocaml/*/
Examples/test-suite/octave/*/
Examples/test-suite/perl5/*/
Examples/test-suite/php/*/
Examples/test-suite/pike/*/
Examples/test-suite/python/*/
Examples/test-suite/r/*/
Examples/test-suite/ruby/*/
Examples/test-suite/tcl/*/
Examples/test-suite/uffi/*/

# Python generated files, based on:
#   https://github.com/github/gitignore/blob/master/Python.gitignore
*.py[cod]
*/__pycache__/
/__pycache__/

# C# generated files
*_runme.exe.mdb
*_runme.exe

# Scratch directories
Examples/scratch
