logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 08cca5431f4183d54505ce89f2cac4815fdce7b5
parent f0f72311369f081643a6cab775b168f1f8222345
Author: Michael Forney <mforney@mforney.org>
Date:   Wed, 29 Jan 2020 16:37:52 -0800

Move toolchain config into config.lua

Diffstat:

Mconfig.def.lua3+--
Mgen.lua10+---------
Mninja.lua14++++++++++----
Mpkg/awk/gen.lua2+-
Mpkg/e2fsprogs/gen.lua2+-
Mpkg/efivar/gen.lua2+-
Mpkg/fribidi/gen.lua2+-
Mpkg/mpv/gen.lua2+-
Mpkg/mupdf/gen.lua2+-
Mpkg/ncurses/gen.lua2+-
Mpkg/netsurf/gen.lua2+-
Mpkg/netsurf/libcss/gen.lua2+-
Mpkg/openssh/gen.lua4++--
Mpkg/perp/gen.lua2+-
Mpkg/strace/gen.lua2+-
Mpkg/swc/gen.lua2+-
Mpkg/syslinux/gen.lua2+-
Dtoolchain/aarch64-linux-musl.ninja6------
Dtoolchain/default.ninja6------
Dtoolchain/x86_64-linux-musl.ninja6------
20 files changed, 27 insertions(+), 48 deletions(-)

diff --git a/config.def.lua b/config.def.lua @@ -14,7 +14,7 @@ return { -- target toolchain and flags target={ - toolchain='x86_64-linux-musl', + platform='x86_64-linux-musl', cflags='-O2 -pipe -fpie', ldflags='-s -static -pie', pie=true @@ -22,7 +22,6 @@ return { -- host toolchain and flags host={ - toolchain='default', cflags='-pipe', ldflags='', }, diff --git a/gen.lua b/gen.lua @@ -5,14 +5,6 @@ set('builddir', config.builddir) set('dir', '$basedir') set('outdir', '$builddir') -set('target_toolchain', config.target.toolchain) -set('target_cflags', config.target.cflags) -set('target_ldflags', config.target.ldflags) - -set('host_toolchain', config.host.toolchain) -set('host_cflags', config.host.cflags) -set('host_ldflags', config.host.ldflags) - set('repo', config.repo.path) set('repo_flags', config.repo.flags) set('repo_tag', config.repo.tag) @@ -20,7 +12,7 @@ set('repo_branch', config.repo.branch) include '$basedir/rules.ninja' -toolchain 'target' +toolchain(config.target) subgen 'probe' subgen 'pkg' diff --git a/ninja.lua b/ninja.lua @@ -228,10 +228,16 @@ function sub(name, fn) subninja(name) end -function toolchain(name) - set('cflags', '$'..name..'_cflags') - set('ldflags', '$'..name..'_ldflags') - include('$basedir/toolchain/$'..name..'_toolchain.ninja') +function toolchain(tc) + set('ar', tc.ar or (tc.platform and tc.platform..'-ar') or 'ar') + set('as', tc.as or (tc.platform and tc.platform..'-as') or 'as') + set('cc', tc.cc or (tc.platform and tc.platform..'-cc') or 'cc') + set('ld', tc.ld or (tc.platform and tc.platform..'-ld') or 'ld') + set('objcopy', tc.objcopy or (tc.platform and tc.platform..'-objcopy') or 'objcopy') + set('mc', tc.mc or 'false') + + set('cflags', tc.cflags) + set('ldflags', tc.ldflags) end function phony(name, inputs) diff --git a/pkg/awk/gen.lua b/pkg/awk/gen.lua @@ -11,7 +11,7 @@ build('copy', '$outdir/ytab.h', '$outdir/gram.tab.h') pkg.deps = {'$outdir/ytab.h'} sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{'-I $outdir'} exe('maketab', {'maketab.c'}) end) diff --git a/pkg/e2fsprogs/gen.lua b/pkg/e2fsprogs/gen.lua @@ -58,7 +58,7 @@ build('copy', '$outdir/include/ext2fs/ext2_types.h', '$dir/ext2_types.h') build('copy', '$outdir/internal/blkid/blkid_types.h', '$dir/blkid_types.h') sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) exe('gen_crc32ctable', {'lib/ext2fs/gen_crc32ctable.c'}) end) rule('gen_crc32ctable', '$outdir/gen_crc32ctable >$out') diff --git a/pkg/efivar/gen.lua b/pkg/efivar/gen.lua @@ -11,7 +11,7 @@ cflags{ } sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{ '-std=c99', '-D _GNU_SOURCE', diff --git a/pkg/fribidi/gen.lua b/pkg/fribidi/gen.lua @@ -7,7 +7,7 @@ cflags{ } sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{ '-D HAVE_STRINGIZE', '-D DONT_HAVE_FRIBIDI_CONFIG_H', diff --git a/pkg/mpv/gen.lua b/pkg/mpv/gen.lua @@ -3,7 +3,7 @@ build('awk', '$outdir/version.h', {'$srcdir/VERSION', '|', '$dir/version.awk'}, }) sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) set('srcdir', '$dir') exe('file2string', {'file2string.c'}) end) diff --git a/pkg/mupdf/gen.lua b/pkg/mupdf/gen.lua @@ -24,7 +24,7 @@ cflags{ } sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{'-Wall'} exe('hexdump', {'scripts/hexdump.c'}) end) diff --git a/pkg/ncurses/gen.lua b/pkg/ncurses/gen.lua @@ -10,7 +10,7 @@ set('common_cflags', { cflags{'$common_cflags'} sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{'$common_cflags', '-D USE_BUILD_CC'} exe('make_keys', {'ncurses/tinfo/make_keys.c'}, {'$gendir/headers', '$outdir/names.c'}) exe('make_hash', {'ncurses/tinfo/make_hash.c'}, {'$gendir/headers', '$outdir/hashsize.h'}) diff --git a/pkg/netsurf/gen.lua b/pkg/netsurf/gen.lua @@ -11,7 +11,7 @@ subgen 'libsvgtiny' subgen 'libwapcaplet' sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) exe('convert_image', {'frontends/framebuffer/convert_image.c'}, {'pkg/libpng/headers'}, { ldlibs='-lpng -lz', }) diff --git a/pkg/netsurf/libcss/gen.lua b/pkg/netsurf/libcss/gen.lua @@ -7,7 +7,7 @@ cflags{ } sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) exe('gen_prop_parser', {'src/parse/properties/css_property_parser_gen.c'}) end) diff --git a/pkg/openssh/gen.lua b/pkg/openssh/gen.lua @@ -1,4 +1,4 @@ -local arch = config.target.toolchain:match('[^-]*') +local arch = config.target.platform:match('[^-]*') local archflags = { x86_64='-D SANDBOX_SECCOMP_FILTER=1 -D SECCOMP_AUDIT_ARCH=AUDIT_ARCH_X86_64', aarch64='-D SANDBOX_SECCOMP_FILTER=1 -D SECCOMP_AUDIT_ARCH=AUDIT_ARCH_AARCH64', @@ -6,7 +6,7 @@ local archflags = { cflags{ '-D _XOPEN_SOURCE=600', '-D _DEFAULT_SOURCE', - archflags[config.target.toolchain:match('[^-]*')] or '-D SANDBOX_RLIMIT=1', + archflags[arch] or '-D SANDBOX_RLIMIT=1', '-I $dir', '-I $srcdir', '-I $basedir/pkg/openbsd/include', diff --git a/pkg/perp/gen.lua b/pkg/perp/gen.lua @@ -4,7 +4,7 @@ cflags{ } sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) exe('mk_outvec', {'lasagna/outvec/mk_outvec.c'}) exe('mk_rlimit', {'lasagna/rlimit/mk_rlimit.c'}) exe('mksysstr', {'lasagna/sysstr/mksysstr.c'}) diff --git a/pkg/strace/gen.lua b/pkg/strace/gen.lua @@ -18,7 +18,7 @@ build('sed', '$outdir/ioctl_iocdef.h', '$outdir/ioctl_iocdef.i', { }) sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{ '-D X86_64=1', '-I $srcdir/linux/x86_64', diff --git a/pkg/swc/gen.lua b/pkg/swc/gen.lua @@ -39,7 +39,7 @@ pkg.hdrs = { copy('$outdir', '$builddir/pkg/wld/protocol', {'wayland-drm-server-protocol.h'}) sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{'-std=c99', '-D _POSIX_C_SOURCE=200809L'} exe('convert_font', {'cursor/convert_font.c'}) end) diff --git a/pkg/syslinux/gen.lua b/pkg/syslinux/gen.lua @@ -14,7 +14,7 @@ build('awk', '$outdir/version.h', {'$srcdir/version', '|', '$dir/version.awk'}, }) sub('tools.ninja', function() - toolchain 'host' + toolchain(config.host) cflags{'-std=c99', '-pedantic', '-Wall', '-Wextra'} set('srcdir', '$dir') exe('bin2c', {'bin2c.c'}) diff --git a/toolchain/aarch64-linux-musl.ninja b/toolchain/aarch64-linux-musl.ninja @@ -1,6 +0,0 @@ -ar = aarch64-linux-musl-ar -as = aarch64-linux-musl-as -cc = aarch64-linux-musl-cc -ld = aarch64-linux-musl-ld -mc = false -objcopy = aarch64-linux-musl-objcopy diff --git a/toolchain/default.ninja b/toolchain/default.ninja @@ -1,6 +0,0 @@ -ar = ar -as = as -cc = cc -ld = ld -mc = 6m -objcopy = objcopy diff --git a/toolchain/x86_64-linux-musl.ninja b/toolchain/x86_64-linux-musl.ninja @@ -1,6 +0,0 @@ -ar = x86_64-linux-musl-ar -as = x86_64-linux-musl-as -cc = x86_64-linux-musl-cc -ld = x86_64-linux-musl-ld -mc = 6m -objcopy = x86_64-linux-musl-objcopy