OSDN Git Service

Bump the default C++ standard up to C++14.
authorDan Albert <danalbert@google.com>
Wed, 29 Jul 2015 22:13:57 +0000 (15:13 -0700)
committerDan Albert <danalbert@google.com>
Mon, 10 Aug 2015 20:37:42 +0000 (13:37 -0700)
This also drops the NDK default back to C++98 (or C++11 for code using
libc++). The platform NDK build should match the normal NDK build.

Bug: http://b/23043421
Change-Id: I3a336767ce271e84f4dfdebdadb3a98e5689def9

core/binary.mk
core/config.mk

index 79548ba..c716b17 100644 (file)
@@ -179,6 +179,22 @@ ifdef LOCAL_IS_HOST_MODULE
     endif
 endif
 
+my_cpp_std_version := -std=gnu++14
+ifdef LOCAL_SDK_VERSION
+    # The NDK handles this itself.
+    my_cpp_std_version :=
+endif
+
+ifdef LOCAL_IS_HOST_MODULE
+    ifneq ($(my_clang),true)
+        # The host GCC doesn't support C++14 (and is deprecated, so likely
+        # never will). Build these modules with C++11.
+        my_cpp_std_version := -std=gnu++11
+    endif
+endif
+
+my_cppflags := $(my_cpp_std_version) $(my_cppflags)
+
 # Add option to make clang the default for device build
 ifeq ($(USE_CLANG_PLATFORM_BUILD),true)
     ifeq ($(my_clang),)
index fec018b..876161b 100644 (file)
@@ -114,7 +114,7 @@ hide := $(if $(SHOW_COMMANDS),,@)
 COMMON_GLOBAL_CFLAGS:= -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith
 COMMON_RELEASE_CFLAGS:= -DNDEBUG -UDEBUG
 
-COMMON_GLOBAL_CPPFLAGS:= $(COMMON_GLOBAL_CFLAGS) -Wsign-promo -std=gnu++11
+COMMON_GLOBAL_CPPFLAGS:= $(COMMON_GLOBAL_CFLAGS) -Wsign-promo
 COMMON_RELEASE_CPPFLAGS:= $(COMMON_RELEASE_CFLAGS)
 
 GLOBAL_CFLAGS_NO_OVERRIDE := \