# Compiled Source
*.o
*.class

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

# 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
*.bundle

# 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
CCache/config_win32.h
Examples/Makefile
Examples/d/example.mk
Examples/guile/Makefile
Examples/test-suite/*/Makefile
Examples/xml/Makefile
/Makefile
Source/Include/stamp-h1
Source/Include/swigconfig.h
Source/Makefile
Tools/javascript/Makefile
.deps
config.log
config.status
preinst-swig
swig.spec

# Build Artifacts
.dirstamp
CCache/ccache-swig
CCache/ccache-swig.1
CCache/web/ccache-swig-man.html
Source/CParse/parser.c
Source/CParse/parser.h
Source/eswig
Source/TAGS
swig
Tools/javascript/javascript

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

# SWIG common generated files
*_wrap.c
*_wrap.cpp
*_wrap.cxx
*_wrap.h
*-gypcopy.cxx

# Scratch directories
Examples/scratch

# Out of source tree build directories
*build*/

# errors test-suite
Examples/test-suite/errors/*.newerr
Examples/test-suite/errors/*.py

########## Language specific files ##########

# C#
Examples/test-suite/csharp/*/
*runme.exe.mdb
*runme.exe
Examples/csharp/*/*.cs
!Examples/csharp/*/runme.cs

# D
Examples/test-suite/d/*/
Examples/d/**/example.d
Examples/d/**/example_im.d
Examples/d/**/runme

# Go
*.[5689]
*_gc.c
Examples/test-suite/go/*.go
!Examples/test-suite/go/*runme.go
Examples/test-suite/go/*runme
Examples/test-suite/go/gopath
Examples/test-suite/go/testdir
Examples/go/*/gopath
Examples/go/*/example.go
Examples/go/*/runme

# Guile
Examples/guile/*/my-guile

# Java
Examples/test-suite/java/*/
Examples/java/*/*.java
!Examples/java/*/runme.java
Examples/java/doxygen/javadocs

# Javascript
Examples/test-suite/javascript/*/
*.gyp

# OCaml
Examples/test-suite/ocaml/*.ml*
Examples/test-suite/ocaml/*.cm*
Examples/test-suite/ocaml/*_runme
!Examples/test-suite/ocaml/*runme.ml
Examples/ocaml/**/example.ml*
Examples/ocaml/**/runme
Examples/ocaml/**/runme_top
Examples/ocaml/**/*.cm*
Examples/ocaml/**/swig.ml*
Examples/ocaml/**/swigp4.ml

# Octave
swigexample*.oct
Examples/test-suite/octave/*.oct

# Perl5
Examples/test-suite/perl5/*.pm
Examples/perl5/*/*.pm

# PHP
Examples/test-suite/php/php_*.h
Examples/test-suite/php/*.php
!Examples/test-suite/php/*runme.php
!Examples/test-suite/php/skel.php
Examples/php/*/php_*.h
Examples/php/*/example.php

# Python
#   Based on https://github.com/github/gitignore/blob/master/Python.gitignore
*.py[cod]
*/__pycache__/
/__pycache__/
Examples/test-suite/python/*.py
!Examples/test-suite/python/*runme.py
Examples/python/**/bar.py
Examples/python/**/base.py
Examples/python/**/example.py
Examples/python/**/foo.py
Examples/python/**/robin.py
Examples/python/**/runme3.py
Examples/python/**/spam.py
Examples/python/import_packages/module_is_init/pkg1/__init__.py
Examples/python/import_packages/namespace_pkg/path4.zip
Examples/python/doxygen/example.html

# R
Examples/test-suite/r/*.R
Examples/test-suite/r/*.Rout
!Examples/test-suite/r/*runme.R
Examples/r/*/example.R
Examples/r/*/*.Rout
Examples/r/*/.RData

# Scilab
Examples/test-suite/scilab/*/
loader.sce

