diff options
Diffstat (limited to 'dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch')
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch new file mode 100644 index 000000000000..2b357b213170 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.6.1-libatomic_linking.patch @@ -0,0 +1,49 @@ +https://github.com/protocolbuffers/protobuf/issues/5219 +https://github.com/protocolbuffers/protobuf/pull/5227 +https://github.com/protocolbuffers/protobuf/commit/56b40a8f055cfd05633054aed5d3466a6e058b72 + +--- /configure.ac ++++ /configure.ac +@@ -165,6 +165,22 @@ + ]) + AM_CONDITIONAL([HAVE_ZLIB], [test $HAVE_ZLIB = 1]) + ++dnl On some platforms, std::atomic needs a helper library ++AC_MSG_CHECKING(whether -latomic is needed) ++AC_LINK_IFELSE([AC_LANG_SOURCE([[ ++ #include <atomic> ++ #include <cstdint> ++ std::atomic<std::int64_t> v; ++ int main() { ++ return v; ++ } ++]])], STD_ATOMIC_NEED_LIBATOMIC=no, STD_ATOMIC_NEED_LIBATOMIC=yes) ++AC_MSG_RESULT($STD_ATOMIC_NEED_LIBATOMIC) ++if test "x$STD_ATOMIC_NEED_LIBATOMIC" = xyes; then ++ LIBATOMIC_LIBS="-latomic" ++fi ++AC_SUBST([LIBATOMIC_LIBS]) ++ + AS_IF([test "$with_protoc" != "no"], [ + PROTOC=$with_protoc + AS_IF([test "$with_protoc" = "yes"], [ +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -163,7 +163,7 @@ + + lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la + +-libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) ++libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS) + libprotobuf_lite_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined + if HAVE_LD_VERSION_SCRIPT + libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map +@@ -209,7 +209,7 @@ + google/protobuf/io/zero_copy_stream.cc \ + google/protobuf/io/zero_copy_stream_impl_lite.cc + +-libprotobuf_la_LIBADD = $(PTHREAD_LIBS) ++libprotobuf_la_LIBADD = $(PTHREAD_LIBS) $(LIBATOMIC_LIBS) + libprotobuf_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined + if HAVE_LD_VERSION_SCRIPT + libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map |