summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch')
-rw-r--r--dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch121
1 files changed, 121 insertions, 0 deletions
diff --git a/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch
new file mode 100644
index 000000000000..b1408f050e00
--- /dev/null
+++ b/dev-libs/protobuf/files/protobuf-3.6.0-system_libraries.patch
@@ -0,0 +1,121 @@
+--- /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
+@@ -209,12 +209,5 @@
+
+ AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
+
+-# 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
+@@ -711,19 +711,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 \