mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-08 00:07:30 +09:00
Import aom library
This is the reference implementation for the Alliance for Open Media's av1 video code. The commit used was 4d668d7feb1f8abd809d1bca0418570a7f142a36.
This commit is contained in:
parent
eb8cd130a8
commit
edc8d83307
989 changed files with 470949 additions and 0 deletions
15
third_party/aom/build/cmake/aom_config.c.cmake
vendored
Normal file
15
third_party/aom/build/cmake/aom_config.c.cmake
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 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.
|
||||
*/
|
||||
#include "aom/aom_codec.h"
|
||||
static const char* const cfg = "${AOM_CMAKE_CONFIG}";
|
||||
static const char* const aom_git_hash = "${AOM_GIT_HASH}";
|
||||
const char *aom_codec_build_config(void) {return cfg;}
|
||||
const char *aom_codec_git_hash(void) {return aom_git_hash;}
|
||||
167
third_party/aom/build/cmake/aom_config_defaults.cmake
vendored
Normal file
167
third_party/aom/build/cmake/aom_config_defaults.cmake
vendored
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
##
|
||||
## Copyright (c) 2016, 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.
|
||||
##
|
||||
|
||||
# Defaults for every libaom configuration variable. Here we add all libaom
|
||||
# config variables to the cmake variable cache, but omit the FORCE parameter to
|
||||
# allow users to specify values when executing cmake to generate build files.
|
||||
# Values here are used only if not set by the user.
|
||||
set(RESTRICT "" CACHE STRING "Sets RESTRICT value for current target.")
|
||||
set(INLINE "" CACHE STRING "Sets INLINE value for current target.")
|
||||
set(ARCH_ARM 0 CACHE BOOL "Enables ARM architecture.")
|
||||
set(ARCH_MIPS 0 CACHE BOOL "Enables MIPS architecture.")
|
||||
set(ARCH_X86 0 CACHE BOOL "Enables X86 architecture.")
|
||||
set(ARCH_X86_64 0 CACHE BOOL "Enables X86_64 architecture.")
|
||||
set(HAVE_EDSP 0 CACHE BOOL "Enables EDSP optimizations.")
|
||||
set(HAVE_MEDIA 0 CACHE BOOL "Enables MEDIA optimizations.")
|
||||
set(HAVE_NEON 0 CACHE BOOL "Enables NEON intrinsics optimizations.")
|
||||
set(HAVE_NEON_ASM 0 CACHE BOOL "Enables NEON assembly optimizations.")
|
||||
set(HAVE_MIPS32 0 CACHE BOOL "Enables MIPS32 optimizations.")
|
||||
set(HAVE_DSPR2 0 CACHE BOOL "Enables DSPR2 optimizations.")
|
||||
set(HAVE_MSA 0 CACHE BOOL "Enables MSA optimizations.")
|
||||
set(HAVE_MIPS64 0 CACHE BOOL "Enables MIPS64 optimizations. ")
|
||||
set(HAVE_MMX 0 CACHE BOOL "Enables MMX optimizations. ")
|
||||
set(HAVE_SSE 0 CACHE BOOL "Enables SSE optimizations.")
|
||||
set(HAVE_SSE2 0 CACHE BOOL "Enables SSE2 optimizations.")
|
||||
set(HAVE_SSE3 0 CACHE BOOL "Enables SSE3 optimizations.")
|
||||
set(HAVE_SSSE3 0 CACHE BOOL "Enables SSSE3 optimizations.")
|
||||
set(HAVE_SSE4_1 0 CACHE BOOL "Enables SSE 4.1 optimizations.")
|
||||
set(HAVE_AVX 0 CACHE BOOL "Enables AVX optimizations.")
|
||||
set(HAVE_AVX2 0 CACHE BOOL "Enables AVX2 optimizations.")
|
||||
set(HAVE_AOM_PORTS 0 CACHE BOOL "Internal flag, deprecated.")
|
||||
set(HAVE_FEXCEPT 0 CACHE BOOL "Internal flag, GNU fenv.h present for target.")
|
||||
set(HAVE_PTHREAD_H 0 CACHE BOOL "Internal flag, target pthread support.")
|
||||
set(HAVE_UNISTD_H 0 CACHE BOOL "Internal flag, unistd.h present for target.")
|
||||
set(HAVE_WXWIDGETS 0 CACHE BOOL "WxWidgets present.")
|
||||
set(CONFIG_DEPENDENCY_TRACKING 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXTERNAL_BUILD 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INSTALL_DOCS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INSTALL_BINS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INSTALL_LIBS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INSTALL_SRCS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DEBUG 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_GPROF 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_GCOV 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_RVCT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_GCC 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_MSVS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PIC 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_BIG_ENDIAN 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_CODEC_SRCS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DEBUG_LIBS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_POSTPROC 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_MULTITHREAD 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INTERNAL_STATS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_AV1_ENCODER 1 CACHE BOOL "Enable AV1 encoder.")
|
||||
set(CONFIG_AV1_DECODER 1 CACHE BOOL "Enable AV1 decoder.")
|
||||
set(CONFIG_AV1 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ENCODERS 1 CACHE BOOL "Enable encoding.")
|
||||
set(CONFIG_DECODERS 1 CACHE BOOL "Enable decoding.")
|
||||
set(CONFIG_STATIC_MSVCRT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SPATIAL_RESAMPLING 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_REALTIME_ONLY 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ONTHEFLY_BITPACKING 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ERROR_CONCEALMENT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SHARED 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_STATIC 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SMALL 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_POSTPROC_VISUALIZER 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_OS_SUPPORT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_UNIT_TESTS 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_WEBM_IO 1 CACHE BOOL "Enables WebM support.")
|
||||
set(CONFIG_LIBYUV 1 CACHE BOOL "Enables libyuv scaling and conversion support.")
|
||||
set(CONFIG_ACCOUNTING 0 CACHE BOOL "Enables bit accounting.")
|
||||
set(CONFIG_INSPECTION 0 CACHE BOOL "Enables bitstream inspection.")
|
||||
set(CONFIG_DECODE_PERF_TESTS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ENCODE_PERF_TESTS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_COEFFICIENT_RANGE_CHECKING 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_LOWBITDEPTH 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_HIGHBITDEPTH 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXPERIMENTAL 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SIZE_LIMIT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_AOM_QM 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_FP_MB_STATS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_CDEF 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_VAR_TX 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_RECT_TX 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_REF_MV 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_TPL_MV 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DUAL_FILTER 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_CONVOLVE_ROUND 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_COMPOUND_ROUND 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_TX 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_TX64X64 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SUB8X8_MC 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_INTRA 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INTRA_INTERP 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_FILTER_INTRA 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INTRABC 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_INTER 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_INTERINTRA 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_WEDGE 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_COMPOUND_SEGMENT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_REFS 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_GLOBAL_MOTION 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_NEW_QUANT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SUPERTX 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ANS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EC_MULTISYMBOL 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_NEW_TOKENSET 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_LOOP_RESTORATION 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_PARTITION 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_PARTITION_TYPES 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_UNPOISON_PARTITION_CTX 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_TILE 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_MOTION_VAR 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_NCOBMC 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_WARPED_MOTION 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_Q_ADAPT_PROBS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_SUBFRAME_PROB_UPDATE 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_BITSTREAM_DEBUG 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ALT_INTRA 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PALETTE 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PALETTE_DELTA_ENCODING 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DAALA_EC 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_RAWBITS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EC_SMALLMUL 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PVQ 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_CFL 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_XIPHRC 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_CB4X4 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_CHROMA_2X2 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_FRAME_SIZE 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DELTA_Q 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EXT_DELTA_Q 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ADAPT_SCAN 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_FILTER_7BIT 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PARALLEL_DEBLOCKING 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PARALLEL_DEBLOCKING_15TAP 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_LOOPFILTERING_ACROSS_TILES 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_TILE_GROUPS 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_EC_ADAPT 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_TEMPMV_SIGNALING 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_RD_DEBUG 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_REFERENCE_BUFFER 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_COEF_INTERLEAVE 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ENTROPY_STATS 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_MASKED_TX 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DEPENDENT_HORZTILES 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_DAALA_DIST 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_TRIPRED 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_PALETTE_THROUGHPUT 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_REF_ADAPT 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_LV_MAP 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_TXK_SEL 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_MV_COMPRESS 1 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_FRAME_SUPERRES 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_NEW_MULTISYMBOL 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_COMPOUND_SINGLEREF 0 CACHE BOOL "Internal flag.")
|
||||
set(CONFIG_ANALYZER 0 CACHE BOOL "Internal flag.")
|
||||
306
third_party/aom/build/cmake/aom_configure.cmake
vendored
Normal file
306
third_party/aom/build/cmake/aom_configure.cmake
vendored
Normal file
|
|
@ -0,0 +1,306 @@
|
|||
##
|
||||
## Copyright (c) 2016, 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.
|
||||
##
|
||||
include(FindGit)
|
||||
include(FindPerl)
|
||||
include(FindThreads)
|
||||
include(FindwxWidgets)
|
||||
|
||||
set(AOM_SUPPORTED_CPU_TARGETS
|
||||
"arm64 armv7 armv7s generic mips32 mips64 x86 x86_64")
|
||||
|
||||
# Generate the user config settings. This must occur before include of
|
||||
# aom_config_defaults.cmake (because it turns every config variable into a cache
|
||||
# variable with its own help string).
|
||||
get_cmake_property(cmake_cache_vars CACHE_VARIABLES)
|
||||
foreach(cache_var ${cmake_cache_vars})
|
||||
get_property(cache_var_helpstring CACHE ${cache_var} PROPERTY HELPSTRING)
|
||||
set(cmdline_helpstring "No help, variable specified on the command line.")
|
||||
if("${cache_var_helpstring}" STREQUAL "${cmdline_helpstring}")
|
||||
set(AOM_CMAKE_CONFIG "${AOM_CMAKE_CONFIG} -D${cache_var}=${${cache_var}}")
|
||||
endif ()
|
||||
endforeach()
|
||||
string(STRIP "${AOM_CMAKE_CONFIG}" AOM_CMAKE_CONFIG)
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/aom_config_defaults.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/aom_optimization.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/compiler_flags.cmake")
|
||||
include("${AOM_ROOT}/build/cmake/compiler_tests.cmake")
|
||||
|
||||
# Build a list of all configurable variables.
|
||||
get_cmake_property(cmake_cache_vars CACHE_VARIABLES)
|
||||
foreach (var ${cmake_cache_vars})
|
||||
if ("${var}" MATCHES "^CONFIG_")
|
||||
list(APPEND AOM_CONFIG_VARS ${var})
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
# Detect target CPU.
|
||||
if (NOT AOM_TARGET_CPU)
|
||||
if ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64" OR
|
||||
"${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
|
||||
if (${CMAKE_SIZEOF_VOID_P} EQUAL 4)
|
||||
set(AOM_TARGET_CPU "x86")
|
||||
elseif (${CMAKE_SIZEOF_VOID_P} EQUAL 8)
|
||||
set(AOM_TARGET_CPU "x86_64")
|
||||
else ()
|
||||
message(FATAL_ERROR
|
||||
"--- Unexpected pointer size (${CMAKE_SIZEOF_VOID_P}) for\n"
|
||||
" CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}\n"
|
||||
" CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}\n"
|
||||
" CMAKE_GENERATOR=${CMAKE_GENERATOR}\n")
|
||||
endif ()
|
||||
elseif ("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "i386" OR
|
||||
"${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86")
|
||||
set(AOM_TARGET_CPU "x86")
|
||||
elseif ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "^arm" OR
|
||||
"${CMAKE_SYSTEM_PROCESSOR}" MATCHES "^mips")
|
||||
set(AOM_TARGET_CPU "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CMAKE_TOOLCHAIN_FILE)
|
||||
# Add toolchain file to config string.
|
||||
set(toolchain_string "-DCMAKE_TOOLCHAIN_FILE=\\\"${CMAKE_TOOLCHAIN_FILE}\\\"")
|
||||
set(AOM_CMAKE_CONFIG "${toolchain_string} ${AOM_CMAKE_CONFIG}")
|
||||
else ()
|
||||
# Add detected CPU to the config string.
|
||||
set(AOM_CMAKE_CONFIG "-DAOM_TARGET_CPU=${AOM_TARGET_CPU} ${AOM_CMAKE_CONFIG}")
|
||||
endif ()
|
||||
set(AOM_CMAKE_CONFIG "-G \\\"${CMAKE_GENERATOR}\\\" ${AOM_CMAKE_CONFIG}")
|
||||
string(STRIP "${AOM_CMAKE_CONFIG}" AOM_CMAKE_CONFIG)
|
||||
|
||||
message("--- aom_configure: Detected CPU: ${AOM_TARGET_CPU}")
|
||||
set(AOM_TARGET_SYSTEM ${CMAKE_SYSTEM_NAME})
|
||||
|
||||
if (NOT "${AOM_SUPPORTED_CPU_TARGETS}" MATCHES "${AOM_TARGET_CPU}")
|
||||
message(FATAL_ERROR "No RTCD support for ${AOM_TARGET_CPU}. Create it, or "
|
||||
"add -DAOM_TARGET_CPU=generic to your cmake command line for a "
|
||||
"generic build of libaom and tools.")
|
||||
endif ()
|
||||
|
||||
if ("${AOM_TARGET_CPU}" STREQUAL "x86" OR "${AOM_TARGET_CPU}" STREQUAL "x86_64")
|
||||
# TODO(tomfinegan): Support nasm at least as well as the existing build
|
||||
# system.
|
||||
find_program(AS_EXECUTABLE yasm $ENV{YASM_PATH})
|
||||
if (NOT AS_EXECUTABLE)
|
||||
message(FATAL_ERROR "Unable to find yasm. To build without optimizations, "
|
||||
"add -DAOM_TARGET_CPU=generic to your cmake command line.")
|
||||
endif ()
|
||||
get_asm_obj_format("objformat")
|
||||
set(AOM_AS_FLAGS -f ${objformat} ${AOM_AS_FLAGS})
|
||||
string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS)
|
||||
elseif ("${AOM_TARGET_CPU}" MATCHES "arm")
|
||||
if ("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin")
|
||||
set(AS_EXECUTABLE as)
|
||||
set(AOM_AS_FLAGS -arch ${AOM_TARGET_CPU} -isysroot ${CMAKE_OSX_SYSROOT})
|
||||
elseif ("${AOM_TARGET_SYSTEM}" STREQUAL "Linux")
|
||||
# arm linux assembler settings controlled by
|
||||
# build/cmake/toolchains/arm*-linux*.cmake
|
||||
endif ()
|
||||
if (NOT AS_EXECUTABLE)
|
||||
message(FATAL_ERROR
|
||||
"Unknown assembler for: ${AOM_TARGET_CPU}-${AOM_TARGET_SYSTEM}")
|
||||
endif ()
|
||||
|
||||
string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS)
|
||||
endif ()
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/cpu.cmake")
|
||||
|
||||
# Test compiler flags.
|
||||
if (MSVC)
|
||||
add_compiler_flag_if_supported("/W3")
|
||||
# Disable MSVC warnings that suggest making code non-portable.
|
||||
add_compiler_flag_if_supported("/wd4996")
|
||||
if (ENABLE_WERROR)
|
||||
add_compiler_flag_if_supported("/WX")
|
||||
endif ()
|
||||
else ()
|
||||
require_c_flag("-std=c99" YES)
|
||||
add_compiler_flag_if_supported("-Wall")
|
||||
add_compiler_flag_if_supported("-Wdisabled-optimization")
|
||||
add_compiler_flag_if_supported("-Wextra")
|
||||
add_compiler_flag_if_supported("-Wfloat-conversion")
|
||||
add_compiler_flag_if_supported("-Wimplicit-function-declaration")
|
||||
add_compiler_flag_if_supported("-Wpointer-arith")
|
||||
add_compiler_flag_if_supported("-Wsign-compare")
|
||||
add_compiler_flag_if_supported("-Wtype-limits")
|
||||
add_compiler_flag_if_supported("-Wuninitialized")
|
||||
add_compiler_flag_if_supported("-Wunused")
|
||||
add_compiler_flag_if_supported("-Wvla")
|
||||
# TODO(jzern): this could be added as a cxx flags for test/*.cc only,
|
||||
# avoiding third_party.
|
||||
add_c_flag_if_supported("-Wshorten-64-to-32")
|
||||
|
||||
# Add -Wshadow only for C files to avoid massive gtest warning spam.
|
||||
add_c_flag_if_supported("-Wshadow")
|
||||
|
||||
# Add -Wundef only for C files to avoid massive gtest warning spam.
|
||||
add_c_flag_if_supported("-Wundef")
|
||||
|
||||
if (ENABLE_WERROR)
|
||||
add_compiler_flag_if_supported("-Werror")
|
||||
endif ()
|
||||
# Flag(s) added here negate CMake defaults and produce build output similar
|
||||
# to the existing configure/make build system.
|
||||
add_compiler_flag_if_supported("-Wno-unused-function")
|
||||
|
||||
if (CMAKE_C_COMPILER_ID MATCHES "GNU\|Clang")
|
||||
set(CONFIG_GCC 1)
|
||||
endif ()
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" MATCHES "Rel")
|
||||
add_compiler_flag_if_supported("-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0")
|
||||
endif ()
|
||||
add_compiler_flag_if_supported("-D_LARGEFILE_SOURCE")
|
||||
add_compiler_flag_if_supported("-D_FILE_OFFSET_BITS=64")
|
||||
endif ()
|
||||
|
||||
if ("${AOM_TARGET_SYSTEM}" MATCHES "Darwin\|Linux\|Windows")
|
||||
set(CONFIG_OS_SUPPORT 1)
|
||||
endif ()
|
||||
|
||||
# Test compiler support.
|
||||
aom_get_inline("INLINE")
|
||||
|
||||
# TODO(tomfinegan): aom_ports_check is legacy; HAVE_AOM_PORTS is not used
|
||||
# anywhere in the aom sources. To be removed after parity with the legacy
|
||||
# build system stops being important.
|
||||
aom_check_source_compiles("aom_ports_check"
|
||||
"#include \"${AOM_ROOT}/aom/aom_integer.h\""
|
||||
HAVE_AOM_PORTS)
|
||||
aom_check_source_compiles("pthread_check" "#include <pthread.h>" HAVE_PTHREAD_H)
|
||||
aom_check_source_compiles("unistd_check" "#include <unistd.h>" HAVE_UNISTD_H)
|
||||
|
||||
if (CONFIG_ANALYZER)
|
||||
find_package(wxWidgets REQUIRED adv base core)
|
||||
include(${wxWidgets_USE_FILE})
|
||||
|
||||
if (NOT CONFIG_INSPECTION)
|
||||
set(CONFIG_INSPECTION 1)
|
||||
message(WARNING
|
||||
"--- Enabled CONFIG_INSPECTION, required for CONFIG_ANALYZER.")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (CONFIG_ANS AND CONFIG_DAALA_EC)
|
||||
message(FATAL_ERROR
|
||||
"CONFIG_ANS and CONFIG_DAALA_EC cannot be enabled together.")
|
||||
endif ()
|
||||
|
||||
if (NOT MSVC)
|
||||
aom_push_var(CMAKE_REQUIRED_LIBRARIES "m")
|
||||
aom_check_c_compiles("fenv_check"
|
||||
"#define _GNU_SOURCE
|
||||
#include <fenv.h>
|
||||
void unused(void) {
|
||||
(void)feenableexcept(FE_DIVBYZERO | FE_INVALID);
|
||||
}" HAVE_FEXCEPT)
|
||||
aom_pop_var(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
|
||||
# Generate aom_config templates.
|
||||
set(aom_config_asm_template "${AOM_CONFIG_DIR}/aom_config.asm.cmake")
|
||||
set(aom_config_h_template "${AOM_CONFIG_DIR}/aom_config.h.cmake")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND}
|
||||
-DAOM_CONFIG_DIR=${AOM_CONFIG_DIR}
|
||||
-DAOM_ROOT=${AOM_ROOT}
|
||||
-P "${AOM_ROOT}/build/cmake/generate_aom_config_templates.cmake")
|
||||
|
||||
# Generate aom_config.{asm,h}.
|
||||
configure_file("${aom_config_asm_template}" "${AOM_CONFIG_DIR}/aom_config.asm")
|
||||
configure_file("${aom_config_h_template}" "${AOM_CONFIG_DIR}/aom_config.h")
|
||||
|
||||
# Read the current git hash.
|
||||
find_package(Git)
|
||||
set(AOM_GIT_DESCRIPTION)
|
||||
set(AOM_GIT_HASH)
|
||||
if (GIT_FOUND)
|
||||
# TODO(tomfinegan): Add build rule so users don't have to re-run cmake to
|
||||
# create accurately versioned cmake builds.
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE}
|
||||
--git-dir=${AOM_ROOT}/.git rev-parse HEAD
|
||||
OUTPUT_VARIABLE AOM_GIT_HASH)
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} --git-dir=${AOM_ROOT}/.git describe
|
||||
OUTPUT_VARIABLE AOM_GIT_DESCRIPTION ERROR_QUIET)
|
||||
# Consume the newline at the end of the git output.
|
||||
string(STRIP "${AOM_GIT_HASH}" AOM_GIT_HASH)
|
||||
string(STRIP "${AOM_GIT_DESCRIPTION}" AOM_GIT_DESCRIPTION)
|
||||
endif ()
|
||||
|
||||
configure_file("${AOM_ROOT}/build/cmake/aom_config.c.cmake"
|
||||
"${AOM_CONFIG_DIR}/aom_config.c")
|
||||
|
||||
# Find Perl and generate the RTCD sources.
|
||||
find_package(Perl)
|
||||
if (NOT PERL_FOUND)
|
||||
message(FATAL_ERROR "Perl is required to build libaom.")
|
||||
endif ()
|
||||
configure_file(
|
||||
"${AOM_ROOT}/build/cmake/rtcd_config.cmake"
|
||||
"${AOM_CONFIG_DIR}/${AOM_TARGET_CPU}_rtcd_config.rtcd")
|
||||
|
||||
set(AOM_RTCD_CONFIG_FILE_LIST
|
||||
"${AOM_ROOT}/aom_dsp/aom_dsp_rtcd_defs.pl"
|
||||
"${AOM_ROOT}/aom_scale/aom_scale_rtcd.pl"
|
||||
"${AOM_ROOT}/av1/common/av1_rtcd_defs.pl")
|
||||
set(AOM_RTCD_HEADER_FILE_LIST
|
||||
"${AOM_CONFIG_DIR}/aom_dsp_rtcd.h"
|
||||
"${AOM_CONFIG_DIR}/aom_scale_rtcd.h"
|
||||
"${AOM_CONFIG_DIR}/av1_rtcd.h")
|
||||
set(AOM_RTCD_SOURCE_FILE_LIST
|
||||
"${AOM_ROOT}/aom_dsp/aom_dsp_rtcd.c"
|
||||
"${AOM_ROOT}/aom_scale/aom_scale_rtcd.c"
|
||||
"${AOM_ROOT}/av1/common/av1_rtcd.c")
|
||||
set(AOM_RTCD_SYMBOL_LIST aom_dsp_rtcd aom_scale_rtcd av1_rtcd)
|
||||
list(LENGTH AOM_RTCD_SYMBOL_LIST AOM_RTCD_CUSTOM_COMMAND_COUNT)
|
||||
math(EXPR AOM_RTCD_CUSTOM_COMMAND_COUNT "${AOM_RTCD_CUSTOM_COMMAND_COUNT} - 1")
|
||||
|
||||
foreach(NUM RANGE ${AOM_RTCD_CUSTOM_COMMAND_COUNT})
|
||||
list(GET AOM_RTCD_CONFIG_FILE_LIST ${NUM} AOM_RTCD_CONFIG_FILE)
|
||||
list(GET AOM_RTCD_HEADER_FILE_LIST ${NUM} AOM_RTCD_HEADER_FILE)
|
||||
list(GET AOM_RTCD_SOURCE_FILE_LIST ${NUM} AOM_RTCD_SOURCE_FILE)
|
||||
list(GET AOM_RTCD_SYMBOL_LIST ${NUM} AOM_RTCD_SYMBOL)
|
||||
execute_process(
|
||||
COMMAND ${PERL_EXECUTABLE} "${AOM_ROOT}/build/make/rtcd.pl"
|
||||
--arch=${AOM_TARGET_CPU} --sym=${AOM_RTCD_SYMBOL} ${AOM_RTCD_FLAGS}
|
||||
--config=${AOM_CONFIG_DIR}/${AOM_TARGET_CPU}_rtcd_config.rtcd
|
||||
${AOM_RTCD_CONFIG_FILE}
|
||||
OUTPUT_FILE ${AOM_RTCD_HEADER_FILE})
|
||||
endforeach()
|
||||
|
||||
function (add_rtcd_build_step config output source symbol)
|
||||
add_custom_command(
|
||||
OUTPUT ${output}
|
||||
COMMAND ${PERL_EXECUTABLE}
|
||||
ARGS "${AOM_ROOT}/build/make/rtcd.pl"
|
||||
--arch=${AOM_TARGET_CPU}
|
||||
--sym=${symbol}
|
||||
${AOM_RTCD_FLAGS}
|
||||
--config=${AOM_CONFIG_DIR}/${AOM_TARGET_CPU}_rtcd_config.rtcd
|
||||
${config}
|
||||
> ${output}
|
||||
DEPENDS ${config}
|
||||
COMMENT "Generating ${output}"
|
||||
WORKING_DIRECTORY ${AOM_CONFIG_DIR}
|
||||
VERBATIM)
|
||||
set_property(SOURCE ${source} PROPERTY OBJECT_DEPENDS ${output})
|
||||
set_property(SOURCE ${output} PROPERTY GENERATED)
|
||||
endfunction ()
|
||||
|
||||
# Generate aom_version.h.
|
||||
if ("${AOM_GIT_DESCRIPTION}" STREQUAL "")
|
||||
set(AOM_GIT_DESCRIPTION "${AOM_ROOT}/CHANGELOG")
|
||||
endif ()
|
||||
execute_process(
|
||||
COMMAND ${PERL_EXECUTABLE} "${AOM_ROOT}/build/cmake/aom_version.pl"
|
||||
--version_data=${AOM_GIT_DESCRIPTION}
|
||||
--version_filename=${AOM_CONFIG_DIR}/aom_version.h)
|
||||
204
third_party/aom/build/cmake/aom_optimization.cmake
vendored
Normal file
204
third_party/aom/build/cmake/aom_optimization.cmake
vendored
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
##
|
||||
## 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_AOM_OPTIMIZATION_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_AOM_OPTIMIZATION_CMAKE_ 1)
|
||||
|
||||
# Translate $flag to one which MSVC understands, and write the new flag to the
|
||||
# variable named by $translated_flag (or unset it, when MSVC needs no flag).
|
||||
function (get_msvc_intrinsic_flag flag translated_flag)
|
||||
if ("${flag}" STREQUAL "-mavx")
|
||||
set(${translated_flag} "/arch:AVX" PARENT_SCOPE)
|
||||
elseif ("${flag}" STREQUAL "-mavx2")
|
||||
set(${translated_flag} "/arch:AVX2" PARENT_SCOPE)
|
||||
else ()
|
||||
# MSVC does not need flags for intrinsics flavors other than AVX/AVX2.
|
||||
unset(${translated_flag} PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds an object library target. Terminates generation if $flag is not supported
|
||||
# by the current compiler. $flag is the intrinsics flag required by the current
|
||||
# compiler, and is added to the compile flags for all sources in $sources.
|
||||
# $opt_name is used to name the target. $target_to_update is made
|
||||
# dependent upon the created target.
|
||||
#
|
||||
# Note: the libaom target is always updated because OBJECT libraries have rules
|
||||
# that disallow the direct addition of .o files to them as dependencies. Static
|
||||
# libraries do not have this limitation.
|
||||
function (add_intrinsics_object_library flag opt_name target_to_update sources)
|
||||
set(target_name ${target_to_update}_${opt_name}_intrinsics)
|
||||
add_library(${target_name} OBJECT ${${sources}})
|
||||
|
||||
if (MSVC)
|
||||
get_msvc_intrinsic_flag(${flag} "flag")
|
||||
endif ()
|
||||
|
||||
if (flag)
|
||||
target_compile_options(${target_name} PUBLIC ${flag})
|
||||
endif ()
|
||||
|
||||
target_sources(aom PUBLIC $<TARGET_OBJECTS:${target_name}>)
|
||||
|
||||
# Add the new lib target to the global list of aom library targets.
|
||||
list(APPEND AOM_LIB_TARGETS ${target_name})
|
||||
set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Adds sources in list named by $sources to $target and adds $flag to the
|
||||
# compile flags for each source file.
|
||||
function (add_intrinsics_source_to_target flag target sources)
|
||||
target_sources(${target} PUBLIC ${${sources}})
|
||||
if (MSVC)
|
||||
get_msvc_intrinsic_flag(${flag} "flag")
|
||||
endif ()
|
||||
if (flag)
|
||||
foreach (source ${${sources}})
|
||||
set_property(SOURCE ${source} APPEND PROPERTY COMPILE_FLAGS ${flag})
|
||||
endforeach ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Writes object format for the current target to the var named by $out_format,
|
||||
# or terminates the build when the object format for the current target is
|
||||
# unknown.
|
||||
function (get_asm_obj_format out_format)
|
||||
if ("${AOM_TARGET_CPU}" STREQUAL "x86_64")
|
||||
if ("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin")
|
||||
set(objformat "macho64")
|
||||
elseif ("${AOM_TARGET_SYSTEM}" STREQUAL "Linux")
|
||||
set(objformat "elf64")
|
||||
elseif ("${AOM_TARGET_SYSTEM}" STREQUAL "Windows")
|
||||
set(objformat "win64")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unknown obj format: ${AOM_TARGET_SYSTEM}")
|
||||
endif ()
|
||||
elseif ("${AOM_TARGET_CPU}" STREQUAL "x86")
|
||||
if ("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin")
|
||||
set(objformat "macho32")
|
||||
elseif ("${AOM_TARGET_SYSTEM}" STREQUAL "Linux")
|
||||
set(objformat "elf32")
|
||||
elseif ("${AOM_TARGET_SYSTEM}" STREQUAL "Windows")
|
||||
set(objformat "win32")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unknown obj format: ${AOM_TARGET_SYSTEM}")
|
||||
endif ()
|
||||
else ()
|
||||
message(FATAL_ERROR
|
||||
"Unknown obj format: ${AOM_TARGET_CPU}-${AOM_TARGET_SYSTEM}")
|
||||
endif ()
|
||||
|
||||
set(${out_format} ${objformat} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Adds library target named $lib_name for ASM files in variable named by
|
||||
# $asm_sources. Builds an output directory path from $lib_name. Links $lib_name
|
||||
# into $dependent_target. Generates a dummy C file with a dummy function to
|
||||
# ensure that all cmake generators can determine the linker language, and that
|
||||
# build tools don't complain that an object exposes no symbols.
|
||||
function (add_asm_library lib_name asm_sources dependent_target)
|
||||
set(asm_lib_obj_dir "${AOM_CONFIG_DIR}/asm_objects/${lib_name}")
|
||||
if (NOT EXISTS "${asm_lib_obj_dir}")
|
||||
file(MAKE_DIRECTORY "${asm_lib_obj_dir}")
|
||||
endif ()
|
||||
|
||||
# TODO(tomfinegan): If cmake ever allows addition of .o files to OBJECT lib
|
||||
# targets, make this OBJECT instead of STATIC to hide the target from
|
||||
# consumers of the AOM cmake build.
|
||||
add_library(${lib_name} STATIC ${${asm_sources}})
|
||||
|
||||
foreach (asm_source ${${asm_sources}})
|
||||
get_filename_component(asm_source_name "${asm_source}" NAME)
|
||||
set(asm_object "${asm_lib_obj_dir}/${asm_source_name}.o")
|
||||
add_custom_command(OUTPUT "${asm_object}"
|
||||
COMMAND ${AS_EXECUTABLE}
|
||||
ARGS ${AOM_AS_FLAGS}
|
||||
-I${AOM_ROOT} -I${AOM_CONFIG_DIR}
|
||||
-o "${asm_object}" "${asm_source}"
|
||||
DEPENDS "${asm_source}"
|
||||
COMMENT "Building ASM object ${asm_object}"
|
||||
WORKING_DIRECTORY "${AOM_CONFIG_DIR}"
|
||||
VERBATIM)
|
||||
target_sources(${lib_name} PRIVATE "${asm_object}")
|
||||
endforeach ()
|
||||
|
||||
# The above created a target containing only ASM sources. Cmake needs help
|
||||
# here to determine the linker language. Add a dummy C file to force the
|
||||
# linker language to C. We don't bother with setting the LINKER_LANGUAGE
|
||||
# property on the library target because not all generators obey it (looking
|
||||
# at you, xcode generator).
|
||||
set(dummy_c_file "${AOM_CONFIG_DIR}/${lib_name}_dummy.c")
|
||||
file(WRITE "${dummy_c_file}"
|
||||
"// Generated file. DO NOT EDIT!\n"
|
||||
"// ${lib_name} needs C file to force link language, ignore me.\n"
|
||||
"void ${lib_name}_dummy_function(void) {}\n")
|
||||
target_sources(${lib_name} PUBLIC ${dummy_c_file})
|
||||
|
||||
target_link_libraries(${dependent_target} PRIVATE ${lib_name})
|
||||
|
||||
# Add the new lib target to the global list of aom library targets.
|
||||
list(APPEND AOM_LIB_TARGETS ${lib_name})
|
||||
set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Converts asm sources in $asm_sources using $AOM_ADS2GAS and calls
|
||||
# add_asm_library() to create a library from the converted sources. At
|
||||
# generation time the converted sources are created, and a custom rule is added
|
||||
# to ensure the sources are reconverted when the original asm source is updated.
|
||||
# See add_asm_library() for more information.
|
||||
function (add_gas_asm_library lib_name asm_sources dependent_target)
|
||||
set(asm_converted_source_dir "${AOM_CONFIG_DIR}/asm_gas/${lib_name}")
|
||||
if (NOT EXISTS "${asm_converted_source_dir}")
|
||||
file(MAKE_DIRECTORY "${asm_converted_source_dir}")
|
||||
endif ()
|
||||
|
||||
# Create the converted version of each assembly source at generation time.
|
||||
unset(gas_target_sources)
|
||||
foreach (neon_asm_source ${${asm_sources}})
|
||||
get_filename_component(output_asm_source "${neon_asm_source}" NAME)
|
||||
set(output_asm_source "${asm_converted_source_dir}/${output_asm_source}")
|
||||
set(output_asm_source "${output_asm_source}.${AOM_GAS_EXT}")
|
||||
execute_process(COMMAND "${PERL_EXECUTABLE}" "${AOM_ADS2GAS}"
|
||||
INPUT_FILE "${neon_asm_source}"
|
||||
OUTPUT_FILE "${output_asm_source}")
|
||||
list(APPEND gas_target_sources "${output_asm_source}")
|
||||
endforeach ()
|
||||
|
||||
add_asm_library("${lib_name}" "gas_target_sources" "${dependent_target}")
|
||||
|
||||
# For each of the converted sources, create a custom rule that will regenerate
|
||||
# the converted source when its input is touched.
|
||||
list(LENGTH gas_target_sources num_asm_files)
|
||||
math(EXPR num_asm_files "${num_asm_files} - 1")
|
||||
foreach(NUM RANGE ${num_asm_files})
|
||||
list(GET ${asm_sources} ${NUM} neon_asm_source)
|
||||
list(GET gas_target_sources ${NUM} gas_asm_source)
|
||||
|
||||
# Grab only the filename for the custom command output to keep build output
|
||||
# reasonably sane.
|
||||
get_filename_component(neon_name "${neon_asm_source}" NAME)
|
||||
get_filename_component(gas_name "${gas_asm_source}" NAME)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${gas_asm_source}"
|
||||
COMMAND ${PERL_EXECUTABLE}
|
||||
ARGS "${AOM_ADS2GAS}" < "${neon_asm_source}" > "${gas_asm_source}"
|
||||
DEPENDS "${neon_asm_source}"
|
||||
COMMENT "ads2gas conversion ${neon_name} -> ${gas_name}"
|
||||
WORKING_DIRECTORY "${AOM_CONFIG_DIR}"
|
||||
VERBATIM)
|
||||
endforeach ()
|
||||
|
||||
# Update the sources list passed in to include the converted asm source files.
|
||||
list(APPEND asm_sources ${gas_target_sources})
|
||||
set(${asm_sources} ${${asm_sources}} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_AOM_OPTIMIZATION_CMAKE_
|
||||
93
third_party/aom/build/cmake/aom_version.pl
vendored
Executable file
93
third_party/aom/build/cmake/aom_version.pl
vendored
Executable file
|
|
@ -0,0 +1,93 @@
|
|||
#!/usr/bin/env perl
|
||||
##
|
||||
## Copyright (c) 2016, 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.
|
||||
##
|
||||
use strict;
|
||||
use warnings;
|
||||
use 5.010;
|
||||
use Getopt::Long;
|
||||
|
||||
my $version_data;
|
||||
my $version_filename;
|
||||
GetOptions('version_data=s' => \$version_data,
|
||||
'version_filename=s' => \$version_filename) or
|
||||
die("Invalid arg(s): $!");
|
||||
|
||||
if (!defined $version_data || length($version_data) == 0 ||
|
||||
!defined $version_filename || length($version_filename) == 0) {
|
||||
die("--version_data and --version_filename are required.");
|
||||
}
|
||||
|
||||
# Determine if $version_data is a filename or a git tag/description.
|
||||
my $version_string;
|
||||
if (-r $version_data) {
|
||||
# $version_data is the path to the CHANGELOG. Parse the most recent version.
|
||||
my $changelog_filename = $version_data;
|
||||
open(my $changelog_file, '<', $changelog_filename) or
|
||||
die("Unable to open CHANGELOG @ $changelog_filename: $!.");
|
||||
|
||||
while (my $line = <$changelog_file>) {
|
||||
my @split_line = split(" ", $line, 3);
|
||||
next if @split_line < 2;
|
||||
$version_string = $split_line[1];
|
||||
last if substr($version_string, 0, 1) eq "v";
|
||||
}
|
||||
close($changelog_file);
|
||||
} else {
|
||||
# $version_data is either a tag name or a full git description, one of:
|
||||
# tagName OR tagName-commitsSinceTag-shortCommitHash
|
||||
# In either case we want the first element of the array returned by split.
|
||||
$version_string = (split("-", $version_data))[0];
|
||||
}
|
||||
|
||||
if (substr($version_string, 0, 1) eq "v") {
|
||||
$version_string = substr($version_string, 1);
|
||||
}
|
||||
|
||||
my @version_components = split('\.', $version_string, 4);
|
||||
my $version_major = $version_components[0];
|
||||
my $version_minor = $version_components[1];
|
||||
my $version_patch = $version_components[2];
|
||||
|
||||
my $version_extra = "";
|
||||
if (@version_components > 3) {
|
||||
$version_extra = $version_components[3];
|
||||
}
|
||||
|
||||
open(my $version_file, '>', $version_filename) or
|
||||
die("Cannot open $version_filename: $!");
|
||||
|
||||
my $version_packed = "((VERSION_MAJOR<<16)|(VERSION_MINOR<<8)|(VERSION_PATCH))";
|
||||
my $year = (localtime)[5] + 1900;
|
||||
my $lic_block = << "EOF";
|
||||
/*
|
||||
* Copyright (c) $year, 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.
|
||||
*/
|
||||
EOF
|
||||
|
||||
select $version_file;
|
||||
print << "EOF";
|
||||
$lic_block
|
||||
#define VERSION_MAJOR $version_major
|
||||
#define VERSION_MINOR $version_minor
|
||||
#define VERSION_PATCH $version_patch
|
||||
#define VERSION_EXTRA \"$version_extra\"
|
||||
#define VERSION_PACKED $version_packed
|
||||
#define VERSION_STRING_NOSP \"v$version_string\"
|
||||
#define VERSION_STRING \" v$version_string\"
|
||||
EOF
|
||||
close($version_file);
|
||||
218
third_party/aom/build/cmake/compiler_flags.cmake
vendored
Normal file
218
third_party/aom/build/cmake/compiler_flags.cmake
vendored
Normal file
|
|
@ -0,0 +1,218 @@
|
|||
##
|
||||
## Copyright (c) 2016, 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.
|
||||
##
|
||||
include(CheckCCompilerFlag)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
# Strings used to cache failed C/CXX flags.
|
||||
set(AOM_FAILED_C_FLAGS)
|
||||
set(AOM_FAILED_CXX_FLAGS)
|
||||
|
||||
# Checks C compiler for support of $c_flag. Adds $c_flag to $CMAKE_C_FLAGS when
|
||||
# the compile test passes. Caches $c_flag in $AOM_FAILED_C_FLAGS when the test
|
||||
# fails.
|
||||
function (add_c_flag_if_supported c_flag)
|
||||
unset(C_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${c_flag}" C_FLAG_FOUND)
|
||||
unset(C_FLAG_FAILED CACHE)
|
||||
string(FIND "${AOM_FAILED_C_FLAGS}" "${c_flag}" C_FLAG_FAILED)
|
||||
|
||||
if (${C_FLAG_FOUND} EQUAL -1 AND ${C_FLAG_FAILED} EQUAL -1)
|
||||
unset(C_FLAG_SUPPORTED CACHE)
|
||||
message("Checking C compiler flag support for: " ${c_flag})
|
||||
check_c_compiler_flag("${c_flag}" C_FLAG_SUPPORTED)
|
||||
if (C_FLAG_SUPPORTED)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${c_flag}" CACHE STRING "" FORCE)
|
||||
else ()
|
||||
set(AOM_FAILED_C_FLAGS "${AOM_FAILED_C_FLAGS} ${c_flag}" CACHE STRING ""
|
||||
FORCE)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks C++ compiler for support of $cxx_flag. Adds $cxx_flag to
|
||||
# $CMAKE_CXX_FLAGS when the compile test passes. Caches $c_flag in
|
||||
# $AOM_FAILED_CXX_FLAGS when the test fails.
|
||||
function (add_cxx_flag_if_supported cxx_flag)
|
||||
unset(CXX_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${cxx_flag}" CXX_FLAG_FOUND)
|
||||
unset(CXX_FLAG_FAILED CACHE)
|
||||
string(FIND "${AOM_FAILED_CXX_FLAGS}" "${cxx_flag}" CXX_FLAG_FAILED)
|
||||
|
||||
if (${CXX_FLAG_FOUND} EQUAL -1 AND ${CXX_FLAG_FAILED} EQUAL -1)
|
||||
unset(CXX_FLAG_SUPPORTED CACHE)
|
||||
message("Checking CXX compiler flag support for: " ${cxx_flag})
|
||||
check_cxx_compiler_flag("${cxx_flag}" CXX_FLAG_SUPPORTED)
|
||||
if (CXX_FLAG_SUPPORTED)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${cxx_flag}" CACHE STRING ""
|
||||
FORCE)
|
||||
else()
|
||||
set(AOM_FAILED_CXX_FLAGS "${AOM_FAILED_CXX_FLAGS} ${cxx_flag}" CACHE
|
||||
STRING "" FORCE)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Convenience method for adding a flag to both the C and C++ compiler command
|
||||
# lines.
|
||||
function (add_compiler_flag_if_supported flag)
|
||||
add_c_flag_if_supported(${flag})
|
||||
add_cxx_flag_if_supported(${flag})
|
||||
endfunction ()
|
||||
|
||||
# Checks C compiler for support of $c_flag and terminates generation when
|
||||
# support is not present.
|
||||
function (require_c_flag c_flag update_c_flags)
|
||||
unset(C_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${c_flag}" C_FLAG_FOUND)
|
||||
|
||||
if (${C_FLAG_FOUND} EQUAL -1)
|
||||
unset(HAVE_C_FLAG CACHE)
|
||||
message("Checking C compiler flag support for: " ${c_flag})
|
||||
check_c_compiler_flag("${c_flag}" HAVE_C_FLAG)
|
||||
if (NOT HAVE_C_FLAG)
|
||||
message(FATAL_ERROR
|
||||
"${PROJECT_NAME} requires support for C flag: ${c_flag}.")
|
||||
endif ()
|
||||
if (update_c_flags)
|
||||
set(CMAKE_C_FLAGS "${c_flag} ${CMAKE_C_FLAGS}" CACHE STRING "" FORCE)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks CXX compiler for support of $cxx_flag and terminates generation when
|
||||
# support is not present.
|
||||
function (require_cxx_flag cxx_flag update_cxx_flags)
|
||||
unset(CXX_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${cxx_flag}" CXX_FLAG_FOUND)
|
||||
|
||||
if (${CXX_FLAG_FOUND} EQUAL -1)
|
||||
unset(HAVE_CXX_FLAG CACHE)
|
||||
message("Checking CXX compiler flag support for: " ${cxx_flag})
|
||||
check_cxx_compiler_flag("${cxx_flag}" HAVE_CXX_FLAG)
|
||||
if (NOT HAVE_CXX_FLAG)
|
||||
message(FATAL_ERROR
|
||||
"${PROJECT_NAME} requires support for CXX flag: ${cxx_flag}.")
|
||||
endif ()
|
||||
if (update_cxx_flags)
|
||||
set(CMAKE_CXX_FLAGS "${cxx_flag} ${CMAKE_CXX_FLAGS}" CACHE STRING ""
|
||||
FORCE)
|
||||
endif ()
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks for support of $flag by both the C and CXX compilers. Terminates
|
||||
# generation when support is not present in both compilers.
|
||||
function (require_flag flag update_cmake_flags)
|
||||
require_c_flag(${flag} ${update_cmake_flags})
|
||||
require_cxx_flag(${flag} ${update_cmake_flags})
|
||||
endfunction ()
|
||||
|
||||
# Checks only non-MSVC targets for support of $c_flag and terminates generation
|
||||
# when support is not present.
|
||||
function (require_c_flag_nomsvc c_flag update_c_flags)
|
||||
if (NOT MSVC)
|
||||
require_c_flag(${c_flag} ${update_c_flags})
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks only non-MSVC targets for support of $cxx_flag and terminates
|
||||
# generation when support is not present.
|
||||
function (require_cxx_flag_nomsvc cxx_flag update_cxx_flags)
|
||||
if (NOT MSVC)
|
||||
require_cxx_flag(${cxx_flag} ${update_cxx_flags})
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Checks only non-MSVC targets for support of $flag by both the C and CXX
|
||||
# compilers. Terminates generation when support is not present in both
|
||||
# compilers.
|
||||
function (require_flag_nomsvc flag update_cmake_flags)
|
||||
require_c_flag_nomsvc(${flag} ${update_cmake_flags})
|
||||
require_cxx_flag_nomsvc(${flag} ${update_cmake_flags})
|
||||
endfunction ()
|
||||
|
||||
# Adds $preproc_def to C compiler command line (as -D$preproc_def) if not
|
||||
# already present.
|
||||
function (add_c_preproc_definition preproc_def)
|
||||
unset(PREPROC_DEF_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${preproc_def}" PREPROC_DEF_FOUND)
|
||||
|
||||
if (${PREPROC_DEF_FOUND} EQUAL -1)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D${preproc_def}" CACHE STRING ""
|
||||
FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $preproc_def to CXX compiler command line (as -D$preproc_def) if not
|
||||
# already present.
|
||||
function (add_cxx_preproc_definition preproc_def)
|
||||
unset(PREPROC_DEF_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${preproc_def}" PREPROC_DEF_FOUND)
|
||||
|
||||
if (${PREPROC_DEF_FOUND} EQUAL -1)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${preproc_def}" CACHE STRING ""
|
||||
FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $preproc_def to C and CXX compiler command line (as -D$preproc_def) if
|
||||
# not already present.
|
||||
function (add_preproc_definition preproc_def)
|
||||
add_c_preproc_definition(${preproc_def})
|
||||
add_cxx_preproc_definition(${preproc_def})
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to assembler command line.
|
||||
function (append_as_flag flag)
|
||||
unset(AS_FLAG_FOUND CACHE)
|
||||
string(FIND "${AOM_AS_FLAGS}" "${flag}" AS_FLAG_FOUND)
|
||||
|
||||
if (${AS_FLAG_FOUND} EQUAL -1)
|
||||
set(AOM_AS_FLAGS "${AOM_AS_FLAGS} ${flag}" CACHE STRING "" FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the C compiler command line.
|
||||
function (append_c_flag flag)
|
||||
unset(C_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_C_FLAGS}" "${flag}" C_FLAG_FOUND)
|
||||
|
||||
if (${C_FLAG_FOUND} EQUAL -1)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" CACHE STRING "" FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the CXX compiler command line.
|
||||
function (append_cxx_flag flag)
|
||||
unset(CXX_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_CXX_FLAGS}" "${flag}" CXX_FLAG_FOUND)
|
||||
|
||||
if (${CXX_FLAG_FOUND} EQUAL -1)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" CACHE STRING "" FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the C and CXX compiler command lines.
|
||||
function (append_compiler_flag flag)
|
||||
append_c_flag(${flag})
|
||||
append_cxx_flag(${flag})
|
||||
endfunction ()
|
||||
|
||||
# Adds $flag to the executable linker command line.
|
||||
function (append_exe_linker_flag flag)
|
||||
unset(LINKER_FLAG_FOUND CACHE)
|
||||
string(FIND "${CMAKE_EXE_LINKER_FLAGS}" "${flag}" LINKER_FLAG_FOUND)
|
||||
|
||||
if (${LINKER_FLAG_FOUND} EQUAL -1)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${flag}" CACHE STRING
|
||||
"" FORCE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
133
third_party/aom/build/cmake/compiler_tests.cmake
vendored
Normal file
133
third_party/aom/build/cmake/compiler_tests.cmake
vendored
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
##
|
||||
## Copyright (c) 2016, 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.
|
||||
##
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
# The basic main() function used in all compile tests.
|
||||
set(AOM_C_MAIN "\nint main(void) { return 0; }")
|
||||
set(AOM_CXX_MAIN "\nint main() { return 0; }")
|
||||
|
||||
# Strings containing the names of passed and failed tests.
|
||||
set(AOM_C_PASSED_TESTS)
|
||||
set(AOM_C_FAILED_TESTS)
|
||||
set(AOM_CXX_PASSED_TESTS)
|
||||
set(AOM_CXX_FAILED_TESTS)
|
||||
|
||||
function(aom_push_var var new_value)
|
||||
set(SAVED_${var} ${var} PARENT_SCOPE)
|
||||
set(${var} ${new_value} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
function(aom_pop_var var)
|
||||
set(var ${SAVED_${var}} PARENT_SCOPE)
|
||||
unset(SAVED_${var} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Confirms $test_source compiles and stores $test_name in one of
|
||||
# $AOM_C_PASSED_TESTS or $AOM_C_FAILED_TESTS depending on out come. When the
|
||||
# test passes $result_var is set to 1. When it fails $result_var is unset.
|
||||
# The test is not run if the test name is found in either of the passed or
|
||||
# failed test variables.
|
||||
function(aom_check_c_compiles test_name test_source result_var)
|
||||
unset(C_TEST_PASSED CACHE)
|
||||
unset(C_TEST_FAILED CACHE)
|
||||
string(FIND "${AOM_C_PASSED_TESTS}" "${test_name}" C_TEST_PASSED)
|
||||
string(FIND "${AOM_C_FAILED_TESTS}" "${test_name}" C_TEST_FAILED)
|
||||
if (${C_TEST_PASSED} EQUAL -1 AND ${C_TEST_FAILED} EQUAL -1)
|
||||
unset(C_TEST_COMPILED CACHE)
|
||||
message("Running C compiler test: ${test_name}")
|
||||
check_c_source_compiles("${test_source} ${AOM_C_MAIN}" C_TEST_COMPILED)
|
||||
set(${result_var} ${C_TEST_COMPILED} PARENT_SCOPE)
|
||||
|
||||
if (C_TEST_COMPILED)
|
||||
set(AOM_C_PASSED_TESTS "${AOM_C_PASSED_TESTS} ${test_name}" CACHE STRING
|
||||
"" FORCE)
|
||||
else ()
|
||||
set(AOM_C_FAILED_TESTS "${AOM_C_FAILED_TESTS} ${test_name}" CACHE STRING
|
||||
"" FORCE)
|
||||
message("C Compiler test ${test_name} failed.")
|
||||
endif ()
|
||||
elseif (NOT ${C_TEST_PASSED} EQUAL -1)
|
||||
set(${result_var} 1 PARENT_SCOPE)
|
||||
else () # ${C_TEST_FAILED} NOT EQUAL -1
|
||||
unset(${result_var} PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Confirms $test_source compiles and stores $test_name in one of
|
||||
# $AOM_CXX_PASSED_TESTS or $AOM_CXX_FAILED_TESTS depending on out come. When the
|
||||
# test passes $result_var is set to 1. When it fails $result_var is unset.
|
||||
# The test is not run if the test name is found in either of the passed or
|
||||
# failed test variables.
|
||||
function(aom_check_cxx_compiles test_name test_source result_var)
|
||||
unset(CXX_TEST_PASSED CACHE)
|
||||
unset(CXX_TEST_FAILED CACHE)
|
||||
string(FIND "${AOM_CXX_PASSED_TESTS}" "${test_name}" CXX_TEST_PASSED)
|
||||
string(FIND "${AOM_CXX_FAILED_TESTS}" "${test_name}" CXX_TEST_FAILED)
|
||||
if (${CXX_TEST_PASSED} EQUAL -1 AND ${CXX_TEST_FAILED} EQUAL -1)
|
||||
unset(CXX_TEST_COMPILED CACHE)
|
||||
message("Running CXX compiler test: ${test_name}")
|
||||
check_cxx_source_compiles("${test_source} ${AOM_CXX_MAIN}"
|
||||
CXX_TEST_COMPILED)
|
||||
set(${result_var} ${CXX_TEST_COMPILED} PARENT_SCOPE)
|
||||
|
||||
if (CXX_TEST_COMPILED)
|
||||
set(AOM_CXX_PASSED_TESTS "${AOM_CXX_PASSED_TESTS} ${test_name}" CACHE
|
||||
STRING "" FORCE)
|
||||
else ()
|
||||
set(AOM_CXX_FAILED_TESTS "${AOM_CXX_FAILED_TESTS} ${test_name}" CACHE
|
||||
STRING "" FORCE)
|
||||
message("CXX Compiler test ${test_name} failed.")
|
||||
endif ()
|
||||
elseif (NOT ${CXX_TEST_PASSED} EQUAL -1)
|
||||
set(${result_var} 1 PARENT_SCOPE)
|
||||
else () # ${CXX_TEST_FAILED} NOT EQUAL -1
|
||||
unset(${result_var} PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# Convenience function that confirms $test_source compiles as C and C++.
|
||||
# $result_var is set to 1 when both tests are successful, and 0 when one or both
|
||||
# tests fail.
|
||||
# Note: This function is intended to be used to write to result variables that are
|
||||
# expanded via configure_file(). $result_var is set to 1 or 0 to allow direct
|
||||
# usage of the value in generated source files.
|
||||
function(aom_check_source_compiles test_name test_source result_var)
|
||||
unset(C_PASSED)
|
||||
unset(CXX_PASSED)
|
||||
aom_check_c_compiles(${test_name} ${test_source} C_PASSED)
|
||||
aom_check_cxx_compiles(${test_name} ${test_source} CXX_PASSED)
|
||||
if (C_PASSED AND CXX_PASSED)
|
||||
set(${result_var} 1 PARENT_SCOPE)
|
||||
else ()
|
||||
set(${result_var} 0 PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
# When inline support is detected for the current compiler the supported
|
||||
# inlining keyword is written to $result in caller scope.
|
||||
function (aom_get_inline result)
|
||||
aom_check_source_compiles("inline_check_1"
|
||||
"static inline void function(void) {}"
|
||||
HAVE_INLINE_1)
|
||||
if (HAVE_INLINE_1 EQUAL 1)
|
||||
set(${result} "inline" PARENT_SCOPE)
|
||||
return()
|
||||
endif ()
|
||||
|
||||
# Check __inline.
|
||||
aom_check_source_compiles("inline_check_2"
|
||||
"static __inline void function(void) {}"
|
||||
HAVE_INLINE_2)
|
||||
if (HAVE_INLINE_2 EQUAL 1)
|
||||
set(${result} "__inline" PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
72
third_party/aom/build/cmake/cpu.cmake
vendored
Normal file
72
third_party/aom/build/cmake/cpu.cmake
vendored
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
##
|
||||
## 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 ("${AOM_TARGET_CPU}" STREQUAL "arm64")
|
||||
set(ARCH_ARM 1)
|
||||
set(HAVE_NEON 1)
|
||||
set(RTCD_ARCH_ARM "yes")
|
||||
set(RTCD_HAVE_NEON "yes")
|
||||
elseif ("${AOM_TARGET_CPU}" MATCHES "^armv7")
|
||||
set(ARCH_ARM 1)
|
||||
set(HAVE_NEON 1)
|
||||
set(HAVE_NEON_ASM 1)
|
||||
set(RTCD_ARCH_ARM "yes")
|
||||
set(RTCD_HAVE_NEON "yes")
|
||||
set(RTCD_HAVE_NEON_ASM "yes")
|
||||
elseif ("${AOM_TARGET_CPU}" MATCHES "^mips")
|
||||
set(ARCH_MIPS 1)
|
||||
|
||||
if ("${AOM_TARGET_CPU}" STREQUAL "mips32")
|
||||
set(HAVE_MIPS32 1)
|
||||
elseif ("${AOM_TARGET_CPU}" STREQUAL "mips64")
|
||||
set(HAVE_MIPS64 1)
|
||||
endif ()
|
||||
|
||||
set(RTCD_ARCH_MIPS "yes")
|
||||
|
||||
if (HAVE_DSPR2)
|
||||
set(RTCD_HAVE_DSPR2 "yes")
|
||||
endif ()
|
||||
|
||||
if (HAVE_MSA)
|
||||
set(RTCD_HAVE_MSA "yes")
|
||||
endif ()
|
||||
elseif ("${AOM_TARGET_CPU}" MATCHES "^x86")
|
||||
if ("${AOM_TARGET_CPU}" STREQUAL "x86")
|
||||
set(ARCH_X86 1)
|
||||
set(RTCD_ARCH_X86 "yes")
|
||||
elseif ("${AOM_TARGET_CPU}" STREQUAL "x86_64")
|
||||
set(ARCH_X86_64 1)
|
||||
set(RTCD_ARCH_X86_64 "yes")
|
||||
endif ()
|
||||
|
||||
set(HAVE_MMX 1)
|
||||
set(HAVE_SSE 1)
|
||||
set(HAVE_SSE2 1)
|
||||
set(HAVE_SSE3 1)
|
||||
set(HAVE_SSSE3 1)
|
||||
set(HAVE_SSE4_1 1)
|
||||
set(HAVE_AVX 1)
|
||||
set(HAVE_AVX2 1)
|
||||
set(RTCD_HAVE_MMX "yes")
|
||||
set(RTCD_HAVE_SSE "yes")
|
||||
set(RTCD_HAVE_SSE2 "yes")
|
||||
set(RTCD_HAVE_SSE3 "yes")
|
||||
set(RTCD_HAVE_SSSE3 "yes")
|
||||
set(RTCD_HAVE_SSE4_1 "yes")
|
||||
set(RTCD_HAVE_AVX "yes")
|
||||
set(RTCD_HAVE_AVX2 "yes")
|
||||
endif ()
|
||||
|
||||
foreach (config_var ${AOM_CONFIG_VARS})
|
||||
if (${${config_var}})
|
||||
set(RTCD_${config_var} yes)
|
||||
endif ()
|
||||
endforeach ()
|
||||
84
third_party/aom/build/cmake/generate_aom_config_templates.cmake
vendored
Normal file
84
third_party/aom/build/cmake/generate_aom_config_templates.cmake
vendored
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
string(TIMESTAMP year "%Y")
|
||||
set(asm_file_header_block
|
||||
"\;
|
||||
\; Copyright (c) ${year}, 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.
|
||||
\;
|
||||
")
|
||||
set(h_file_header_block
|
||||
"/*
|
||||
* Copyright (c) ${year}, 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.
|
||||
*/
|
||||
\#ifndef AOM_CONFIG_H_
|
||||
\#define AOM_CONFIG_H_
|
||||
")
|
||||
|
||||
# Terminates cmake execution when $var_name is an empty string, or the variable
|
||||
# name it contains does not expand to an existing directory.
|
||||
function (check_directory_var var_name)
|
||||
if ("${var_name}" STREQUAL "")
|
||||
message(FATAL_ERROR "The CMake variable ${var_name} must be defined.")
|
||||
endif ()
|
||||
|
||||
if (NOT EXISTS "${${var_name}}")
|
||||
message(FATAL_ERROR "${${var_name}} (${var_name}) missing.")
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
check_directory_var(AOM_CONFIG_DIR)
|
||||
check_directory_var(AOM_ROOT)
|
||||
|
||||
set(AOM_DEFAULTS "${AOM_ROOT}/build/cmake/aom_config_defaults.cmake")
|
||||
if (NOT EXISTS "${AOM_DEFAULTS}")
|
||||
message(FATAL_ERROR
|
||||
"Configuration default values file (${AOM_DEFAULTS}) missing.")
|
||||
endif ()
|
||||
|
||||
include("${AOM_ROOT}/build/cmake/aom_config_defaults.cmake")
|
||||
get_cmake_property(cmake_cache_vars CACHE_VARIABLES)
|
||||
|
||||
set(aom_config_h_template "${AOM_CONFIG_DIR}/aom_config.h.cmake")
|
||||
file(WRITE "${aom_config_h_template}" ${h_file_header_block})
|
||||
foreach(cache_var ${cmake_cache_vars})
|
||||
if (NOT "${cache_var}" MATCHES "AOM_CONFIG_DIR\|AOM_ROOT\|^CMAKE_")
|
||||
file(APPEND
|
||||
"${aom_config_h_template}" "\#define ${cache_var} \${${cache_var}}\n")
|
||||
endif ()
|
||||
endforeach()
|
||||
file(APPEND "${aom_config_h_template}" "\#endif /* AOM_CONFIG_H_ */")
|
||||
|
||||
set(aom_asm_config_template "${AOM_CONFIG_DIR}/aom_config.asm.cmake")
|
||||
file(WRITE "${aom_asm_config_template}" ${asm_file_header_block})
|
||||
foreach(cache_var ${cmake_cache_vars})
|
||||
if (NOT "${cache_var}" MATCHES
|
||||
"AOM_CONFIG_DIR\|AOM_ROOT\|^CMAKE_\|INLINE\|RESTRICT")
|
||||
file(APPEND "${aom_asm_config_template}"
|
||||
"${cache_var} equ \${${cache_var}}\n")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
26
third_party/aom/build/cmake/msvc_runtime.cmake
vendored
Normal file
26
third_party/aom/build/cmake/msvc_runtime.cmake
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
##
|
||||
## 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 (MSVC)
|
||||
# CMake defaults to producing code linked to the DLL MSVC runtime. That will
|
||||
# not work with googletest, and isn't what we want anyway.
|
||||
if (NOT "${MSVC_RUNTIME}" STREQUAL "dll")
|
||||
foreach (flag_var
|
||||
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||
if (${flag_var} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
||||
endif (${flag_var} MATCHES "/MD")
|
||||
endforeach (flag_var)
|
||||
endif ()
|
||||
endif ()
|
||||
137
third_party/aom/build/cmake/rtcd_config.cmake
vendored
Normal file
137
third_party/aom/build/cmake/rtcd_config.cmake
vendored
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
ARCH_ARM=${RTCD_ARCH_ARM}
|
||||
ARCH_MIPS=${RTCD_ARCH_MIPS}
|
||||
ARCH_X86=${RTCD_ARCH_X86}
|
||||
ARCH_X86_64=${RTCD_ARCH_X86_64}
|
||||
HAVE_NEON=${RTCD_HAVE_NEON}
|
||||
HAVE_NEON_ASM=${RTCD_HAVE_NEON_ASM}
|
||||
HAVE_MIPS32=${RTCD_HAVE_MIPS32}
|
||||
HAVE_DSPR2=${RTCD_HAVE_DSPR2}
|
||||
HAVE_MSA=${RTCD_HAVE_MSA}
|
||||
HAVE_MIPS64=${RTCD_HAVE_MIPS64}
|
||||
HAVE_MMX=${RTCD_HAVE_MMX}
|
||||
HAVE_SSE=${RTCD_HAVE_SSE}
|
||||
HAVE_SSE2=${RTCD_HAVE_SSE2}
|
||||
HAVE_SSE3=${RTCD_HAVE_SSE3}
|
||||
HAVE_SSSE3=${RTCD_HAVE_SSSE3}
|
||||
HAVE_SSE4_1=${RTCD_HAVE_SSE4_1}
|
||||
HAVE_AVX=${RTCD_HAVE_AVX}
|
||||
HAVE_AVX2=${RTCD_HAVE_AVX2}
|
||||
CONFIG_ACCOUNTING=${RTCD_CONFIG_ACCOUNTING}
|
||||
CONFIG_INSPECTION=${RTCD_CONFIG_INSPECTION}
|
||||
CONFIG_ADAPT_SCAN=${RTCD_CONFIG_ADAPT_SCAN}
|
||||
CONFIG_ALT_INTRA=${RTCD_CONFIG_ALT_INTRA}
|
||||
CONFIG_ANS=${RTCD_CONFIG_ANS}
|
||||
CONFIG_HIGHBITDEPTH=${RTCD_CONFIG_HIGHBITDEPTH}
|
||||
CONFIG_AOM_QM=${RTCD_CONFIG_AOM_QM}
|
||||
CONFIG_AV1=${RTCD_CONFIG_AV1}
|
||||
CONFIG_AV1_DECODER=${RTCD_CONFIG_AV1_DECODER}
|
||||
CONFIG_AV1_ENCODER=${RTCD_CONFIG_AV1_ENCODER}
|
||||
CONFIG_BIG_ENDIAN=${RTCD_CONFIG_BIG_ENDIAN}
|
||||
CONFIG_BITSTREAM_DEBUG=${RTCD_CONFIG_BITSTREAM_DEBUG}
|
||||
CONFIG_CB4X4=${RTCD_CONFIG_CB4X4}
|
||||
CONFIG_CDEF=${RTCD_CONFIG_CDEF}
|
||||
CONFIG_CHROMA_2X2=${RTCD_CONFIG_CHROMA_2X2}
|
||||
CONFIG_CODEC_SRCS=${RTCD_CONFIG_CODEC_SRCS}
|
||||
CONFIG_COEFFICIENT_RANGE_CHECKING=${RTCD_CONFIG_COEFFICIENT_RANGE_CHECKING}
|
||||
CONFIG_COEF_INTERLEAVE=${RTCD_CONFIG_COEF_INTERLEAVE}
|
||||
CONFIG_COMPOUND_SEGMENT=${RTCD_CONFIG_COMPOUND_SEGMENT}
|
||||
CONFIG_CONVOLVE_ROUND=${RTCD_CONFIG_CONVOLVE_ROUND}
|
||||
CONFIG_DAALA_DIST=${RTCD_CONFIG_DAALA_DIST}
|
||||
CONFIG_DAALA_EC=${RTCD_CONFIG_DAALA_EC}
|
||||
CONFIG_DEBUG=${RTCD_CONFIG_DEBUG}
|
||||
CONFIG_DEBUG_LIBS=${RTCD_CONFIG_DEBUG_LIBS}
|
||||
CONFIG_DECODERS=${RTCD_CONFIG_DECODERS}
|
||||
CONFIG_DECODE_PERF_TESTS=${RTCD_CONFIG_DECODE_PERF_TESTS}
|
||||
CONFIG_DELTA_Q=${RTCD_CONFIG_DELTA_Q}
|
||||
CONFIG_DEPENDENCY_TRACKING=${RTCD_CONFIG_DEPENDENCY_TRACKING}
|
||||
CONFIG_DEPENDENT_HORZTILES=${RTCD_CONFIG_DEPENDENT_HORZTILES}
|
||||
CONFIG_DUAL_FILTER=${RTCD_CONFIG_DUAL_FILTER}
|
||||
CONFIG_EC_ADAPT=${RTCD_CONFIG_EC_ADAPT}
|
||||
CONFIG_EC_MULTISYMBOL=${RTCD_CONFIG_EC_MULTISYMBOL}
|
||||
CONFIG_ENCODERS=${RTCD_CONFIG_ENCODERS}
|
||||
CONFIG_ENCODE_PERF_TESTS=${RTCD_CONFIG_ENCODE_PERF_TESTS}
|
||||
CONFIG_ENTROPY_STATS=${RTCD_CONFIG_ENTROPY_STATS}
|
||||
CONFIG_ERROR_CONCEALMENT=${RTCD_CONFIG_ERROR_CONCEALMENT}
|
||||
CONFIG_EXPERIMENTAL=${RTCD_CONFIG_EXPERIMENTAL}
|
||||
CONFIG_EXTERNAL_BUILD=${RTCD_CONFIG_EXTERNAL_BUILD}
|
||||
CONFIG_EXT_INTER=${RTCD_CONFIG_EXT_INTER}
|
||||
CONFIG_EXT_INTRA=${RTCD_CONFIG_EXT_INTRA}
|
||||
CONFIG_EXT_PARTITION=${RTCD_CONFIG_EXT_PARTITION}
|
||||
CONFIG_EXT_PARTITION_TYPES=${RTCD_CONFIG_EXT_PARTITION_TYPES}
|
||||
CONFIG_EXT_REFS=${RTCD_CONFIG_EXT_REFS}
|
||||
CONFIG_EXT_TILE=${RTCD_CONFIG_EXT_TILE}
|
||||
CONFIG_EXT_TX=${RTCD_CONFIG_EXT_TX}
|
||||
CONFIG_FILTER_7BIT=${RTCD_CONFIG_FILTER_7BIT}
|
||||
CONFIG_FILTER_INTRA=${RTCD_CONFIG_FILTER_INTRA}
|
||||
CONFIG_FP_MB_STATS=${RTCD_CONFIG_FP_MB_STATS}
|
||||
CONFIG_FRAME_SIZE=${RTCD_CONFIG_FRAME_SIZE}
|
||||
CONFIG_GCC=${RTCD_CONFIG_GCC}
|
||||
CONFIG_GCOV=${RTCD_CONFIG_GCOV}
|
||||
CONFIG_GLOBAL_MOTION=${RTCD_CONFIG_GLOBAL_MOTION}
|
||||
CONFIG_GPROF=${RTCD_CONFIG_GPROF}
|
||||
CONFIG_INSTALL_BINS=${RTCD_CONFIG_INSTALL_BINS}
|
||||
CONFIG_INSTALL_DOCS=${RTCD_CONFIG_INSTALL_DOCS}
|
||||
CONFIG_INSTALL_LIBS=${RTCD_CONFIG_INSTALL_LIBS}
|
||||
CONFIG_INSTALL_SRCS=${RTCD_CONFIG_INSTALL_SRCS}
|
||||
CONFIG_INTERNAL_STATS=${RTCD_CONFIG_INTERNAL_STATS}
|
||||
CONFIG_INTRA_INTERP=${RTCD_CONFIG_INTRA_INTERP}
|
||||
CONFIG_LIBYUV=${RTCD_CONFIG_LIBYUV}
|
||||
CONFIG_LOOPFILTERING_ACROSS_TILES=${RTCD_CONFIG_LOOPFILTERING_ACROSS_TILES}
|
||||
CONFIG_LOOP_RESTORATION=${RTCD_CONFIG_LOOP_RESTORATION}
|
||||
CONFIG_LOWBITDEPTH=${RTCD_CONFIG_LOWBITDEPTH}
|
||||
CONFIG_LV_MAP=${RTCD_CONFIG_LV_MAP}
|
||||
CONFIG_MASKED_TX=${RTCD_CONFIG_MASKED_TX}
|
||||
CONFIG_MOTION_VAR=${RTCD_CONFIG_MOTION_VAR}
|
||||
CONFIG_MSVS=${RTCD_CONFIG_MSVS}
|
||||
CONFIG_MULTITHREAD=${RTCD_CONFIG_MULTITHREAD}
|
||||
CONFIG_MV_COMPRESS=${RTCD_CONFIG_MV_COMPRESS}
|
||||
CONFIG_NCOBMC=${RTCD_CONFIG_NCOBMC}
|
||||
CONFIG_NEW_QUANT=${RTCD_CONFIG_NEW_QUANT}
|
||||
CONFIG_NEW_TOKENSET=${RTCD_CONFIG_NEW_TOKENSET}
|
||||
CONFIG_ONTHEFLY_BITPACKING=${RTCD_CONFIG_ONTHEFLY_BITPACKING}
|
||||
CONFIG_OS_SUPPORT=${RTCD_CONFIG_OS_SUPPORT}
|
||||
CONFIG_PALETTE=${RTCD_CONFIG_PALETTE}
|
||||
CONFIG_PALETTE_THROUGHPUT=${RTCD_CONFIG_PALETTE_THROUGHPUT}
|
||||
CONFIG_PARALLEL_DEBLOCKING=${RTCD_CONFIG_PARALLEL_DEBLOCKING}
|
||||
CONFIG_PIC=${RTCD_CONFIG_PIC}
|
||||
CONFIG_POSTPROC=${RTCD_CONFIG_POSTPROC}
|
||||
CONFIG_POSTPROC_VISUALIZER=${RTCD_CONFIG_POSTPROC_VISUALIZER}
|
||||
CONFIG_PVQ=${RTCD_CONFIG_PVQ}
|
||||
CONFIG_RAWBITS=${RTCD_CONFIG_RAWBITS}
|
||||
CONFIG_RD_DEBUG=${RTCD_CONFIG_RD_DEBUG}
|
||||
CONFIG_REALTIME_ONLY=${RTCD_CONFIG_REALTIME_ONLY}
|
||||
CONFIG_RECT_TX=${RTCD_CONFIG_RECT_TX}
|
||||
CONFIG_REFERENCE_BUFFER=${RTCD_CONFIG_REFERENCE_BUFFER}
|
||||
CONFIG_REF_ADAPT=${RTCD_CONFIG_REF_ADAPT}
|
||||
CONFIG_REF_MV=${RTCD_CONFIG_REF_MV}
|
||||
CONFIG_RUNTIME_CPU_DETECT=${RTCD_CONFIG_RUNTIME_CPU_DETECT}
|
||||
CONFIG_RVCT=${RTCD_CONFIG_RVCT}
|
||||
CONFIG_SHARED=${RTCD_CONFIG_SHARED}
|
||||
CONFIG_SIZE_LIMIT=${RTCD_CONFIG_SIZE_LIMIT}
|
||||
CONFIG_SMALL=${RTCD_CONFIG_SMALL}
|
||||
CONFIG_SPATIAL_RESAMPLING=${RTCD_CONFIG_SPATIAL_RESAMPLING}
|
||||
CONFIG_STATIC=${RTCD_CONFIG_STATIC}
|
||||
CONFIG_STATIC_MSVCRT=${RTCD_CONFIG_STATIC_MSVCRT}
|
||||
CONFIG_SUB8X8_MC=${RTCD_CONFIG_SUB8X8_MC}
|
||||
CONFIG_SUPERTX=${RTCD_CONFIG_SUPERTX}
|
||||
CONFIG_TEMPMV_SIGNALING=${RTCD_CONFIG_TEMPMV_SIGNALING}
|
||||
CONFIG_TILE_GROUPS=${RTCD_CONFIG_TILE_GROUPS}
|
||||
CONFIG_TPL_MV=${RTCD_CONFIG_TPL_MV}
|
||||
CONFIG_TRIPRED=${RTCD_CONFIG_TRIPRED}
|
||||
CONFIG_TX64X64=${RTCD_CONFIG_TX64X64}
|
||||
CONFIG_UNIT_TESTS=${RTCD_CONFIG_UNIT_TESTS}
|
||||
CONFIG_UNPOISON_PARTITION_CTX=${RTCD_CONFIG_UNPOISON_PARTITION_CTX}
|
||||
CONFIG_VAR_TX=${RTCD_CONFIG_VAR_TX}
|
||||
CONFIG_WARPED_MOTION=${RTCD_CONFIG_WARPED_MOTION}
|
||||
CONFIG_WEBM_IO=${RTCD_CONFIG_WEBM_IO}
|
||||
CONFIG_XIPHRC=${RTCD_CONFIG_XIPHRC}
|
||||
31
third_party/aom/build/cmake/toolchains/arm-ios-common.cmake
vendored
Normal file
31
third_party/aom/build/cmake/toolchains/arm-ios-common.cmake
vendored
Normal file
|
|
@ -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_ARM_IOS_COMMON_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_ARM_IOS_COMMON_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "Darwin")
|
||||
set(CMAKE_OSX_SYSROOT iphoneos)
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_C_COMPILER_ARG1 "-arch ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-arch ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
# Assembler sources must be converted for ARM iOS targets.
|
||||
set(AOM_ADS2GAS_REQUIRED 1)
|
||||
set(AOM_ADS2GAS "${CMAKE_CURRENT_SOURCE_DIR}/build/make/ads2gas_apple.pl")
|
||||
set(AOM_GAS_EXT "S")
|
||||
|
||||
# No runtime cpu detect for arm*-ios targets.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
# TODO(tomfinegan): Handle bit code embedding.
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_ARM_IOS_COMMON_CMAKE_
|
||||
24
third_party/aom/build/cmake/toolchains/arm64-ios.cmake
vendored
Normal file
24
third_party/aom/build/cmake/toolchains/arm64-ios.cmake
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
##
|
||||
## 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_IOS_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_ARM64_IOS_CMAKE_ 1)
|
||||
|
||||
if (XCODE)
|
||||
# TODO(tomfinegan): Handle arm builds in Xcode.
|
||||
message(FATAL_ERROR "This toolchain does not support Xcode.")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "arm64")
|
||||
set(CMAKE_OSX_ARCHITECTURES "arm64")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/arm-ios-common.cmake")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_ARM64_IOS_CMAKE_
|
||||
35
third_party/aom/build/cmake/toolchains/arm64-linux-gcc.cmake
vendored
Normal file
35
third_party/aom/build/cmake/toolchains/arm64-linux-gcc.cmake
vendored
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
##
|
||||
## 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")
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
# Default the cross compiler prefix to something known to work.
|
||||
set(CROSS aarch64-linux-gnu-)
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${CROSS}gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CROSS}g++)
|
||||
set(AS_EXECUTABLE ${CROSS}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_
|
||||
34
third_party/aom/build/cmake/toolchains/armv7-ios.cmake
vendored
Normal file
34
third_party/aom/build/cmake/toolchains/armv7-ios.cmake
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
##
|
||||
## 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_ARMV7_IOS_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_ARMV7_IOS_CMAKE_ 1)
|
||||
|
||||
if (XCODE)
|
||||
# TODO(tomfinegan): Handle arm builds in Xcode.
|
||||
message(FATAL_ERROR "This toolchain does not support Xcode.")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "armv7")
|
||||
set(CMAKE_OSX_ARCHITECTURES "armv7")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/arm-ios-common.cmake")
|
||||
|
||||
# No intrinsics flag required for armv7s-ios.
|
||||
set(AOM_NEON_INTRIN_FLAG "")
|
||||
|
||||
# No runtime cpu detect for armv7s-ios.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
# RTCD generation requires --disable-media for armv7s-ios.
|
||||
set(AOM_RTCD_FLAGS ${AOM_RTCD_FLAGS} --disable-media)
|
||||
string(STRIP AOM_RTCD_FLAGS ${AOM_RTCD_FLAGS})
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_ARMV7_IOS_CMAKE_
|
||||
48
third_party/aom/build/cmake/toolchains/armv7-linux-gcc.cmake
vendored
Normal file
48
third_party/aom/build/cmake/toolchains/armv7-linux-gcc.cmake
vendored
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
##
|
||||
## 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_ARMV7_LINUX_GCC_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_ARMV7_LINUX_GCC_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
# Default the cross compiler prefix to something known to work.
|
||||
set(CROSS arm-linux-gnueabihf-)
|
||||
endif ()
|
||||
|
||||
if (NOT ${CROSS} MATCHES hf-$)
|
||||
set(AOM_EXTRA_TOOLCHAIN_FLAGS "-mfloat-abi=softfp")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${CROSS}gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CROSS}g++)
|
||||
set(AS_EXECUTABLE ${CROSS}as)
|
||||
set(CMAKE_C_COMPILER_ARG1
|
||||
"-march=armv7-a -mfpu=neon ${AOM_EXTRA_TOOLCHAIN_FLAGS}")
|
||||
set(CMAKE_CXX_COMPILER_ARG1
|
||||
"-march=armv7-a -mfpu=neon ${AOM_EXTRA_TOOLCHAIN_FLAGS}")
|
||||
set(AOM_AS_FLAGS
|
||||
--defsym ARCHITECTURE=7 -march=armv7-a -mfpu=neon
|
||||
${AOM_EXTRA_TOOLCHAIN_FLAGS})
|
||||
set(CMAKE_SYSTEM_PROCESSOR "armv7")
|
||||
|
||||
# No intrinsics flag required for armv7-linux-gcc.
|
||||
set(AOM_NEON_INTRIN_FLAG "")
|
||||
|
||||
# Assembler sources must be converted for armv7-linux-gcc targets.
|
||||
set(AOM_ADS2GAS_REQUIRED 1)
|
||||
set(AOM_ADS2GAS "${CMAKE_CURRENT_SOURCE_DIR}/build/make/ads2gas.pl")
|
||||
set(AOM_GAS_EXT "S")
|
||||
|
||||
# No runtime cpu detect for armv7-linux-gcc.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_ARMV7_LINUX_GCC_CMAKE_
|
||||
34
third_party/aom/build/cmake/toolchains/armv7s-ios.cmake
vendored
Normal file
34
third_party/aom/build/cmake/toolchains/armv7s-ios.cmake
vendored
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
##
|
||||
## 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_ARMV7S_IOS_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_ARMV7S_IOS_CMAKE_ 1)
|
||||
|
||||
if (XCODE)
|
||||
# TODO(tomfinegan): Handle arm builds in Xcode.
|
||||
message(FATAL_ERROR "This toolchain does not support Xcode.")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "armv7s")
|
||||
set(CMAKE_OSX_ARCHITECTURES "armv7s")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/arm-ios-common.cmake")
|
||||
|
||||
# No intrinsics flag required for armv7s-ios.
|
||||
set(AOM_NEON_INTRIN_FLAG "")
|
||||
|
||||
# No runtime cpu detect for armv7s-ios.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
# RTCD generation requires --disable-media for armv7s-ios.
|
||||
set(AOM_RTCD_FLAGS ${AOM_RTCD_FLAGS} --disable-media)
|
||||
string(STRIP AOM_RTCD_FLAGS ${AOM_RTCD_FLAGS})
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_ARMV7S_IOS_CMAKE_
|
||||
23
third_party/aom/build/cmake/toolchains/ios-simulator-common.cmake
vendored
Normal file
23
third_party/aom/build/cmake/toolchains/ios-simulator-common.cmake
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
##
|
||||
## 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_IOS_SIMULATOR_COMMON_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_IOS_SIMULATOR_COMMON_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "Darwin")
|
||||
set(CMAKE_OSX_SYSROOT iphonesimulator)
|
||||
set(CMAKE_C_COMPILER clang)
|
||||
set(CMAKE_C_COMPILER_ARG1 "-arch ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-arch ${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
# TODO(tomfinegan): Handle bit code embedding.
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_IOS_SIMULATOR_COMMON_CMAKE_
|
||||
71
third_party/aom/build/cmake/toolchains/mips32-linux-gcc.cmake
vendored
Normal file
71
third_party/aom/build/cmake/toolchains/mips32-linux-gcc.cmake
vendored
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
##
|
||||
## 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_MIPS32_LINUX_GCC_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_MIPS32_LINUX_GCC_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
|
||||
if (ENABLE_DSPR2 AND ENABLE_MSA)
|
||||
message(FATAL_ERROR "ENABLE_DSPR2 and ENABLE_MSA cannot be combined.")
|
||||
endif ()
|
||||
|
||||
if (ENABLE_DSPR2)
|
||||
set(HAVE_DSPR2 1 CACHE BOOL "" FORCE)
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
# Default the cross compiler prefix to something known to work.
|
||||
set(CROSS mips-linux-gnu-)
|
||||
endif ()
|
||||
|
||||
set(MIPS_CFLAGS "-mdspr2")
|
||||
set(MIPS_CXXFLAGS "-mdspr2")
|
||||
elseif (ENABLE_MSA)
|
||||
set(HAVE_MSA 1 CACHE BOOL "" FORCE)
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
# Default the cross compiler prefix to something known to work.
|
||||
set(CROSS mips-mti-linux-gnu-)
|
||||
endif ()
|
||||
|
||||
set(MIPS_CFLAGS "-mmsa")
|
||||
set(MIPS_CXXFLAGS "-mmsa")
|
||||
endif ()
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
# TODO(tomfinegan): Make it possible to turn this off. The $CROSS prefix
|
||||
# won't be desired on a mips host.
|
||||
# Default cross compiler prefix to something that might work for an
|
||||
# unoptimized build.
|
||||
set(CROSS mips-linux-gnu-)
|
||||
endif ()
|
||||
|
||||
if ("${MIPS_CPU}" STREQUAL "")
|
||||
set(MIPS_CFLAGS "${MIPS_CFLAGS} -mips32r2")
|
||||
set(MIPS_CXXFLAGS "${MIPS_CXXFLAGS} -mips32r2")
|
||||
elseif ("${MIPS_CPU}" STREQUAL "p5600")
|
||||
set(P56_FLAGS
|
||||
"-mips32r5 -mload-store-pairs -msched-weight -mhard-float -mfp64")
|
||||
set(MIPS_CFLAGS "${MIPS_CFLAGS} ${P56_FLAGS}")
|
||||
set(MIPS_CXXFLAGS "${MIPS_CXXFLAGS} ${P56_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-mfp64 ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${CROSS}gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CROSS}g++)
|
||||
set(AS_EXECUTABLE ${CROSS}as)
|
||||
set(CMAKE_C_COMPILER_ARG1 "-EL ${MIPS_CFLAGS}")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-EL ${MIPS_CXXFLAGS}")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "mips32")
|
||||
|
||||
# No runtime cpu detect for mips32-linux-gcc.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_MIPS32_LINUX_GCC_CMAKE_
|
||||
48
third_party/aom/build/cmake/toolchains/mips64-linux-gcc.cmake
vendored
Normal file
48
third_party/aom/build/cmake/toolchains/mips64-linux-gcc.cmake
vendored
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
##
|
||||
## 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_MIPS64_LINUX_GCC_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_MIPS64_LINUX_GCC_CMAKE_ 1)
|
||||
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
|
||||
if ("${CROSS}" STREQUAL "")
|
||||
# TODO(tomfinegan): Make it possible to turn this off. The $CROSS prefix
|
||||
# won't be desired on a mips host.
|
||||
# Default the cross compiler prefix to something known to work.
|
||||
set(CROSS mips-img-linux-gnu-)
|
||||
endif ()
|
||||
|
||||
if (ENABLE_MSA)
|
||||
set(HAVE_MSA 1 CACHE BOOL "" FORCE)
|
||||
set(MIPS_CFLAGS "-mmsa")
|
||||
set(MIPS_CXXFLAGS "-mmsa")
|
||||
endif ()
|
||||
|
||||
if ("${MIPS_CPU}" STREQUAL "i6400" OR "${MIPS_CPU}" STREQUAL "p6600")
|
||||
set(MIPS_CPU_FLAGS "-mips64r6 -mabi=64 -mload-store-pairs -msched-weight")
|
||||
set(MIPS_CPU_FLAGS "${MIPS_CPU_FLAGS} -mhard-float -mfp64")
|
||||
set(MIPS_CFLAGS "${MIPS_CFLAGS} ${MIPS_CPU_FLAGS}")
|
||||
set(MIPS_CXXFLAGS "${MIPS_CXXFLAGS} ${MIPS_CPU_FLAGS}")
|
||||
set(CMAKE_EXE_LINKER_FLAGS
|
||||
"-mips64r6 -mabi64 -mfp64 ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_C_COMPILER ${CROSS}gcc)
|
||||
set(CMAKE_CXX_COMPILER ${CROSS}g++)
|
||||
set(AS_EXECUTABLE ${CROSS}as)
|
||||
set(CMAKE_C_COMPILER_ARG1 "-EL ${MIPS_CFLAGS}")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-EL ${MIPS_CXXFLAGS}")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "mips64")
|
||||
|
||||
# No runtime cpu detect for mips64-linux-gcc.
|
||||
set(CONFIG_RUNTIME_CPU_DETECT 0 CACHE BOOL "")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_MIPS64_LINUX_GCC_CMAKE_
|
||||
27
third_party/aom/build/cmake/toolchains/x86-ios-simulator.cmake
vendored
Normal file
27
third_party/aom/build/cmake/toolchains/x86-ios-simulator.cmake
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
##
|
||||
## 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_X86_IOS_SIMULATOR_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_X86_IOS_SIMULATOR_CMAKE_ 1)
|
||||
|
||||
if (XCODE)
|
||||
# TODO(tomfinegan): Handle ios sim builds in Xcode.
|
||||
message(FATAL_ERROR "This toolchain does not support Xcode.")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "i386")
|
||||
set(CMAKE_OSX_ARCHITECTURES "i386")
|
||||
|
||||
# Avoid noisy PIC/PIE warnings.
|
||||
set(CONFIG_PIC 1 CACHE BOOL "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/ios-simulator-common.cmake")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_X86_IOS_SIMULATOR_CMAKE_
|
||||
14
third_party/aom/build/cmake/toolchains/x86-linux.cmake
vendored
Normal file
14
third_party/aom/build/cmake/toolchains/x86-linux.cmake
vendored
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_C_COMPILER_ARG1 "-m32")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-m32")
|
||||
18
third_party/aom/build/cmake/toolchains/x86-macos.cmake
vendored
Normal file
18
third_party/aom/build/cmake/toolchains/x86-macos.cmake
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
##
|
||||
## 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.
|
||||
##
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86")
|
||||
set(CMAKE_SYSTEM_NAME "Darwin")
|
||||
set(CMAKE_OSX_ARCHITECTURES "i386")
|
||||
set(CMAKE_C_COMPILER_ARG1 "-arch i386")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "-arch i386")
|
||||
|
||||
# Apple tools always complain in 32 bit mode without PIC.
|
||||
set(CONFIG_PIC 1 CACHE STRING "")
|
||||
24
third_party/aom/build/cmake/toolchains/x86_64-ios-simulator.cmake
vendored
Normal file
24
third_party/aom/build/cmake/toolchains/x86_64-ios-simulator.cmake
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
##
|
||||
## 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_X86_64_IOS_SIMULATOR_CMAKE_)
|
||||
set(AOM_BUILD_CMAKE_TOOLCHAINS_X86_64_IOS_SIMULATOR_CMAKE_ 1)
|
||||
|
||||
if (XCODE)
|
||||
# TODO(tomfinegan): Handle ios sim builds in Xcode.
|
||||
message(FATAL_ERROR "This toolchain does not support Xcode.")
|
||||
endif ()
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
set(CMAKE_OSX_ARCHITECTURES "x86_64")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/ios-simulator-common.cmake")
|
||||
|
||||
endif () # AOM_BUILD_CMAKE_TOOLCHAINS_X86_64_IOS_SIMULATOR_CMAKE_
|
||||
Loading…
Add table
Add a link
Reference in a new issue