mirror of
https://github.com/oasislinux/oasis.git
synced 2026-05-12 21:34:47 +02:00
8f62705628
This was inherited from when the gen scripts were written in rc and it was too slow to run the whole thing when any individual package changed. This is not an issue in Lua, and switching to a single invocation will allow for future improvements such as relying more on the Lua package system.
50 lines
1.6 KiB
Lua
50 lines
1.6 KiB
Lua
set('ninja_required_version', '1.8')
|
|
|
|
set('basedir', basedir)
|
|
set('builddir', config.builddir)
|
|
set('dir', '$basedir')
|
|
set('outdir', '$builddir')
|
|
|
|
set('repo', config.repo.path)
|
|
set('repo_flags', config.repo.flags)
|
|
set('repo_tag', config.repo.tag)
|
|
set('repo_branch', config.repo.branch)
|
|
|
|
include '$basedir/rules.ninja'
|
|
|
|
toolchain(config.target)
|
|
|
|
subgen 'probe'
|
|
subgen 'pkg'
|
|
|
|
build('awk', '$outdir/root.perms', {'$outdir/tree.fspec', '|', '$basedir/scripts/perms.awk'}, {
|
|
expr='-f $basedir/scripts/perms.awk',
|
|
})
|
|
gitfile('.perms', '644', '$outdir/root.perms')
|
|
|
|
build('git-init', '$outdir/root.stamp')
|
|
build('git-tree', '$outdir/root.tree', {'$outdir/root.index', '|', '$basedir/scripts/tree.sh', '||', '$outdir/root.stamp'})
|
|
build('git-commit', '$outdir/root.commit', {'|', '$outdir/root.tree'})
|
|
build('phony', 'commit', '$builddir/root.commit')
|
|
|
|
build('fspec-sort', '$outdir/root.fspec', {'$outdir/tree.fspec', '|', '$builddir/pkg/fspec-sync/host/fspec-sort'})
|
|
build('fspec-tar', '$outdir/root.tar.zst', {'$outdir/root.fspec', '|', '$builddir/pkg/fspec-sync/host/fspec-tar'})
|
|
|
|
--build('awk', '$outdir/root.sqfslist', {'$outdir/root.fspec', '|', '$basedir/scripts/squashfs.awk'}, {
|
|
-- expr='-f $basedir/scripts/squashfs.awk',
|
|
--})
|
|
--rule('gensquashfs', 'gensquashfs -F $in -D . -f -c gzip $out')
|
|
--build('gensquashfs', '$outdir/root.squashfs', {'$outdir/root.sqfslist'})
|
|
|
|
build('phony', 'build.ninja', 'local.ninja', {generator='1'})
|
|
build('gen', 'local.ninja', {
|
|
'|',
|
|
'$basedir/ninja.lua',
|
|
'$basedir/sets.lua',
|
|
'$basedir/setup.lua',
|
|
'config.lua',
|
|
'$gendir/gen',
|
|
})
|
|
|
|
io.write('default $builddir/root.tree\n')
|