Add basic arm64 linux support to the cmake build.
Requires new cmake toolchain file arm64-linux-gcc.cmake: $ cmake path/to/aom -DCMAKE_TOOLCHAIN_FILE=path/to/aom/build/cmake/toolchains/arm64-linux-gcc.cmake Above requires aarch64-linux-gnu-gcc toolchain is installed and its bin dir added to PATH. BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76 Change-Id: I6c7e297a67415008583b7ac2cd8aea528787e6d0
This commit is contained in:
Родитель
f47266d965
Коммит
48d1ed81ce
|
@ -98,9 +98,8 @@ elseif ("${AOM_TARGET_CPU}" MATCHES "arm")
|
|||
set(AS_EXECUTABLE as)
|
||||
set(AOM_AS_FLAGS -arch ${AOM_TARGET_CPU} -isysroot ${CMAKE_OSX_SYSROOT})
|
||||
elseif ("${AOM_TARGET_SYSTEM}" STREQUAL "Linux")
|
||||
if (NOT AS_EXECUTABLE)
|
||||
message(FATAL_ERROR "Assembler missing for ${AOM_TARGET_CPU}-Linux.")
|
||||
endif ()
|
||||
# arm linux assembler settings controlled by
|
||||
# build/cmake/toolchains/arm*-linux*.cmake
|
||||
endif ()
|
||||
if (NOT AS_EXECUTABLE)
|
||||
message(FATAL_ERROR
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
##
|
||||
## Copyright (c) 2017, Alliance for Open Media. All rights reserved
|
||||
##
|
||||
## This source code is subject to the terms of the BSD 2 Clause License and
|
||||
## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
|
||||
## was not distributed with this source code in the LICENSE file, you can
|
||||
## obtain it at www.aomedia.org/license/software. If the Alliance for Open
|
||||
## Media Patent License 1.0 was not distributed with this source code in the
|
||||
## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
||||
##
|
||||
if (NOT AOM_BUILD_CMAKE_TOOLCHAINS_ARM64_LINUX_GCC_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_ARM64_LINUX_GCC_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
|
||||
# TODO(tomfinegan): Allow control of compiler prefix (aka $CROSS).
|
||||
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
|
||||
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
|
||||
set(AS_EXECUTABLE arm-linux-gnueabihf-as)
|
||||
set(CMAKE_C_COMPILER_ARG1 "-march=armv8-a")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-march=armv8-a")
|
||||
set(AOM_AS_FLAGS "-march=armv8-a")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "arm64")
|
||||
|
||||
# No intrinsics flag required for arm64-linux-gcc.
|
||||
set(AOM_NEON_INTRIN_FLAG "")
|
||||
|
||||
# No runtime cpu detect for arm64-linux-gcc.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_ARM64_LINUX_GCC_CMAKE_
|
Загрузка…
Ссылка в новой задаче