summaryrefslogtreecommitdiff
path: root/pkg/pixman/gen.lua
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2017-09-17 00:03:34 -0700
committerMichael Forney <mforney@mforney.org>2017-09-25 19:23:06 -0700
commitba94a8513d9a0aadb3f2c834c74b64aa644c61e8 (patch)
tree48ac6c85baa7b9d960b9e1e726a906e61ca60967 /pkg/pixman/gen.lua
parentcb362b531d79708a259bbf070dee5104fd63df08 (diff)
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/pixman/gen.lua')
-rw-r--r--pkg/pixman/gen.lua61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkg/pixman/gen.lua b/pkg/pixman/gen.lua
new file mode 100644
index 00000000..53288413
--- /dev/null
+++ b/pkg/pixman/gen.lua
@@ -0,0 +1,61 @@
+cflags{
+ '-D HAVE_CONFIG_H',
+ '-I include',
+ '-I $dir',
+ '-I $outdir/include',
+}
+
+build('sed', '$outdir/include/pixman-version.h', '$srcdir/pixman/pixman-version.h.in', {
+ expr={
+ '-e s,@PIXMAN_VERSION_MAJOR@,0,',
+ '-e s,@PIXMAN_VERSION_MINOR@,34,',
+ '-e s,@PIXMAN_VERSION_MICRO@,0,',
+ },
+})
+pkg.hdrs = {
+ copy('$outdir/include', '$srcdir/pixman', {'pixman.h'}),
+ '$outdir/include/pixman-version.h',
+}
+
+-- processor-specific features
+cflags{'-D USE_SSE2=1', '-D USE_SSSE3=1', '-D USE_X86_MMX=1'}
+cc('pixman/pixman-mmx.c', {'$dir/headers'}, {cflags='$cflags -mmmx -Winline'})
+cc('pixman/pixman-sse2.c', {'$dir/headers'}, {cflags='$cflags -msse2 -Winline'})
+cc('pixman/pixman-ssse3.c', {'$dir/headers'}, {cflags='$cflags -mssse3 -Winline'})
+local cpuobjs = {'pixman-mmx.c.o', 'pixman-sse2.c.o', 'pixman-ssse3.c.o'}
+
+lib('libpixman.a', expand{'pixman/', {
+ 'pixman.c',
+ 'pixman-access.c',
+ 'pixman-access-accessors.c',
+ 'pixman-bits-image.c',
+ 'pixman-combine32.c',
+ 'pixman-combine-float.c',
+ 'pixman-conical-gradient.c',
+ 'pixman-filter.c',
+ 'pixman-x86.c',
+ 'pixman-mips.c',
+ 'pixman-arm.c',
+ 'pixman-ppc.c',
+ 'pixman-edge.c',
+ 'pixman-edge-accessors.c',
+ 'pixman-fast-path.c',
+ 'pixman-glyph.c',
+ 'pixman-general.c',
+ 'pixman-gradient-walker.c',
+ 'pixman-image.c',
+ 'pixman-implementation.c',
+ 'pixman-linear-gradient.c',
+ 'pixman-matrix.c',
+ 'pixman-noop.c',
+ 'pixman-radial-gradient.c',
+ 'pixman-region16.c',
+ 'pixman-region32.c',
+ 'pixman-solid-fill.c',
+ 'pixman-timer.c',
+ 'pixman-trap.c',
+ 'pixman-utils.c',
+ cpuobjs,
+}}, {'$dir/headers'})
+
+fetch 'git'