]> git.sesse.net Git - vlc/blobdiff - configure.ac
compat: implement tdestroy (GNU extension not available on OpenBSD).
[vlc] / configure.ac
index ddea7da09cc77f934257502790403a42af753a28..e24c595fb4cd247fef5aa976d6eb052172fd5733 100644 (file)
@@ -582,7 +582,7 @@ need_libc=false
 dnl Check for usual libc functions
 AC_CHECK_FUNCS([gettimeofday isatty sigrelse getpwuid_r memalign posix_memalign if_nametoindex getenv putenv setenv ctime_r daemon fork lstat posix_fadvise posix_madvise uselocale])
 AC_CHECK_FUNCS(fcntl)
-AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll vasprintf swab])
+AC_REPLACE_FUNCS([asprintf atof atoll getcwd getpid gmtime_r lldiv localtime_r rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll vasprintf swab tdestroy])
 AC_CHECK_FUNCS([stricmp strnicmp])
 AC_CHECK_FUNCS(fdatasync,,
   [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
@@ -1472,38 +1472,51 @@ AS_IF([test "${enable_sse}" != "no"], [
   # SSE3
   AC_CACHE_CHECK([if $CC groks SSE3 inline assembly],
     [ac_cv_sse3_inline],
-    [CFLAGS="${CFLAGS_save} -O -msse3"
+    [CFLAGS="${CFLAGS_save}"
      AC_TRY_COMPILE(,[void *p;asm volatile("movsldup %%xmm1,%%xmm0"::"r"(p));],
-                    ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)
-     ARCH="${ARCH} sse3"
-  ])
+                    ac_cv_sse3_inline=yes, ac_cv_sse3_inline=no)])
   AS_IF([test "${ac_cv_sse3_inline}" != "no"], [
     AC_DEFINE(CAN_COMPILE_SSE3, 1,
               [Define to 1 if SSE3 inline assembly is available.]) ])
   # SSSE3
   AC_CACHE_CHECK([if $CC groks SSSE3 inline assembly],
     [ac_cv_ssse3_inline],
-    [CFLAGS="${CFLAGS_save} -O -mssse3"
+    [CFLAGS="${CFLAGS_save}"
      AC_TRY_COMPILE(,[void *p;asm volatile("pabsw %%xmm0,%%xmm0"::"r"(p));],
-                    ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)
-     ARCH="${ARCH} ssse3"
-  ])
-
+                    ac_cv_ssse3_inline=yes, ac_cv_ssse3_inline=no)])
   AS_IF([test "${ac_cv_ssse3_inline}" != "no"], [
     AC_DEFINE(CAN_COMPILE_SSSE3, 1,
               [Define to 1 if SSSE3 inline assembly is available.]) ])
 
-  # SSE4
-  AC_CACHE_CHECK([if $CC groks SSE4 inline assembly],
-    [ac_cv_sse4_inline],
-    [CFLAGS="${CFLAGS_save} -O -msse4"
+  # SSE4.1
+  AC_CACHE_CHECK([if $CC groks SSE4.1 inline assembly],
+    [ac_cv_sse4_1_inline],
+    [CFLAGS="${CFLAGS_save}"
      AC_TRY_COMPILE(,[void *p;asm volatile("pmaxsb %%xmm1,%%xmm0"::"r"(p));],
-                    ac_cv_sse4_inline=yes, ac_cv_sse4_inline=no)
-     ARCH="${ARCH} sse4"
-  ])
-  AS_IF([test "${ac_cv_sse4_inline}" != "no"], [
-    AC_DEFINE(CAN_COMPILE_SSE4, 1,
-              [Define to 1 if SSE4 inline assembly is available.]) ])
+                    ac_cv_sse4_1_inline=yes, ac_cv_sse4_1_inline=no)])
+  AS_IF([test "${ac_cv_sse4_1_inline}" != "no"], [
+    AC_DEFINE(CAN_COMPILE_SSE4_1, 1,
+              [Define to 1 if SSE4_1 inline assembly is available.]) ])
+
+  # SSE4.2
+  AC_CACHE_CHECK([if $CC groks SSE4.2 inline assembly],
+    [ac_cv_sse4_2_inline],
+    [CFLAGS="${CFLAGS_save}"
+     AC_TRY_COMPILE(,[void *p;asm volatile("pcmpgtq %%xmm1,%%xmm0"::"r"(p));],
+                    ac_cv_sse4_2_inline=yes, ac_cv_sse4_2_inline=no)])
+  AS_IF([test "${ac_cv_sse4_2_inline}" != "no"], [
+    AC_DEFINE(CAN_COMPILE_SSE4_2, 1,
+              [Define to 1 if SSE4_2 inline assembly is available.]) ])
+
+  # SSE4A
+  AC_CACHE_CHECK([if $CC groks SSE4A inline assembly],
+    [ac_cv_sse4a_inline],
+    [CFLAGS="${CFLAGS_save}"
+     AC_TRY_COMPILE(,[void *p;asm volatile("insertq %%xmm1,%%xmm0"::"r"(p));],
+                    ac_cv_sse4a_inline=yes, ac_cv_sse4a_inline=no)])
+  AS_IF([test "${ac_cv_sse4a_inline}" != "no"], [
+    AC_DEFINE(CAN_COMPILE_SSE4A, 1,
+              [Define to 1 if SSE4A inline assembly is available.]) ])
 ])
 
 AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly],
@@ -5323,13 +5336,15 @@ chmod 0755 vlc-config
 /bin/echo -n "Enabled modules: "
 ./vlc-config --list plugin
 
+dnl Do we have to use make or gmake ?
+USE_MAKE_OR_GMAKE=`case "${SYS}" in openbsd*) echo "gmake";; *) echo "make";; esac`
 dnl Shortcut to nice compile message
 rm -f compile
 echo '#! /bin/sh' >compile
 echo rm -f .error\$\$ >>compile
 echo ERROR=0 >>compile
 echo export PATH=$PATH LANG=C >>compile
-echo "(make V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
+echo "($USE_MAKE_OR_GMAKE V=1 \$@ 2>&1 || touch .error\$\$)| \\" >>compile
 echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile
 echo test -f .error\$\$ \&\& ERROR=1 >>compile
 echo rm -f .error\$\$ >>compile
@@ -5357,7 +5372,7 @@ fi
 echo "plugins/bindings      :${PLUGINS_BINDINGS}
 
 You can tune the compiler flags in vlc-config.
-To build vlc and its plugins, type \`./compile' or \`make'.
+To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'.
 "
 if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
    echo ""