# Autotools generated files
**/Makefile.in
aclocal.m4
autom4te.cache/
config/
config.h.in
configure
m4/

# configure generated files
**/.deps
**/Makefile
config.h
config.log
config.status
doc/Doxyfile
doc/style/dtd/entities.ent
libtool
scripts/run-test
src/xercesc/util/XercesVersion.hpp
src/xercesc/util/Xerces_autoconf_config.hpp
**/stamp-h*
xerces-c.pc

# CMake generated files
CMakeCache.txt
**/CMakeFiles/
**/CTestTestfile.cmake
**/cmake_install.cmake
**/InstallLibrarySymlink.cmake
src/XercesCConfig.cmake
src/XercesCConfigVersion.cmake
*.ninja
.ninja*
*.vcxproj
*.vcxproj.filters
*.vcxproj.user
*.sln
src/xercesc/util/version.rc

# build generated files
.libs/
*.dir/
x64/
Win32/
ARM/
ARM64/
Debug/
MinSizeRel/
Release/
RelWithDebInfo/
doc/html/
.vs/
.dirstamp
*.o
*.lo
*.la
*.a
*.so
*.dylib
*.dll
*.exe
*.pdb
*.ilk
*.exp
*.lib
samples/CreateDOMDocument
samples/DOMCount
samples/DOMPrint
samples/EnumVal
samples/MemParse
samples/PParse
samples/PSVIWriter
samples/Redirect
samples/SAX2Count
samples/SAX2Print
samples/SAXCount
samples/SAXPrint
samples/SCMPrint
samples/SEnumVal
samples/StdInParse
samples/XInclude
tests/Char16Test
tests/DOMMemTest
tests/DOMTest
tests/DOMTraversalTest
tests/DOMTypeInfoTest
tests/EncodingTest
tests/InitTermTest
tests/MemHandlerTest
tests/NetAccessorTest
tests/Normalizer
tests/RangeTest
tests/ThreadTest
tests/XSTSHarness
tests/XSValueTest
tests/XSerializerTest

# Test output
samples/observed/
samples/scripts/*.log
samples/scripts/*.trs
samples/test-suite.log
tests/observed/
tests/scripts/*.log
tests/scripts/*.trs
tests/test-suite.log
Testing/
