Files
oasis-linux-mirror/pkg/mc/gen.lua
2018-08-27 17:20:15 -07:00

98 lines
1.7 KiB
Lua

cflags{
'-I $outdir',
'-I $srcdir',
'-I $srcdir/mi',
'-I $srcdir/parse',
'-I $srcdir/util',
}
yacc('gram', '$srcdir/parse/gram.y')
build('copy', '$outdir/gram.h', '$outdir/gram.tab.h')
lib('libparse.a', [[
$outdir/gram.tab.c
parse/(
dump.c
err.c
export.c
fold.c
infer.c
names.c
node.c
specialize.c
stab.c
tok.c
type.c
use.c
)
]], {'$outdir/gram.h'})
lib('libmi.a', 'mi/(cfg.c flatten.c dfcheck.c match.c reaching.c)')
lib('libutil.a', 'util/(alloc.c bitset.c htab.c pack.c util.c)')
exe('bin/6m', [[
6/(
blob.c
gen.c
gengas.c
genp9.c
isel.c
locs.c
main.c
ra.c
peep.c
simp.c
typeinfo.c
)
libmi.a libparse.a libutil.a
]])
file('bin/6m', '755', '$outdir/bin/6m')
exe('bin/muse', {'muse/muse.c', 'libparse.a', 'libutil.a'})
file('bin/muse', '755', '$outdir/bin/muse')
build('cat', '$outdir/_myrrt.s', {
'$srcdir/rt/start-linux.s',
'$srcdir/rt/common.s',
'$srcdir/rt/abort-linux.s',
})
build('as', '$outdir/_myrrt.o', '$outdir/_myrrt.s')
file('lib/myr/_myrrt.o', '644', '$outdir/_myrrt.o')
set('mcflags', {
'-I $outdir/lib/sys',
'-I $outdir/lib/std',
'-I $outdir/lib/bio',
'-I $outdir/lib/iter',
'-I $outdir/lib/regex',
'-I $outdir/lib/thread',
})
include '$dir/myr.ninja'
local libs = {
'bio',
'crypto',
'date',
'escfmt',
'fileutil',
'flate',
'http',
'inifile',
'iter',
'json',
'math',
'regex',
'std',
'sys',
'testr',
'thread',
}
for _, lib in ipairs(libs) do
file('lib/myr/lib'..lib..'.use', '644', '$outdir/lib/'..lib..'/lib'..lib..'.use')
file('lib/myr/lib'..lib..'.a', '644', '$outdir/lib/'..lib..'/lib'..lib..'.a')
end
file('bin/mbld', '755', '$outdir/mbld/mbld')
man{'doc/6m.1', 'doc/muse.1', 'mbld/mbld.1'}
fetch 'git'