# autogen.sh-generated files
Makefile.in
src/Makefile.in
config.guess
config.h.in
config.sub
configure
depcomp
install-sh
ltmain.sh
missing

aclocal.m4
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
autom4te.cache

# downloaded files
gmock

# in-tree configure-generated files
Makefile
src/Makefile
/config.h
config.log
config.status

libtool
protobuf-lite.pc
protobuf.pc
.deps
stamp-h1

# in-tree build products
*.o
*.lo
*.la
src/.libs
*.so

.dirstamp

any_test.pb.*
map*unittest.pb.*
unittest*.pb.*
cpp_test*.pb.*
src/google/protobuf/compiler/js/well_known_types_embed.cc
src/google/protobuf/util/**/*.pb.cc
src/google/protobuf/util/**/*.pb.h

*.pyc
*.egg-info
*_pb2.py
python/*.egg
python/.eggs/
python/.tox
python/build/
python/google/protobuf/compiler/
python/google/protobuf/util/

src/js_embed
src/protoc
src/unittest_proto_middleman

# Generated test scaffolding
src/no_warning_test.cc
src/no-warning-test
src/protobuf*-test
src/test_plugin
src/testzip.*
src/zcg*zip
ar-lib

test-driver
compile

src/**/*.log
src/**/*.trs

# JavaBuild output.
java/core/target
java/util/target
javanano/target

# Windows native output.
cmake/build
build_msvc

# NuGet packages: we want the repository configuration, but not the
# packages themselves.
/csharp/src/packages/*/

# OS X's Finder creates these for state about opened windows/etc.
**/.DS_Store

# Cocoapods artifacts
# Podfile.lock and the workspace file are tracked, to ease deleting them. That's
# needed to trigger "pod install" to rerun the preinstall commands.
Pods/

# Comformance test output
conformance/.libs/
conformance/com/
conformance/conformance-cpp
conformance/conformance-csharp
conformance/conformance-java
conformance/conformance-objc
conformance/conformance-test-runner
conformance/conformance.pb.cc
conformance/conformance.pb.h
conformance/Conformance.pbobjc.h
conformance/Conformance.pbobjc.m
conformance/conformance_pb.rb
conformance/failing_tests.txt
conformance/google/
conformance/javac_middleman
conformance/lite/
conformance/nonexistent_tests.txt
conformance/protoc_middleman
conformance/succeeding_tests.txt

# php test output
composer.lock
php/tests/generated/
php/ext/google/protobuf/.libs/
php/ext/google/protobuf/Makefile.fragments
php/ext/google/protobuf/Makefile.global
php/ext/google/protobuf/Makefile.objects
php/ext/google/protobuf/acinclude.m4
php/ext/google/protobuf/build/
php/ext/google/protobuf/config.h
php/ext/google/protobuf/config.nice
php/ext/google/protobuf/configure.in
php/ext/google/protobuf/mkinstalldirs
php/ext/google/protobuf/run-tests.php
vendor/

# JavaScript artifacts
js/commonjs_out/
js/deps.js
js/google-protobuf.js
js/google/
js/node_modules/
js/testproto_libs.js
