From 1e2fece3e01b8e079b4f6930306377a9332a2ddb Mon Sep 17 00:00:00 2001 From: Feng Xiao Date: Fri, 18 Dec 2015 15:16:07 -0800 Subject: [PATCH] Configure conformance tests to build with C++11 (require GCC 4.8) [skip ci] --- conformance/Makefile.am | 1 + travis.sh | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/conformance/Makefile.am b/conformance/Makefile.am index 3c973408f8..c3551a45aa 100644 --- a/conformance/Makefile.am +++ b/conformance/Makefile.am @@ -21,6 +21,7 @@ conformance_test_runner_SOURCES = conformance_test.cc conformance_test_runner.cc third_party/jsoncpp/jsoncpp.cpp nodist_conformance_test_runner_SOURCES = conformance.pb.cc conformance_test_runner_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) +conformance_test_runner_CXXFLAGS = -std=c++11 # Explicit deps beacuse BUILT_SOURCES are only done before a "make all/check" # so a direct "make test_cpp" could fail if parallel enough. conformance_test_runner-conformance_test.$(OBJEXT): conformance.pb.h diff --git a/travis.sh b/travis.sh index e7667fbcfe..317bef4e0c 100755 --- a/travis.sh +++ b/travis.sh @@ -11,6 +11,13 @@ # For when some other test needs the C++ main build, including protoc and # libprotobuf. internal_build_cpp() { + # Install GCC 4.8 to replace the default GCC 4.6. We need 4.8 for more + # decent C++ 11 support in order to compile conformance tests. + sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y + sudo apt-get update -qq + sudo apt-get install -qq g++-4.8 + export CXX="g++-4.8" CC="gcc-4.8" + ./autogen.sh ./configure make -j2