summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-08-10 22:36:57 +0000
committerMichael Forney <mforney@mforney.org>2019-08-12 02:24:38 +0000
commit4809f2a72987d2e98e3e17fd723aa69104dc1e2c (patch)
tree0cd60838a255a6669e42e95d1c22de0fa5e12386
parent16e4b11f358512e8c7c7d2e67d0a0853c18f8966 (diff)
libjpeg-turbo: Probe for __builtin_ctzl
-rw-r--r--pkg/libjpeg-turbo/gen.lua15
-rw-r--r--pkg/libjpeg-turbo/jconfigint.h2
-rw-r--r--probe/HAVE___BUILTIN_CTZL4
-rw-r--r--probe/gen.lua1
4 files changed, 21 insertions, 1 deletions
diff --git a/pkg/libjpeg-turbo/gen.lua b/pkg/libjpeg-turbo/gen.lua
index 99667887..9506742d 100644
--- 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
index 4a0a458b..bf131c54 100644
--- 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
new file mode 100644
index 00000000..0a8afd39
--- /dev/null
+++ 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
index 489f6733..082f697e 100644
--- 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})