mirror of
https://github.com/oasislinux/oasis.git
synced 2026-02-01 11:34:17 +01:00
39 lines
866 B
Lua
39 lines
866 B
Lua
local arch = config.target.platform:match('[^-]*')
|
|
cflags{
|
|
'-Wall', '-Wno-deprecated-declarations',
|
|
'-I $dir',
|
|
'-I $outdir/include',
|
|
'-I $srcdir/include',
|
|
}
|
|
|
|
build('sed', '$outdir/include/ffi.h', '$srcdir/include/ffi.h.in', {
|
|
expr={
|
|
'-e s,@VERSION@,3.3,',
|
|
string.format('-e s,@TARGET@,%s,', arch:upper()),
|
|
'-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_64='x86', aarch64='aarch64'})[arch], {'ffitarget.h'}),
|
|
'$outdir/include/ffi.h',
|
|
install=true,
|
|
}
|
|
|
|
pkg.deps = {
|
|
'$gendir/headers',
|
|
}
|
|
|
|
lib('libffi.a', [[
|
|
src/(
|
|
prep_cif.c types.c raw_api.c java_raw_api.c closures.c
|
|
@aarch64 aarch64/(ffi.c sysv.S)
|
|
@x86_64 x86/(ffi64.c unix64.S ffiw64.c win64.S)
|
|
)
|
|
]])
|
|
file('lib/libffi.a', '644', '$outdir/libffi.a')
|
|
|
|
fetch 'git'
|