diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2017-04-30 19:41:56 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2017-05-07 23:11:06 +0700 |
commit | 2c3066e5da54659f19799005eddb1d134c6d0166 (patch) | |
tree | 15f243c669d85acfec9308c658ae7c2491cdcf31 /configure.ac | |
parent | e604ee39cff121fdb2c6946a230bc2374929b35b (diff) |
configure.ac: add SIMD detection capabilities
This change adds a check whether compiler supports some SIMD
(Single Instruction, Multiple Data) instructions. It is enabled
by default, and can be disabled by configure option --disable-simd.
The check macro is based on the AX_EXT from autoconf-archive:
www.gnu.org/software/autoconf-archive/ax_ext.html
And depends on the ax_check_compile_flag macro:
www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
Currently only the following SIMD extensions are being checked:
AVX2, SSE3, SSE4.1, but adding others is also possible. All found
extensions are being defined in the 'config.h' header.
Change-Id: Idf8fff984bd936a75c7c307338df88ba4b005817
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index a18197d7..672a6dff 100644 --- a/configure.ac +++ b/configure.ac @@ -226,6 +226,22 @@ then CPPFLAGS+=" -fsanitize=address -fsanitize=undefined" fi +AC_ARG_ENABLE(simd, + [AS_HELP_STRING( + [--disable-simd], + [Disable SIMD support] + )], + [simd=$enableval], [simd="yes"]) +if test x"$simd" = x"yes" +then + # Find and define supported SIMD extensions + AX_CHECK_SIMD +else + AM_CONDITIONAL(HAVE_AVX2, false) + AM_CONDITIONAL(HAVE_SSE3, false) + AM_CONDITIONAL(HAVE_SSE4_1, false) +fi + AC_OUTPUT( libosmocore.pc libosmocodec.pc |