mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-27 06:08:21 +01:00
Merge "configure: fix intrinsics build w/older gcc"
This commit is contained in:
commit
66fa598af4
25
configure.ac
25
configure.ac
@ -79,6 +79,28 @@ AS_IF([test "$GCC" = "yes" ], [
|
|||||||
esac
|
esac
|
||||||
AS_IF([test "$gcc_wht_bug" = "yes"], [
|
AS_IF([test "$gcc_wht_bug" = "yes"], [
|
||||||
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-frename-registers])])])
|
TEST_AND_ADD_CFLAGS([AM_CFLAGS], [-frename-registers])])])
|
||||||
|
# Use -flax-vector-conversions, if available, when building intrinsics with
|
||||||
|
# older versions of gcc. The flag appeared in 4.3.x, but if backported, and
|
||||||
|
# -fno-lax-vector-conversions is set, errors may occur with the intrinsics
|
||||||
|
# files along with the older system includes, e.g., emmintrin.h.
|
||||||
|
# Originally observed with cc (GCC) 4.2.1 20070831 patched [FreeBSD] (9.3).
|
||||||
|
# https://bugs.chromium.org/p/webp/issues/detail?id=274
|
||||||
|
AS_IF([test "$GCC" = "yes" ], [
|
||||||
|
case "$host_cpu" in
|
||||||
|
amd64|i?86|x86_64)
|
||||||
|
AC_COMPILE_IFELSE(
|
||||||
|
dnl only check for -flax-vector-conversions with older gcc, skip
|
||||||
|
dnl clang as it reports itself as 4.2.1, but the flag isn't needed.
|
||||||
|
[AC_LANG_SOURCE([#if !defined(__clang__) && defined(__GNUC__) && \
|
||||||
|
((__GNUC__ << 8) | __GNUC_MINOR__) < 0x403
|
||||||
|
#error old gcc
|
||||||
|
#endif
|
||||||
|
int main(void) { return 0; }
|
||||||
|
])],,
|
||||||
|
[TEST_AND_ADD_CFLAGS([INTRINSICS_CFLAGS],
|
||||||
|
[-flax-vector-conversions])])
|
||||||
|
;;
|
||||||
|
esac])
|
||||||
AC_SUBST([AM_CFLAGS])
|
AC_SUBST([AM_CFLAGS])
|
||||||
|
|
||||||
dnl === Check for machine specific flags
|
dnl === Check for machine specific flags
|
||||||
@ -89,6 +111,7 @@ AC_ARG_ENABLE([avx2],
|
|||||||
|
|
||||||
AS_IF([test "x$enable_avx2" != "xno" -a "x$enable_sse4_1" != "xno" \
|
AS_IF([test "x$enable_avx2" != "xno" -a "x$enable_sse4_1" != "xno" \
|
||||||
-a "x$enable_sse2" != "xno"], [
|
-a "x$enable_sse2" != "xno"], [
|
||||||
|
AVX2_CFLAGS="$INTRINSICS_CFLAGS $AVX2_FLAGS"
|
||||||
TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
|
TEST_AND_ADD_CFLAGS([AVX2_FLAGS], [-mavx2])
|
||||||
AS_IF([test -n "$AVX2_FLAGS"], [
|
AS_IF([test -n "$AVX2_FLAGS"], [
|
||||||
SAVED_CFLAGS=$CFLAGS
|
SAVED_CFLAGS=$CFLAGS
|
||||||
@ -112,6 +135,7 @@ AC_ARG_ENABLE([sse4.1],
|
|||||||
@<:@default=auto@:>@]))
|
@<:@default=auto@:>@]))
|
||||||
|
|
||||||
AS_IF([test "x$enable_sse4_1" != "xno" -a "x$enable_sse2" != "xno"], [
|
AS_IF([test "x$enable_sse4_1" != "xno" -a "x$enable_sse2" != "xno"], [
|
||||||
|
SSE41_FLAGS="$INTRINSICS_CFLAGS $SSE41_FLAGS"
|
||||||
TEST_AND_ADD_CFLAGS([SSE41_FLAGS], [-msse4.1])
|
TEST_AND_ADD_CFLAGS([SSE41_FLAGS], [-msse4.1])
|
||||||
AS_IF([test -n "$SSE41_FLAGS"], [
|
AS_IF([test -n "$SSE41_FLAGS"], [
|
||||||
SAVED_CFLAGS=$CFLAGS
|
SAVED_CFLAGS=$CFLAGS
|
||||||
@ -129,6 +153,7 @@ AC_ARG_ENABLE([sse2],
|
|||||||
@<:@default=auto@:>@]))
|
@<:@default=auto@:>@]))
|
||||||
|
|
||||||
AS_IF([test "x$enable_sse2" != "xno"], [
|
AS_IF([test "x$enable_sse2" != "xno"], [
|
||||||
|
SSE2_FLAGS="$INTRINSICS_CFLAGS $SSE2_FLAGS"
|
||||||
TEST_AND_ADD_CFLAGS([SSE2_FLAGS], [-msse2])
|
TEST_AND_ADD_CFLAGS([SSE2_FLAGS], [-msse2])
|
||||||
AS_IF([test -n "$SSE2_FLAGS"], [
|
AS_IF([test -n "$SSE2_FLAGS"], [
|
||||||
SAVED_CFLAGS=$CFLAGS
|
SAVED_CFLAGS=$CFLAGS
|
||||||
|
Loading…
Reference in New Issue
Block a user