summaryrefslogtreecommitdiff
path: root/pkg/libffi
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/libffi
parentcb362b531d79708a259bbf070dee5104fd63df08 (diff)
Rewrite ninja generation scripts in Lua
Diffstat (limited to 'pkg/libffi')
-rw-r--r--pkg/libffi/gen.lua30
-rw-r--r--pkg/libffi/gen.rc26
2 files changed, 30 insertions, 26 deletions
diff --git a/pkg/libffi/gen.lua b/pkg/libffi/gen.lua
new file mode 100644
index 00000000..55bdb8a1
--- /dev/null
+++ b/pkg/libffi/gen.lua
@@ -0,0 +1,30 @@
+cflags{
+ '-I include',
+ '-I $dir',
+ '-I $outdir/include',
+ '-I $srcdir/include',
+}
+
+build('sed', '$outdir/include/ffi.h', '$srcdir/include/ffi.h.in', {
+ expr={
+ '-e s,@VERSION@,3.2.1,',
+ '-e s,@TARGET@,X86_64,',
+ '-e s,@HAVE_LONG_DOUBLE@,1,',
+ '-e s,@HAVE_LONG_DOUBLE_VARIANT@,0,',
+ '-e s,@FFI_EXEC_TRAMPOLINE_TABLE@,0,',
+ },
+})
+
+pkg.hdrs = {
+ copy('$outdir/include', '$srcdir/src/x86', {'ffitarget.h'}),
+ '$outdir/include/ffi.h',
+ install=true,
+}
+
+lib('libffi.a', [[src/(
+ prep_cif.c types.c raw_api.c java_raw_api.c closures.c
+ x86/(ffi64.c unix64.S ffi.c sysv.S)
+)]], {'$dir/headers'})
+file('lib/libffi.a', '644', '$outdir/libffi.a')
+
+fetch 'git'
diff --git a/pkg/libffi/gen.rc b/pkg/libffi/gen.rc
deleted file mode 100644
index 3c182720..00000000
--- a/pkg/libffi/gen.rc
+++ /dev/null
@@ -1,26 +0,0 @@
-cflags\
- -I include\
- -I '$dir' \
- -I '$outdir'/include\
- -I '$srcdir'/include
-
-build '$outdir'/include/ffi.h sed '$srcdir'/include/ffi.h.in ; exprs=(\
- -e s,@VERSION@,3.2.1,\
- -e s,@TARGET@,X86_64,\
- -e s,@HAVE_LONG_DOUBLE@,1,\
- -e s,@HAVE_LONG_DOUBLE_VARIANT@,0,\
- -e s,@FFI_EXEC_TRAMPOLINE_TABLE@,0,\
-) with expr $"exprs
-build '$outdir'/include/ffitarget.h copy '$srcdir'/src/x86/ffitarget.h
-
-hdrs=include/^(ffi.h ffitarget.h)
-phony headers '$outdir'/$hdrs
-for(hdr in $hdrs) file $hdr '$outdir'/$hdr 644
-
-lib libffi.a -d '$dir'/headers src/^(\
- prep_cif.c types.c raw_api.c java_raw_api.c closures.c\
- x86/^(ffi64.c unix64.S ffi.c sysv.S)\
-)
-file lib/libffi.a '$outdir'/libffi.a 644
-
-fetch git