summaryrefslogtreecommitdiffstats
path: root/configure.ac
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2017-04-30 19:41:56 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2017-05-07 23:11:06 +0700
commit2c3066e5da54659f19799005eddb1d134c6d0166 (patch)
tree15f243c669d85acfec9308c658ae7c2491cdcf31 /configure.ac
parente604ee39cff121fdb2c6946a230bc2374929b35b (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.ac16
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