commit: 4809f2a72987d2e98e3e17fd723aa69104dc1e2c
parent 16e4b11f358512e8c7c7d2e67d0a0853c18f8966
Author: Michael Forney <mforney@mforney.org>
Date: Sat, 10 Aug 2019 22:36:57 +0000
libjpeg-turbo: Probe for __builtin_ctzl
Diffstat:
4 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/pkg/libjpeg-turbo/gen.lua b/pkg/libjpeg-turbo/gen.lua
@@ -1,4 +1,17 @@
-cflags{'-I $dir'}
+cflags{
+ '-I $outdir',
+ '-I $outdir/include',
+}
+
+build('cat', '$outdir/jconfigint.h', {
+ '$builddir/probe/HAVE___BUILTIN_CTZL',
+ '$dir/jconfigint.h',
+})
+
+pkg.deps = {
+ '$dir/headers',
+ '$outdir/jconfigint.h',
+}
lib('libjpeg-turbo.a', [[
jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c
diff --git a/pkg/libjpeg-turbo/jconfigint.h b/pkg/libjpeg-turbo/jconfigint.h
@@ -4,7 +4,9 @@
#define PACKAGE_NAME "libjpeg-turbo"
#define VERSION "2.0.2"
#define SIZEOF_SIZE_T 8
+#ifdef HAVE___BUILTIN_CTZL
#define HAVE_BUILTIN_CTZL
+#endif
/* #undef HAVE_INTRIN_H */
#if defined(_MSC_VER) && defined(HAVE_INTRIN_H)
#if (SIZEOF_SIZE_T == 8)
diff --git a/probe/HAVE___BUILTIN_CTZL b/probe/HAVE___BUILTIN_CTZL
@@ -0,0 +1,4 @@
+unsigned long x = -1;
+int main(void) {
+ return __builtin_ctzl(x);
+}
diff --git a/probe/gen.lua b/probe/gen.lua
@@ -6,6 +6,7 @@ probe('HAVE_IMMINTRIN_H')
probe('HAVE__MM_MOVEMASK_EPI8')
probe('HAVE__THREAD_LOCAL')
probe('HAVE___BUILTIN_CLZ')
+probe('HAVE___BUILTIN_CTZL')
local function probesize(var)
build('probesize', '$outdir/'..var, {'$dir/'..var, '|', 'scripts/probe-size.sh'}, {var=var})