diff options
author | Craig Tiller <ctiller@google.com> | 2015-02-26 14:05:56 -0800 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2015-02-26 14:27:05 -0800 |
commit | cf133f41f84c6c8d306293a5dc8f81fbd9aed1a1 (patch) | |
tree | ce405139ab89b1f4eedf5e8ad41abb015e503e4d /Makefile | |
parent | a1d7f7f70bd4bbc6976150672220a6fd25e209ca (diff) |
Make it possible to compile with gcc4.6
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -152,6 +152,10 @@ $(error Invalid CONFIG value '$(CONFIG)') endif +# Detect if we can use C++11 +CXX11_CHECK_CMD = $(CXX) -std=c++11 -o /dev/null -c test/build/c++11.cc +HAS_CXX11 = $(shell $(CXX11_CHECK_CMD) 2> /dev/null && echo true || echo false) + # The HOST compiler settings are used to compile the protoc plugins. # In most cases, you won't have to change anything, but if you are # cross-compiling, you can override these variables from GNU make's @@ -167,7 +171,12 @@ DEFINES += $(DEFINES_$(CONFIG)) INSTALL_PREFIX=\"$(prefix)\" LDFLAGS += $(LDFLAGS_$(CONFIG)) CFLAGS += -std=c89 -pedantic +ifeq ($(HAS_CXX11),true) CXXFLAGS += -std=c++11 +else +CXXFLAGS += -std=c++0x +DEFINES += GRPC_OLD_CXX +endif CPPFLAGS += -g -fPIC -Wall -Wextra -Werror -Wno-long-long -Wno-unused-parameter LDFLAGS += -g -fPIC @@ -897,7 +906,11 @@ third_party/protobuf/configure: $(LIBDIR)/$(CONFIG)/protobuf/libprotobuf.a: third_party/protobuf/configure $(E) "[MAKE] Building protobuf" +ifeq ($(HAVE_CXX11),true) $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g" CXXFLAGS="-DLANG_CXX11 -std=c++11" CPPFLAGS="-fPIC $(CPPFLAGS_$(CONFIG)) -g" ./configure --disable-shared --enable-static) +else + $(Q)(cd third_party/protobuf ; CC="$(CC)" CXX="$(CXX)" LDFLAGS="$(LDFLAGS_$(CONFIG)) -g" CXXFLAGS="-std=c++0x" CPPFLAGS="-fPIC $(CPPFLAGS_$(CONFIG)) -g" ./configure --disable-shared --enable-static) +endif $(Q)$(MAKE) -C third_party/protobuf clean $(Q)$(MAKE) -C third_party/protobuf $(Q)mkdir -p $(LIBDIR)/$(CONFIG)/protobuf |