From 6117a6c7205c969f93d39ba02e0583881572d5fa Mon Sep 17 00:00:00 2001 From: Dulmandakh Date: Mon, 30 Jul 2018 13:54:03 -0700 Subject: [PATCH] Bump Android NDK to r17b (#20357) Summary: This PR bumps Android NDK version to r17b (latest). Cleaned up redundant **LOCAL_EXPORT_CPPFLAGS** rules in .mk files Pull Request resolved: https://github.com/facebook/react-native/pull/20357 Differential Revision: D9068424 Pulled By: hramos fbshipit-source-id: 8578637e38e807288b819a36cb75ea9feefcc09f --- .circleci/config.yml | 14 +++++++------- ContainerShip/Dockerfile.android-base | 4 ++-- RNTester/android/app/gradle.properties | 1 - ReactAndroid/gradle.properties | 2 -- ReactAndroid/src/main/jni/Application.mk | 1 + .../src/main/jni/first-party/fb/Android.mk | 6 ------ .../src/main/jni/first-party/fbgloginit/Android.mk | 6 ------ .../src/main/jni/first-party/yogajni/Android.mk | 5 +---- ReactAndroid/src/main/jni/react/jni/Android.mk | 5 +---- .../src/main/jni/third-party/boost/Android.mk | 2 -- .../jni/third-party/double-conversion/Android.mk | 3 +-- .../src/main/jni/third-party/folly/Android.mk | 14 +++++--------- .../src/main/jni/third-party/glog/Android.mk | 3 +-- ReactCommon/cxxreact/Android.mk | 5 +---- ReactCommon/jschelpers/Android.mk | 5 +---- ReactCommon/jsinspector/Android.mk | 5 +---- ReactCommon/privatedata/Android.mk | 5 +---- ReactCommon/yoga/Android.mk | 2 +- appveyor.yml | 4 ++-- .../templates/HelloWorld/android/gradle.properties | 2 -- scripts/android-setup.sh | 2 +- 21 files changed, 27 insertions(+), 69 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4b1f8ff71285ac..48a452dbbb452a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,21 +49,21 @@ aliases: - &restore-cache-ndk keys: - - v3-android-ndk-r10e-{{ checksum "scripts/android-setup.sh" }} + - v3-android-ndk-r17b-{{ checksum "scripts/android-setup.sh" }} - &save-cache-ndk paths: - /opt/ndk - key: v3-android-ndk-r10e-{{ checksum "scripts/android-setup.sh" }} + key: v3-android-ndk-r17b-{{ checksum "scripts/android-setup.sh" }} - &restore-cache-downloads-buck keys: - - v3-buck-v2018.06.25.01-{{ checksum "scripts/circleci/buck_fetch.sh" }}} - - v3-buck-v2018.06.25.01- + - v3-buck-v2018.07.23.01-{{ checksum "scripts/circleci/buck_fetch.sh" }}} + - v3-buck-v2018.07.23.01- - &save-cache-downloads-buck paths: - ~/buck - ~/okbuck - key: v3-buck-v2018.06.25.01-{{ checksum "scripts/circleci/buck_fetch.sh" }} + key: v3-buck-v2018.07.23.01-{{ checksum "scripts/circleci/buck_fetch.sh" }} - &restore-cache-watchman keys: @@ -136,7 +136,7 @@ aliases: name: Install BUCK command: | if [[ ! -e ~/buck ]]; then - git clone https://github.com/facebook/buck.git ~/buck --branch v2018.06.25.01 --depth=1 + git clone https://github.com/facebook/buck.git ~/buck --branch v2018.07.23.01 --depth=1 fi cd ~/buck && ant buck --version @@ -365,7 +365,7 @@ android_defaults: &android_defaults - ADB_INSTALL_TIMEOUT: 10 - _JAVA_OPTIONS: "-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap" - GRADLE_OPTS: '-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-XX:+HeapDumpOnOutOfMemoryError"' - - ANDROID_NDK: '/opt/ndk/android-ndk-r10e' + - ANDROID_NDK: '/opt/ndk/android-ndk-r17b' - BUILD_THREADS: 2 macos_defaults: &macos_defaults diff --git a/ContainerShip/Dockerfile.android-base b/ContainerShip/Dockerfile.android-base index 78cb4dc22ca478..5d19bc7f1e9457 100644 --- a/ContainerShip/Dockerfile.android-base +++ b/ContainerShip/Dockerfile.android-base @@ -20,8 +20,8 @@ LABEL maintainer="Héctor Ramos " ARG SDK_VERSION=sdk-tools-linux-3859397.zip ARG ANDROID_BUILD_VERSION=26 ARG ANDROID_TOOLS_VERSION=26.0.3 -ARG BUCK_VERSION=v2018.06.25.01 -ARG NDK_VERSION=10e +ARG BUCK_VERSION=v2018.07.23.01 +ARG NDK_VERSION=17b ARG NODE_VERSION=8.10.0 ARG WATCHMAN_VERSION=4.9.0 diff --git a/RNTester/android/app/gradle.properties b/RNTester/android/app/gradle.properties index 926d2479c3f36b..4dc41ef3f9cadf 100644 --- a/RNTester/android/app/gradle.properties +++ b/RNTester/android/app/gradle.properties @@ -1,4 +1,3 @@ -android.useDeprecatedNdk=true org.gradle.parallel=true org.gradle.configureondemand=true MYAPP_RELEASE_STORE_FILE=my-release-key.keystore diff --git a/ReactAndroid/gradle.properties b/ReactAndroid/gradle.properties index 9b7ac6d1254dc8..353f17897699ad 100644 --- a/ReactAndroid/gradle.properties +++ b/ReactAndroid/gradle.properties @@ -5,8 +5,6 @@ POM_NAME=ReactNative POM_ARTIFACT_ID=react-native POM_PACKAGING=aar -android.useDeprecatedNdk=true - MOCKITO_CORE_VERSION=1.10.19 POWERMOCK_VERSION=1.6.2 ROBOLECTRIC_VERSION=3.0 diff --git a/ReactAndroid/src/main/jni/Application.mk b/ReactAndroid/src/main/jni/Application.mk index 4ad9bafd2441e0..e626ef92f153e8 100644 --- a/ReactAndroid/src/main/jni/Application.mk +++ b/ReactAndroid/src/main/jni/Application.mk @@ -10,6 +10,7 @@ NDK_MODULE_PATH := $(APP_MK_DIR)$(HOST_DIRSEP)$(THIRD_PARTY_NDK_DIR)$(HOST_DIRSE APP_STL := gnustl_shared # Make sure every shared lib includes a .note.gnu.build-id header +APP_CFLAGS := -Wall -Werror APP_CPPFLAGS := -std=c++1y APP_LDFLAGS := -Wl,--build-id diff --git a/ReactAndroid/src/main/jni/first-party/fb/Android.mk b/ReactAndroid/src/main/jni/first-party/fb/Android.mk index cf85de2f8781ef..bd0b6cf1cb5e9d 100644 --- a/ReactAndroid/src/main/jni/first-party/fb/Android.mk +++ b/ReactAndroid/src/main/jni/first-party/fb/Android.mk @@ -24,7 +24,6 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_CFLAGS := -DLOG_TAG=\"libfb\" -DDISABLE_CPUCAP -DDISABLE_XPLAT -fexceptions -frtti -LOCAL_CFLAGS += -Wall -Werror # include/utils/threads.h has unused parameters LOCAL_CFLAGS += -Wno-unused-parameter ifeq ($(TOOLCHAIN_PERMISSIVE),true) @@ -32,11 +31,6 @@ ifeq ($(TOOLCHAIN_PERMISSIVE),true) endif LOCAL_CFLAGS += -DHAVE_POSIX_CLOCKS -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) - -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) - LOCAL_LDLIBS := -llog -ldl -landroid LOCAL_EXPORT_LDLIBS := -llog diff --git a/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk b/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk index be13e47a6f4891..17e352bccb82b4 100644 --- a/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk +++ b/ReactAndroid/src/main/jni/first-party/fbgloginit/Android.mk @@ -8,12 +8,6 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) LOCAL_CFLAGS := -fexceptions -fno-omit-frame-pointer -LOCAL_CFLAGS += -Wall -Werror - -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) - -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) LOCAL_LDLIBS := -llog diff --git a/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk b/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk index 908cd43e6a3771..22fe6854de8657 100644 --- a/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk +++ b/ReactAndroid/src/main/jni/first-party/yogajni/Android.mk @@ -9,10 +9,7 @@ LOCAL_SRC_FILES := \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/jni -LOCAL_CFLAGS += -Wall -Werror -fvisibility=hidden -fexceptions -frtti -O3 -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) +LOCAL_CFLAGS += -fvisibility=hidden -fexceptions -frtti -O3 LOCAL_LDLIBS += -landroid -llog LOCAL_STATIC_LIBRARIES := libyogacore diff --git a/ReactAndroid/src/main/jni/react/jni/Android.mk b/ReactAndroid/src/main/jni/react/jni/Android.mk index 9e7dcb7a39b8d5..5fce5384bdb059 100644 --- a/ReactAndroid/src/main/jni/react/jni/Android.mk +++ b/ReactAndroid/src/main/jni/react/jni/Android.mk @@ -31,10 +31,7 @@ LOCAL_SRC_FILES := \ LOCAL_C_INCLUDES := $(LOCAL_PATH) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../.. -LOCAL_CFLAGS += -Wall -Werror -fvisibility=hidden -fexceptions -frtti -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) +LOCAL_CFLAGS += -fvisibility=hidden -fexceptions -frtti LOCAL_LDLIBS += -landroid LOCAL_SHARED_LIBRARIES := libfolly_json libfb libjsc libglog_init libyoga libprivatedata diff --git a/ReactAndroid/src/main/jni/third-party/boost/Android.mk b/ReactAndroid/src/main/jni/third-party/boost/Android.mk index 2485b648f9e68d..089e7d84b5a47a 100644 --- a/ReactAndroid/src/main/jni/third-party/boost/Android.mk +++ b/ReactAndroid/src/main/jni/third-party/boost/Android.mk @@ -3,8 +3,6 @@ include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(LOCAL_PATH)/boost_1_63_0 LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/boost_1_63_0 -CXX11_FLAGS := -std=c++11 -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) LOCAL_MODULE := boost diff --git a/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk b/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk index bf0fa7face0153..7f2dacb3e25f60 100644 --- a/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk +++ b/ReactAndroid/src/main/jni/third-party/double-conversion/Android.mk @@ -16,8 +16,7 @@ LOCAL_SRC_FILES := \ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) -CXX11_FLAGS := -std=c++11 -Wno-unused-variable -Wno-unused-local-typedefs +CXX11_FLAGS := -Wno-unused-variable -Wno-unused-local-typedefs LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) include $(BUILD_STATIC_LIBRARY) \ No newline at end of file diff --git a/ReactAndroid/src/main/jni/third-party/folly/Android.mk b/ReactAndroid/src/main/jni/third-party/folly/Android.mk index a89e79eb6aa043..132a44247c2a6f 100644 --- a/ReactAndroid/src/main/jni/third-party/folly/Android.mk +++ b/ReactAndroid/src/main/jni/third-party/folly/Android.mk @@ -6,23 +6,19 @@ LOCAL_SRC_FILES:= \ folly/Unicode.cpp \ folly/Conv.cpp \ folly/Demangle.cpp \ - folly/detail/MallocImpl.cpp \ - folly/StringBase.cpp \ - folly/dynamic.cpp \ + folly/detail/MallocImpl.cpp \ + folly/StringBase.cpp \ + folly/dynamic.cpp \ LOCAL_C_INCLUDES := $(LOCAL_PATH) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) LOCAL_CFLAGS += -fexceptions -fno-omit-frame-pointer -frtti -LOCAL_CFLAGS += -Wall -Werror -std=c++11 -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) - -FOLLY_FLAGS := -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 +FOLLY_FLAGS := -DFOLLY_NO_CONFIG=1 -DFOLLY_HAVE_CLOCK_GETTIME=1 -DFOLLY_HAVE_MEMRCHR=1 LOCAL_CFLAGS += $(FOLLY_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) $(FOLLY_FLAGS) +LOCAL_EXPORT_CPPFLAGS := $(FOLLY_FLAGS) LOCAL_MODULE := libfolly_json diff --git a/ReactAndroid/src/main/jni/third-party/glog/Android.mk b/ReactAndroid/src/main/jni/third-party/glog/Android.mk index 01a14538c03843..a352ebd9451c15 100644 --- a/ReactAndroid/src/main/jni/third-party/glog/Android.mk +++ b/ReactAndroid/src/main/jni/third-party/glog/Android.mk @@ -16,7 +16,6 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/.. $(LOCAL_PATH)/glog-0.3.5/src/ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. $(LOCAL_PATH)/glog-0.3.5/src/ LOCAL_CFLAGS += \ - -Wall \ -Wwrite-strings \ -Woverloaded-virtual \ -Wno-sign-compare \ @@ -27,6 +26,6 @@ LOCAL_CFLAGS += \ -D_END_GOOGLE_NAMESPACE_="}" -LOCAL_MODULE := glog +LOCAL_MODULE := glog include $(BUILD_SHARED_LIBRARY) \ No newline at end of file diff --git a/ReactCommon/cxxreact/Android.mk b/ReactCommon/cxxreact/Android.mk index d4b294fc17fef8..3359c5c1d1d753 100644 --- a/ReactCommon/cxxreact/Android.mk +++ b/ReactCommon/cxxreact/Android.mk @@ -33,10 +33,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) LOCAL_CFLAGS := \ -DLOG_TAG=\"ReactNative\" -LOCAL_CFLAGS += -Wall -Werror -fexceptions -frtti -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) +LOCAL_CFLAGS += -fexceptions -frtti LOCAL_STATIC_LIBRARIES := jschelpers LOCAL_SHARED_LIBRARIES := libfb libfolly_json libjsc libglog diff --git a/ReactCommon/jschelpers/Android.mk b/ReactCommon/jschelpers/Android.mk index 9202278639254f..765b0ac7833acc 100644 --- a/ReactCommon/jschelpers/Android.mk +++ b/ReactCommon/jschelpers/Android.mk @@ -15,10 +15,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) LOCAL_CFLAGS := \ -DLOG_TAG=\"ReactNative\" -LOCAL_CFLAGS += -Wall -Werror -fexceptions -frtti -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) +LOCAL_CFLAGS += -fexceptions -frtti LOCAL_SHARED_LIBRARIES := libfolly_json libjsc libglog diff --git a/ReactCommon/jsinspector/Android.mk b/ReactCommon/jsinspector/Android.mk index d93747b7fca71f..d5fe4ef12dc08a 100644 --- a/ReactCommon/jsinspector/Android.mk +++ b/ReactCommon/jsinspector/Android.mk @@ -10,9 +10,6 @@ LOCAL_SRC_FILES := \ LOCAL_C_INCLUDES := $(LOCAL_PATH)/.. LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) -LOCAL_CFLAGS += -Wall -Werror -fexceptions -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) +LOCAL_CFLAGS += -fexceptions include $(BUILD_SHARED_LIBRARY) diff --git a/ReactCommon/privatedata/Android.mk b/ReactCommon/privatedata/Android.mk index d467706151ec5e..35ea5133c63a75 100644 --- a/ReactCommon/privatedata/Android.mk +++ b/ReactCommon/privatedata/Android.mk @@ -13,9 +13,6 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) LOCAL_CFLAGS := \ -DLOG_TAG=\"ReactNative\" -LOCAL_CFLAGS += -Wall -Werror -fexceptions -frtti -CXX11_FLAGS := -std=c++11 -LOCAL_CFLAGS += $(CXX11_FLAGS) -LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS) +LOCAL_CFLAGS += -fexceptions -frtti include $(BUILD_SHARED_LIBRARY) diff --git a/ReactCommon/yoga/Android.mk b/ReactCommon/yoga/Android.mk index c3579fb2a67eae..07e664037f359d 100644 --- a/ReactCommon/yoga/Android.mk +++ b/ReactCommon/yoga/Android.mk @@ -9,6 +9,6 @@ LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/yoga/*.cpp) LOCAL_C_INCLUDES := $(LOCAL_PATH) LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) -LOCAL_CFLAGS := -Wall -Werror -fexceptions -frtti -std=c++1y -O3 +LOCAL_CFLAGS := -fexceptions -frtti -O3 include $(BUILD_STATIC_LIBRARY) diff --git a/appveyor.yml b/appveyor.yml index 78559d09c3e059..54ef8900d482cc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,13 +1,13 @@ environment: ANDROID_HOME: "C:\\android-sdk-windows" - ANDROID_NDK: "C:\\android-sdk-windows\\android-ndk-r10e" + ANDROID_NDK: "C:\\android-sdk-windows\\android-ndk-r17b" ANDROID_BUILD_VERSION: 26 ANDROID_TOOLS_VERSION: 26.0.3 GRADLE_OPTS: -Dorg.gradle.daemon=false SDK_TOOLS_URL: https://dl.google.com/android/repository/sdk-tools-windows-3859397.zip - NDK_TOOLS_URL: https://dl.google.com/android/repository/android-ndk-r10e-windows-x86_64.zip + NDK_TOOLS_URL: https://dl.google.com/android/repository/android-ndk-r17b-windows-x86_64.zip matrix: - nodejs_version: 8 diff --git a/local-cli/templates/HelloWorld/android/gradle.properties b/local-cli/templates/HelloWorld/android/gradle.properties index 1fd964e90b1c5e..89e0d99e2173fc 100644 --- a/local-cli/templates/HelloWorld/android/gradle.properties +++ b/local-cli/templates/HelloWorld/android/gradle.properties @@ -16,5 +16,3 @@ # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true - -android.useDeprecatedNdk=true diff --git a/scripts/android-setup.sh b/scripts/android-setup.sh index ff58fe21433895..cb437943023b9a 100644 --- a/scripts/android-setup.sh +++ b/scripts/android-setup.sh @@ -34,7 +34,7 @@ function getAndroidNDK { if [ ! -e $DEPS ]; then cd $NDK_HOME || exit echo "Downloading NDK..." - curl -o ndk.zip https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip + curl -o ndk.zip https://dl.google.com/android/repository/android-ndk-r17b-linux-x86_64.zip unzip -o -q ndk.zip echo "Installed Android NDK at $NDK_HOME" touch $DEPS