fi
}
+check_gcc_avx512_compiles() {
+ if disabled gcc; then
+ return
+ fi
+
+ check_cc -mavx512f <<EOF
+#include <immintrin.h>
+void f(void) {
+ __m512i x = _mm512_set1_epi16(0);
+ (void)x;
+}
+EOF
+ compile_result=$?
+ if [ ${compile_result} -ne 0 ]; then
+ log_echo " disabling avx512: not supported by compiler"
+ disable_feature avx512
+ RTCD_OPTIONS="${RTCD_OPTIONS}--disable-avx512 "
+ fi
+}
+
write_common_config_banner() {
print_webm_license config.mk "##" ""
echo '# This file automatically generated by configure. Do not edit!' >> config.mk
*sparc*)
tgt_isa=sparc
;;
- power*64*-*)
- tgt_isa=ppc64
- ;;
- power*)
- tgt_isa=ppc
+ power*64le*-*)
+ tgt_isa=ppc64le
;;
*mips64el*)
tgt_isa=mips64
IOS_VERSION_MIN="8.0"
else
IOS_VERSION_OPTIONS=""
- IOS_VERSION_MIN="6.0"
+ IOS_VERSION_MIN="7.0"
fi
# Handle darwin variants. Newer SDKs allow targeting older
esac
if enabled msa; then
+ # TODO(libyuv:793)
+ # The new mips functions in libyuv do not build
+ # with the toolchains we currently use for testing.
+ soft_disable libyuv
+
add_cflags -mmsa
add_asflags -mmsa
add_ldflags -mmsa
check_add_asflags -march=${tgt_isa}
check_add_asflags -KPIC
;;
- ppc*)
+ ppc64le*)
link_with_cc=gcc
setup_gnu_toolchain
check_gcc_machine_option "vsx"
else
if [ "$ext" = "avx512" ]; then
check_gcc_machine_options $ext avx512f avx512cd avx512bw avx512dq avx512vl
+ check_gcc_avx512_compiles
else
# use the shortened version for the flag: sse4_1 -> sse4
check_gcc_machine_option ${ext%_*} $ext
# bionic includes basic pthread functionality, obviating -lpthread.
;;
*)
- check_lib -lpthread <<EOF && enable_feature pthread_h && add_extralibs -lpthread
+ check_header pthread.h && check_lib -lpthread <<EOF && add_extralibs -lpthread || disable_feature pthread_h
#include <pthread.h>
#include <stddef.h>
int main(void) { return pthread_create(NULL, NULL, NULL, NULL); }