Drop support for NDK r11
authorChris Forbes <chrisforbes@google.com>
Mon, 18 Jun 2018 18:32:39 +0000 (11:32 -0700)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Mon, 2 Jul 2018 12:30:10 +0000 (08:30 -0400)
Change-Id: Ia17f539c248543b1fe8cdba96cf25347db0dc7b5
Components: Framework
VK-GL-CTS: 1194

external/openglcts/README.md
external/vulkancts/README.md
framework/delibs/debase/CMakeLists.txt
framework/delibs/decpp/CMakeLists.txt
framework/delibs/deutil/CMakeLists.txt
scripts/android/build_apk.py
targets/android/ndk-r11.cmake [deleted file]

index bbdb806..f805c95 100644 (file)
@@ -321,7 +321,7 @@ as well. See CMake help for more details.
 The conformance tests come with native Android support. The following packages
 are needed in order to build an Android binary:
 - Python 2.7.x
-- Android NDK r11c
+- Android NDK r15c
 - Android SDK with API 22 packages and tools installed
 - Apache Ant
 
index 5909794..dd144d2 100644 (file)
@@ -28,7 +28,7 @@ The following tools must be installed and present in the PATH variable:
 
 ### Android
 
- * Android NDK r15c or later. NDK r11c still works but will be deprecated soon.
+ * Android NDK r15c or later.
  * Android SDK with: SDK Tools, SDK Platform-tools, SDK Build-tools, and API 22
  * Java Development Kit (JDK)
  * Windows: either NMake or Ninja in PATH
index f06236c..77ed185 100644 (file)
@@ -35,14 +35,6 @@ if (DE_OS_IS_UNIX OR DE_OS_IS_QNX)
        add_definitions(-D_XOPEN_SOURCE=600)
 endif ()
 
-# This is no longer needed in modern NDKs
-if (DE_OS_IS_ANDROID AND DEQP_TARGET_TOOLCHAIN STREQUAL "ndk-r11")
-       find_library(C_LIBRARY NAMES c PATHS /usr/lib /lib)
-       find_library(M_LIBRARY NAMES m PATHS /usr/lib /lib)
-       find_library(LOG_LIBRARY NAMES log PATHS /usr/lib)
-       target_link_libraries(debase ${C_LIBRARY} ${M_LIBRARY} ${LOG_LIBRARY} gcc)
-endif ()
-
 if (DE_OS_IS_SYMBIAN)
     target_link_libraries(debase gcc)
 endif()
index 5450d46..f410c6d 100644 (file)
@@ -70,15 +70,5 @@ set(DECPP_LIBS
        deutil
        )
 
-# \note [pyry] Somewhat kludgy that toolchain file doesn't set it, but there is no easy way
-# This is no longer needed in modern NDKs
-if (DE_OS_IS_ANDROID AND DEQP_TARGET_TOOLCHAIN STREQUAL "ndk-r11")
-       if (DEFINED ANDROID_CXX_LIBRARY)
-               set(DECPP_LIBS ${DECPP_LIBS} ${ANDROID_CXX_LIBRARY})
-       else ()
-               message(STATUS "Warning: ANDROID_CXX_LIBRARY not defined")
-       endif ()
-endif ()
-
 add_library(decpp STATIC ${DECPP_SRCS})
 target_link_libraries(decpp ${DECPP_LIBS})
index 545c42b..fdfcb39 100644 (file)
@@ -33,11 +33,6 @@ endif ()
 if (DE_OS_IS_ANDROID)
        # inline keyword in headers...
        set_source_files_properties(deSocket.c COMPILE_FLAGS -std=c99)
-
-       # This is no longer needed on modern NDKs
-       if (DEQP_TARGET_TOOLCHAIN STREQUAL "ndk-r11")
-               set(DEUTIL_LIBS ${DEUTIL_LIBS} dl)
-       endif ()
 endif ()
 
 if (DE_OS_IS_WIN32)
index 79805ba..df5c65c 100644 (file)
@@ -190,8 +190,8 @@ class Configuration:
                if not NDKEnv.isHostOsSupported(self.env.ndk.hostOsName):
                        raise Exception("NDK '%s' is not supported on this machine" % self.env.ndk.hostOsName)
 
-               if self.env.ndk.version[0] < 15 and self.env.ndk.version[0] != 11:
-                       raise Exception("Android NDK version %d is not supported; build requires NDK version 11c or >= 15" % (self.env.ndk.version[0]))
+               if self.env.ndk.version[0] < 15:
+                       raise Exception("Android NDK version %d is not supported; build requires NDK version >= 15" % (self.env.ndk.version[0]))
 
                if self.env.sdk.buildToolsVersion == (0,0,0):
                        raise Exception("No build tools directory found at %s" % os.path.join(self.env.sdk.path, "build-tools"))
@@ -329,12 +329,8 @@ def buildNativeLibrary (config, abiName):
                return "r%d%s" % (version[0], minorVersionString)
 
        def getBuildArgs (config, abiName):
-               if config.env.ndk.version[0] == 11:
-                       toolchain = 'ndk-%s' % makeNDKVersionString((config.env.ndk.version[0], 0))
-               else:
-                       toolchain = 'ndk-modern'
                return ['-DDEQP_TARGET=android',
-                               '-DDEQP_TARGET_TOOLCHAIN=%s' % toolchain,
+                               '-DDEQP_TARGET_TOOLCHAIN=ndk-modern',
                                '-DCMAKE_C_FLAGS=-Werror',
                                '-DCMAKE_CXX_FLAGS=-Werror',
                                '-DANDROID_NDK_HOST_OS=%s' % config.env.ndk.hostOsName,
diff --git a/targets/android/ndk-r11.cmake b/targets/android/ndk-r11.cmake
deleted file mode 100644 (file)
index 4ac30af..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-#-------------------------------------------------------------------------
-# drawElements CMake utilities
-# ----------------------------
-#
-# Copyright 2016 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#-------------------------------------------------------------------------
-
-# Platform defines.
-set(CMAKE_SYSTEM_NAME Linux)
-
-set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
-
-set(CMAKE_CROSSCOMPILING 1)
-
-# NDK installation path
-if (NOT DEFINED ANDROID_NDK_PATH)
-       message(FATAL_ERROR "Please provide ANDROID_NDK_PATH")
-endif ()
-
-# Host os (for toolchain binaries)
-if (NOT DEFINED ANDROID_NDK_HOST_OS)
-       message(FATAL_ERROR "Please provide ANDROID_NDK_HOST_OS")
-endif ()
-
-# Compile target
-set(ANDROID_ABI                        "armeabi-v7a"                   CACHE STRING "Android ABI")
-set(ANDROID_NDK_TARGET "android-${DE_ANDROID_API}")
-
-# dE defines
-set(DE_OS "DE_OS_ANDROID")
-
-if (NOT DEFINED DE_COMPILER)
-       set(DE_COMPILER "DE_COMPILER_CLANG")
-endif ()
-
-if (NOT DEFINED DE_ANDROID_API)
-       set(DE_ANDROID_API 9)
-endif ()
-
-set(COMMON_C_FLAGS             "-D__STDC_INT64__")
-set(COMMON_CXX_FLAGS   "${COMMON_C_FLAGS} -frtti -fexceptions")
-set(COMMON_LINKER_FLAGS        "")
-
-# ABI-dependent bits
-if (ANDROID_ABI STREQUAL "x86")
-       set(DE_CPU                                      "DE_CPU_X86")
-       set(CMAKE_SYSTEM_PROCESSOR      i686-android-linux)
-
-       set(ANDROID_CC_PATH                     "${ANDROID_NDK_PATH}/toolchains/x86-4.9/prebuilt/${ANDROID_NDK_HOST_OS}/")
-       set(CROSS_COMPILE                       "${ANDROID_CC_PATH}bin/i686-linux-android-")
-       set(ANDROID_SYSROOT                     "${ANDROID_NDK_PATH}/platforms/${ANDROID_NDK_TARGET}/arch-x86")
-
-       set(CMAKE_FIND_ROOT_PATH
-               "${ANDROID_CC_PATH}i686-linux-android"
-               "${ANDROID_CC_PATH}lib/gcc/i686-linux-android/4.9"
-               )
-
-       set(TARGET_C_FLAGS                      "-march=i686 -msse3 -mstackrealign -mfpmath=sse")
-       set(TARGET_LINKER_FLAGS         "")
-       set(LLVM_TRIPLE                         "i686-none-linux-android")
-
-elseif (ANDROID_ABI STREQUAL "armeabi" OR
-               ANDROID_ABI STREQUAL "armeabi-v7a")
-       set(DE_CPU                                      "DE_CPU_ARM")
-       set(CMAKE_SYSTEM_PROCESSOR      arm-linux-androideabi)
-
-       set(ANDROID_CC_PATH     "${ANDROID_NDK_PATH}/toolchains/arm-linux-androideabi-4.9/prebuilt/${ANDROID_NDK_HOST_OS}/")
-       set(CROSS_COMPILE       "${ANDROID_CC_PATH}bin/arm-linux-androideabi-")
-       set(ANDROID_SYSROOT     "${ANDROID_NDK_PATH}/platforms/${ANDROID_NDK_TARGET}/arch-arm")
-       set(ARM_C_FLAGS         "-D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ ")
-
-       if (ANDROID_ABI STREQUAL "armeabi-v7a")
-               set(TARGET_C_FLAGS              "${ARM_C_FLAGS} -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp")
-               set(TARGET_LINKER_FLAGS "-Wl,--fix-cortex-a8 -march=armv7-a")
-               set(LLVM_TRIPLE                 "armv7-none-linux-androideabi")
-
-       else () # armeabi
-               set(TARGET_C_FLAGS              "${ARM_C_FLAGS} -march=armv5te -mfloat-abi=softfp")
-               set(TARGET_LINKER_FLAGS "-Wl,--fix-cortex-a8 -march=armv5te")
-               set(LLVM_TRIPLE                 "armv5te-none-linux-androideabi")
-       endif ()
-
-       set(CMAKE_FIND_ROOT_PATH
-               "${ANDROID_CC_PATH}arm-linux-androideabi"
-               )
-
-elseif (ANDROID_ABI STREQUAL "arm64-v8a")
-       set(DE_CPU                                      "DE_CPU_ARM_64")
-       set(CMAKE_SYSTEM_PROCESSOR      aarch64-linux-android)
-       set(CMAKE_SIZEOF_VOID_P         8)
-
-       set(ANDROID_CC_PATH     "${ANDROID_NDK_PATH}/toolchains/aarch64-linux-android-4.9/prebuilt/${ANDROID_NDK_HOST_OS}/")
-       set(CROSS_COMPILE       "${ANDROID_CC_PATH}bin/aarch64-linux-android-")
-       set(ANDROID_SYSROOT     "${ANDROID_NDK_PATH}/platforms/${ANDROID_NDK_TARGET}/arch-arm64")
-
-       set(CMAKE_FIND_ROOT_PATH
-               "${ANDROID_CC_PATH}arm-linux-androideabi"
-               )
-
-       set(TARGET_C_FLAGS              "-march=armv8-a")
-       set(TARGET_LINKER_FLAGS "-Wl,--fix-cortex-a53-835769 -Wl,--fix-cortex-a53-835769 -march=armv8-a")
-       set(LLVM_TRIPLE                 "aarch64-none-linux-android")
-
-       if (DE_COMPILER STREQUAL "DE_COMPILER_GCC")
-               set(TARGET_C_FLAGS "${TARGET_C_FLAGS} -mabi=lp64")
-       endif ()
-
-elseif (ANDROID_ABI STREQUAL "x86_64")
-       set(DE_CPU                                      "DE_CPU_X86_64")
-       set(CMAKE_SYSTEM_PROCESSOR      x86_64-linux-android)
-       set(CMAKE_SIZEOF_VOID_P         8)
-
-       set(CMAKE_LIBRARY_PATH "/usr/lib64")
-
-       set(ANDROID_CC_PATH     "${ANDROID_NDK_PATH}/toolchains/x86_64-4.9/prebuilt/${ANDROID_NDK_HOST_OS}/")
-       set(CROSS_COMPILE       "${ANDROID_CC_PATH}bin/x86_64-linux-android-")
-       set(ANDROID_SYSROOT     "${ANDROID_NDK_PATH}/platforms/${ANDROID_NDK_TARGET}/arch-x86_64")
-
-       set(CMAKE_FIND_ROOT_PATH
-               "${ANDROID_CC_PATH}x86_64-linux-android"
-               )
-
-       set(LLVM_TRIPLE                 "x86_64-none-linux-android")
-
-else ()
-       message(FATAL_ERROR "Unknown ABI \"${ANDROID_ABI}\"")
-endif ()
-
-# Use LLVM libc++ for full C++11 support
-set(ANDROID_CXX_LIBRARY                "${ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libs/${ANDROID_ABI}/libc++_static.a")
-set(CXX_INCLUDES                       "-I${ANDROID_NDK_PATH}/sources/cxx-stl/llvm-libc++/libcxx/include")
-set(CMAKE_FIND_ROOT_PATH       "" ${CMAKE_FIND_ROOT_PATH})
-
-set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} ${ANDROID_SYSROOT})
-
-include(CMakeForceCompiler)
-
-if (ANDROID_NDK_HOST_OS STREQUAL "windows" OR
-       ANDROID_NDK_HOST_OS STREQUAL "windows-x86_64")
-       set(BIN_EXT ".exe")
-else ()
-       set(BIN_EXT "")
-endif ()
-
-if (DE_COMPILER STREQUAL "DE_COMPILER_GCC")
-       set(CMAKE_C_COMPILER    "${CROSS_COMPILE}gcc${BIN_EXT}"         CACHE FILEPATH "C Compiler")
-       set(CMAKE_CXX_COMPILER  "${CROSS_COMPILE}g++${BIN_EXT}"         CACHE FILEPATH "C++ Compiler")
-
-       set(TARGET_C_FLAGS              "-mandroid ${TARGET_C_FLAGS}")
-
-elseif (DE_COMPILER STREQUAL "DE_COMPILER_CLANG")
-       set(LLVM_PATH "${ANDROID_NDK_PATH}/toolchains/llvm/prebuilt/${ANDROID_NDK_HOST_OS}/")
-
-       set(CMAKE_C_COMPILER    "${LLVM_PATH}bin/clang${BIN_EXT}"       CACHE FILEPATH "C Compiler")
-       set(CMAKE_CXX_COMPILER  "${LLVM_PATH}bin/clang++${BIN_EXT}"     CACHE FILEPATH "C++ Compiler")
-       set(CMAKE_AR                    "${CROSS_COMPILE}ar${BIN_EXT}"          CACHE FILEPATH "Archiver")
-       set(CMAKE_RANLIB                "${CROSS_COMPILE}ranlib${BIN_EXT}"      CACHE FILEPATH "Indexer")
-
-       set(TARGET_C_FLAGS              "-target ${LLVM_TRIPLE} -gcc-toolchain ${ANDROID_CC_PATH} ${TARGET_C_FLAGS}")
-       set(TARGET_LINKER_FLAGS "-target ${LLVM_TRIPLE} -gcc-toolchain ${ANDROID_CC_PATH} ${TARGET_LINKER_FLAGS}")
-
-endif ()
-
-set(CMAKE_SHARED_LIBRARY_C_FLAGS       "")
-set(CMAKE_SHARED_LIBRARY_CXX_FLAGS     "")
-
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
-# \note Without CACHE STRING FORCE cmake ignores these.
-set(CMAKE_C_FLAGS                              "--sysroot=${ANDROID_SYSROOT} ${CMAKE_C_FLAGS} ${COMMON_C_FLAGS} ${TARGET_C_FLAGS}" CACHE STRING "" FORCE)
-set(CMAKE_CXX_FLAGS                            "--sysroot=${ANDROID_SYSROOT} ${CMAKE_CXX_FLAGS} ${COMMON_CXX_FLAGS} ${TARGET_C_FLAGS} ${CXX_INCLUDES} -I${ANDROID_NDK_PATH}/sources/android/support/include" CACHE STRING "" FORCE)
-set(CMAKE_SHARED_LINKER_FLAGS  "-nodefaultlibs -Wl,-shared,-Bsymbolic -Wl,--no-undefined ${COMMON_LINKER_FLAGS} ${TARGET_LINKER_FLAGS}" CACHE STRING "" FORCE)
-set(CMAKE_EXE_LINKER_FLAGS             "-nodefaultlibs ${COMMON_LINKER_FLAGS} ${TARGET_LINKER_FLAGS}" CACHE STRING "" FORCE)