fix build on s390x
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
This commit is contained in:
parent
0d5b9f6bf2
commit
25ec0f9a8f
|
@ -0,0 +1,26 @@
|
|||
From 3db1323d1d6132f08d0bafbd8602da7d71456745 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
Date: Tue, 28 Nov 2017 20:58:00 +0100
|
||||
Subject: [PATCH] fix build on s390x
|
||||
|
||||
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||
---
|
||||
src/google/protobuf/stubs/atomicops.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/google/protobuf/stubs/atomicops.h b/src/google/protobuf/stubs/atomicops.h
|
||||
index cb4553b1..34278f3a 100644
|
||||
--- a/src/google/protobuf/stubs/atomicops.h
|
||||
+++ b/src/google/protobuf/stubs/atomicops.h
|
||||
@@ -214,7 +214,7 @@ Atomic64 Release_Load(volatile const Atomic64* ptr);
|
||||
#elif defined(GOOGLE_PROTOBUF_ARCH_PPC)
|
||||
#include <google/protobuf/stubs/atomicops_internals_ppc_gcc.h>
|
||||
#elif (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4))
|
||||
-#include <google/protobuf/stubs/atomicops_internals_generic_gcc.h>
|
||||
+#include <google/protobuf/stubs/atomicops_internals_generic_c11_atomic.h>
|
||||
#elif defined(__clang__)
|
||||
#if __has_extension(c_atomic)
|
||||
#include <google/protobuf/stubs/atomicops_internals_generic_gcc.h>
|
||||
--
|
||||
2.15.0
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
Fix build with emacs-24.4.
|
||||
|
||||
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18845
|
||||
|
||||
--- protobuf-2.5.0/editors/protobuf-mode.el
|
||||
+++ protobuf-2.5.0/editors/protobuf-mode.el
|
||||
@@ -66,6 +66,10 @@
|
||||
(require 'cc-mode)
|
||||
|
||||
(eval-when-compile
|
||||
+ (and (= emacs-major-version 24)
|
||||
+ (>= emacs-minor-version 4)
|
||||
+ (null emacs-repository-version)
|
||||
+ (require 'cl))
|
||||
(require 'cc-langs)
|
||||
(require 'cc-fonts))
|
||||
|
|
@ -1,215 +0,0 @@
|
|||
--- protobuf-2.5.0/autogen.sh.orig 2013-02-26 09:56:44.000000000 -0800
|
||||
+++ protobuf-2.5.0/autogen.sh 2013-03-09 19:21:52.512010330 -0800
|
||||
@@ -1,41 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Run this script to generate the configure script and other files that will
|
||||
# be included in the distribution. These files are not checked in because they
|
||||
# are automatically generated.
|
||||
|
||||
set -e
|
||||
|
||||
# Check that we're being run from the right directory.
|
||||
if test ! -f src/google/protobuf/stubs/common.h; then
|
||||
cat >&2 << __EOF__
|
||||
Could not find source code. Make sure you are running this script from the
|
||||
root of the distribution tree.
|
||||
__EOF__
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-# Check that gtest is present. Usually it is already there since the
|
||||
-# directory is set up as an SVN external.
|
||||
-if test ! -e gtest; then
|
||||
- echo "Google Test not present. Fetching gtest-1.5.0 from the web..."
|
||||
- curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
|
||||
- mv gtest-1.5.0 gtest
|
||||
-fi
|
||||
-
|
||||
set -ex
|
||||
|
||||
-# Temporary hack: Must change C runtime library to "multi-threaded DLL",
|
||||
-# otherwise it will be set to "multi-threaded static" when MSVC upgrades
|
||||
-# the project file to MSVC 2005/2008. vladl of Google Test says gtest will
|
||||
-# probably change their default to match, then this will be unnecessary.
|
||||
-# One of these mappings converts the debug configuration and the other
|
||||
-# converts the release configuration. I don't know which is which.
|
||||
-sed -i -e 's/RuntimeLibrary="5"/RuntimeLibrary="3"/g;
|
||||
- s/RuntimeLibrary="4"/RuntimeLibrary="2"/g;' gtest/msvc/*.vcproj
|
||||
-
|
||||
# TODO(kenton): Remove the ",no-obsolete" part and fix the resulting warnings.
|
||||
autoreconf -f -i -Wall,no-obsolete
|
||||
|
||||
rm -rf autom4te.cache config.h.in~
|
||||
exit 0
|
||||
--- protobuf-2.5.0/Makefile.am.orig 2013-02-26 09:56:44.000000000 -0800
|
||||
+++ protobuf-2.5.0/Makefile.am 2013-03-09 19:22:18.741692020 -0800
|
||||
@@ -1,54 +1,33 @@
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign
|
||||
|
||||
# Build . before src so that our all-local and clean-local hooks kicks in at
|
||||
# the right time.
|
||||
SUBDIRS = . src
|
||||
|
||||
# Always include gtest in distributions.
|
||||
DIST_SUBDIRS = $(subdirs) src
|
||||
|
||||
-# Build gtest before we build protobuf tests. We don't add gtest to SUBDIRS
|
||||
-# because then "make check" would also build and run all of gtest'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 gtest since we don't want to overwrite
|
||||
-# the installed version of gtest if there is one.
|
||||
-check-local:
|
||||
- @echo "Making lib/libgtest.a lib/libgtest_main.a in gtest"
|
||||
- @cd gtest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la
|
||||
-
|
||||
-# We would like to clean gtest 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 gtest because it's listed among the
|
||||
-# DIST_SUBDIRS. distclean will delete gtest/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 gtest/Makefile; then \
|
||||
- echo "Making clean in gtest"; \
|
||||
- cd gtest && $(MAKE) $(AM_MAKEFLAGS) clean; \
|
||||
- fi
|
||||
-
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = protobuf.pc protobuf-lite.pc
|
||||
|
||||
EXTRA_DIST = \
|
||||
autogen.sh \
|
||||
generate_descriptor_proto.sh \
|
||||
README.txt \
|
||||
INSTALL.txt \
|
||||
COPYING.txt \
|
||||
CONTRIBUTORS.txt \
|
||||
CHANGES.txt \
|
||||
editors/README.txt \
|
||||
editors/proto.vim \
|
||||
editors/protobuf-mode.el \
|
||||
vsprojects/config.h \
|
||||
vsprojects/extract_includes.bat \
|
||||
vsprojects/libprotobuf.vcproj \
|
||||
vsprojects/libprotobuf-lite.vcproj \
|
||||
vsprojects/libprotoc.vcproj \
|
||||
vsprojects/protobuf.sln \
|
||||
--- protobuf-2.5.0/src/Makefile.am.orig 2013-02-26 09:56:43.000000000 -0800
|
||||
+++ protobuf-2.5.0/src/Makefile.am 2013-03-09 19:25:09.076620571 -0800
|
||||
@@ -286,44 +286,42 @@
|
||||
# building out-of-tree.
|
||||
unittest_proto_middleman: protoc$(EXEEXT) $(protoc_inputs)
|
||||
oldpwd=`pwd` && ( cd $(srcdir) && $$oldpwd/protoc$(EXEEXT) -I. --cpp_out=$$oldpwd $(protoc_inputs) )
|
||||
touch unittest_proto_middleman
|
||||
|
||||
endif
|
||||
|
||||
$(protoc_outputs): unittest_proto_middleman
|
||||
|
||||
COMMON_TEST_SOURCES = \
|
||||
google/protobuf/test_util.cc \
|
||||
google/protobuf/test_util.h \
|
||||
google/protobuf/testing/googletest.cc \
|
||||
google/protobuf/testing/googletest.h \
|
||||
google/protobuf/testing/file.cc \
|
||||
google/protobuf/testing/file.h
|
||||
|
||||
check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \
|
||||
protobuf-lite-test test_plugin $(GZCHECKPROGRAMS)
|
||||
protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
|
||||
- $(top_builddir)/gtest/lib/libgtest.la \
|
||||
- $(top_builddir)/gtest/lib/libgtest_main.la
|
||||
+ -lgtest -lgtest_main
|
||||
-protobuf_test_CPPFLAGS = -I$(top_srcdir)/gtest/include \
|
||||
- -I$(top_builddir)/gtest/include
|
||||
+protobuf_test_CPPFLAGS =
|
||||
# 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.
|
||||
protobuf_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
|
||||
protobuf_test_SOURCES = \
|
||||
google/protobuf/stubs/common_unittest.cc \
|
||||
google/protobuf/stubs/once_unittest.cc \
|
||||
google/protobuf/stubs/strutil_unittest.cc \
|
||||
google/protobuf/stubs/structurally_valid_unittest.cc \
|
||||
google/protobuf/stubs/stringprintf_unittest.cc \
|
||||
google/protobuf/stubs/template_util_unittest.cc \
|
||||
google/protobuf/stubs/type_traits_unittest.cc \
|
||||
google/protobuf/descriptor_database_unittest.cc \
|
||||
google/protobuf/descriptor_unittest.cc \
|
||||
google/protobuf/dynamic_message_unittest.cc \
|
||||
google/protobuf/extension_set_unittest.cc \
|
||||
google/protobuf/generated_message_reflection_unittest.cc \
|
||||
google/protobuf/message_unittest.cc \
|
||||
google/protobuf/reflection_ops_unittest.cc \
|
||||
google/protobuf/repeated_field_unittest.cc \
|
||||
@@ -335,61 +333,58 @@
|
||||
google/protobuf/io/printer_unittest.cc \
|
||||
google/protobuf/io/tokenizer_unittest.cc \
|
||||
google/protobuf/io/zero_copy_stream_unittest.cc \
|
||||
google/protobuf/compiler/command_line_interface_unittest.cc \
|
||||
google/protobuf/compiler/importer_unittest.cc \
|
||||
google/protobuf/compiler/mock_code_generator.cc \
|
||||
google/protobuf/compiler/mock_code_generator.h \
|
||||
google/protobuf/compiler/parser_unittest.cc \
|
||||
google/protobuf/compiler/cpp/cpp_bootstrap_unittest.cc \
|
||||
google/protobuf/compiler/cpp/cpp_unittest.h \
|
||||
google/protobuf/compiler/cpp/cpp_unittest.cc \
|
||||
google/protobuf/compiler/cpp/cpp_plugin_unittest.cc \
|
||||
google/protobuf/compiler/java/java_plugin_unittest.cc \
|
||||
google/protobuf/compiler/java/java_doc_comment_unittest.cc \
|
||||
google/protobuf/compiler/python/python_plugin_unittest.cc \
|
||||
$(COMMON_TEST_SOURCES)
|
||||
nodist_protobuf_test_SOURCES = $(protoc_outputs)
|
||||
|
||||
# Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined.
|
||||
protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \
|
||||
- $(top_builddir)/gtest/lib/libgtest.la \
|
||||
- $(top_builddir)/gtest/lib/libgtest_main.la
|
||||
+ -lgtest -lgtest_main
|
||||
-protobuf_lazy_descriptor_test_CPPFLAGS = -I$(top_srcdir)/gtest/include \
|
||||
- -I$(top_builddir)/gtest/include \
|
||||
- -DPROTOBUF_TEST_NO_DESCRIPTORS
|
||||
+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 \
|
||||
$(COMMON_TEST_SOURCES)
|
||||
nodist_protobuf_lazy_descriptor_test_SOURCES = $(protoc_outputs)
|
||||
|
||||
# Build lite_unittest separately, since it doesn't use gtest.
|
||||
protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la
|
||||
protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS)
|
||||
protobuf_lite_test_SOURCES = \
|
||||
google/protobuf/lite_unittest.cc \
|
||||
google/protobuf/test_util_lite.cc \
|
||||
google/protobuf/test_util_lite.h
|
||||
nodist_protobuf_lite_test_SOURCES = $(protoc_lite_outputs)
|
||||
|
||||
# Test plugin binary.
|
||||
test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \
|
||||
- $(top_builddir)/gtest/lib/libgtest.la
|
||||
+ -lgtest
|
||||
test_plugin_CPPFLAGS = -I$(top_srcdir)/gtest/include \
|
||||
-I$(top_builddir)/gtest/include
|
||||
test_plugin_SOURCES = \
|
||||
google/protobuf/compiler/mock_code_generator.cc \
|
||||
google/protobuf/testing/file.cc \
|
||||
google/protobuf/testing/file.h \
|
||||
google/protobuf/compiler/test_plugin.cc
|
||||
|
||||
if HAVE_ZLIB
|
||||
zcgzip_LDADD = $(PTHREAD_LIBS) libprotobuf.la
|
||||
zcgzip_SOURCES = google/protobuf/testing/zcgzip.cc
|
||||
|
||||
zcgunzip_LDADD = $(PTHREAD_LIBS) libprotobuf.la
|
||||
zcgunzip_SOURCES = google/protobuf/testing/zcgunzip.cc
|
||||
endif
|
||||
|
||||
TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \
|
||||
google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS)
|
|
@ -21,6 +21,8 @@ Source2: protobuf-init.el
|
|||
# For tests
|
||||
Source3: https://github.com/google/googlemock/archive/release-1.7.0.tar.gz#/googlemock-1.7.0.tar.gz
|
||||
Source4: https://github.com/google/googletest/archive/release-1.7.0.tar.gz#/googletest-1.7.0.tar.gz
|
||||
# Might be upstreamable, but for now temporary workaround
|
||||
Patch0: 0001-fix-build-on-s390x.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
|
@ -223,6 +225,7 @@ Protocol Buffer Parent POM.
|
|||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}%{?rcver} -a 3 -a 4
|
||||
%autopatch -p1
|
||||
mv googlemock-release-1.7.0 gmock
|
||||
mv googletest-release-1.7.0 gmock/gtest
|
||||
find -name \*.cc -o -name \*.h | xargs chmod -x
|
||||
|
|
Loading…
Reference in New Issue