# 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
Lib/ocaml/swigp4.ml
/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
