--- /Makefile.am +++ /Makefile.am @@ -11,28 +11,10 @@ # Always include third_party directories in distributions. DIST_SUBDIRS = src conformance benchmarks third_party/googletest -# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS -# because then "make check" would also build and run all of gmock's own tests, -# which takes a lot of time and is generally not useful to us. Also, we don't -# want "make install" to recurse into gmock since we don't want to overwrite -# the installed version of gmock if there is one. check-local: - @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" - @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la - @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la -# We would like to clean gmock when "make clean" is invoked. But we have to -# be careful because clean-local is also invoked during "make distclean", but -# "make distclean" already recurses into gmock because it's listed among the -# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to -# cd to the directory again and "make clean" it will fail. So, check that the -# Makefile exists before recursing. clean-local: - @if test -e third_party/googletest/Makefile; then \ - echo "Making clean in googletest"; \ - cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \ - fi; \ - if test -e conformance/Makefile; then \ + @if test -e conformance/Makefile; then \ echo "Making clean in conformance"; \ cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \ fi; \ --- /configure.ac +++ /configure.ac @@ -236,12 +236,5 @@ fi AC_SUBST([LIBLOG_LIBS]) -# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS, -# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock -# too. -export CFLAGS -export CXXFLAGS -AC_CONFIG_SUBDIRS([third_party/googletest]) - AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc]) AC_OUTPUT --- /src/Makefile.am +++ /src/Makefile.am @@ -707,19 +707,11 @@ google/protobuf/testing/file.cc \ google/protobuf/testing/file.h -GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest -GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock -GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest -GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ protobuf-lite-test test_plugin protobuf-lite-arena-test \ $(GZCHECKPROGRAMS) protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la -protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ - -I$(GOOGLEMOCK_SRC_DIR)/include + -lgtest -lgmock -lgmock_main # Disable optimization for tests unless the user explicitly asked for it, # since test_util.cc takes forever to compile with optimization (with GCC). # See configure.ac for more info. @@ -811,12 +803,8 @@ # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ libprotoc.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la -protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ - -I$(GOOGLETEST_SRC_DIR)/include \ - -DPROTOBUF_TEST_NO_DESCRIPTORS + -lgtest -lgmock -lgmock_main +protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) protobuf_lazy_descriptor_test_SOURCES = \ google/protobuf/compiler/cpp/cpp_unittest.cc \ @@ -837,11 +825,7 @@ # full runtime and we want to make sure this test builds without full # runtime. protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la -protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ - -I$(GOOGLETEST_SRC_DIR)/include + -lgtest -lgmock -lgmock_main protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) protobuf_lite_test_SOURCES = \ google/protobuf/lite_unittest.cc \ @@ -853,11 +837,7 @@ # gtest when building the test internally our memory sanitizer doesn't detect # memory leaks (don't know why). protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ - $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la -protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ - -I$(GOOGLETEST_SRC_DIR)/include + -lgtest -lgmock -lgmock_main protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) protobuf_lite_arena_test_SOURCES = \ google/protobuf/lite_arena_unittest.cc \ @@ -867,8 +847,7 @@ # Test plugin binary. test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ - $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la -test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include + -lgtest test_plugin_SOURCES = \ google/protobuf/compiler/mock_code_generator.cc \ google/protobuf/testing/file.cc \