Created
February 22, 2017 00:53
-
-
Save ruslo/4bf32a1b71e63172b29da7137ae7bd10 to your computer and use it in GitHub Desktop.
Work-in-progress Android + LTO toolchain for Polly
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (c) 2015-2017, Ruslan Baratov | |
# Copyright (c) 2015-2017, David Hirvonen | |
# Copyright (c) 2015-2017, Alexandre Pretyman | |
# All rights reserved. | |
if(DEFINED POLLY_ANDROID_NDK_R10E_API_19_ARMEABI_V7A_NEON_HID_SECTIONS_LTO_CMAKE_) | |
return() | |
else() | |
set(POLLY_ANDROID_NDK_R10E_API_19_ARMEABI_V7A_NEON_HID_SECTIONS_LTO_CMAKE_ 1) | |
endif() | |
include("${CMAKE_CURRENT_LIST_DIR}/utilities/polly_clear_environment_variables.cmake") | |
include("${CMAKE_CURRENT_LIST_DIR}/utilities/polly_init.cmake") | |
set(ANDROID_NDK_VERSION "r10e") | |
set(CMAKE_SYSTEM_VERSION "19") | |
set(CMAKE_ANDROID_ARCH_ABI "armeabi-v7a") | |
set(CMAKE_ANDROID_ARM_NEON TRUE) | |
set(CMAKE_ANDROID_ARM_MODE TRUE) # 32-bit ARM | |
polly_init( | |
"Android NDK ${ANDROID_NDK_VERSION} / \ | |
API ${CMAKE_SYSTEM_VERSION} / ${CMAKE_ANDROID_ARCH_ABI} / \ | |
NEON / 32-bit ARM / c++11 support / hidden / function-sections / data-sections / LTO" | |
"Unix Makefiles" | |
) | |
include("${CMAKE_CURRENT_LIST_DIR}/utilities/polly_common.cmake") | |
include("${CMAKE_CURRENT_LIST_DIR}/flags/cxx11.cmake") # before toolchain! | |
include("${CMAKE_CURRENT_LIST_DIR}/flags/function-sections.cmake") | |
include("${CMAKE_CURRENT_LIST_DIR}/flags/data-sections.cmake") | |
include("${CMAKE_CURRENT_LIST_DIR}/flags/hidden.cmake") | |
include("${CMAKE_CURRENT_LIST_DIR}/flags/lto.cmake") | |
include("${CMAKE_CURRENT_LIST_DIR}/os/android.cmake") | |
set(CMAKE_AR "${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc-ar") | |
set(CMAKE_RANLIB "/usr/bin/true") # noop for gcc | |
set(CMAKE_C_ARCHIVE_CREATE "${CMAKE_AR} qcs <TARGET> <LINK_FLAGS> <OBJECTS>") | |
set(CMAKE_C_ARCHIVE_FINISH "true") # Or any other no-op command | |
set(CMAKE_CXX_ARCHIVE_CREATE "${CMAKE_AR} qcs <TARGET> <LINK_FLAGS> <OBJECTS>") | |
set(CMAKE_CXX_ARCHIVE_FINISH "true") # Or any other no-op command |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment