summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2020-01-29 16:37:52 -0800
committerMichael Forney <mforney@mforney.org>2020-01-29 22:14:33 -0800
commit08cca5431f4183d54505ce89f2cac4815fdce7b5 (patch)
tree95e8e6f3bc2255c1c9d20306789e817723c884d2
parentf0f72311369f081643a6cab775b168f1f8222345 (diff)
Move toolchain config into config.lua
-rw-r--r--config.def.lua3
-rw-r--r--gen.lua10
-rw-r--r--ninja.lua14
-rw-r--r--pkg/awk/gen.lua2
-rw-r--r--pkg/e2fsprogs/gen.lua2
-rw-r--r--pkg/efivar/gen.lua2
-rw-r--r--pkg/fribidi/gen.lua2
-rw-r--r--pkg/mpv/gen.lua2
-rw-r--r--pkg/mupdf/gen.lua2
-rw-r--r--pkg/ncurses/gen.lua2
-rw-r--r--pkg/netsurf/gen.lua2
-rw-r--r--pkg/netsurf/libcss/gen.lua2
-rw-r--r--pkg/openssh/gen.lua4
-rw-r--r--pkg/perp/gen.lua2
-rw-r--r--pkg/strace/gen.lua2
-rw-r--r--pkg/swc/gen.lua2
-rw-r--r--pkg/syslinux/gen.lua2
-rw-r--r--toolchain/aarch64-linux-musl.ninja6
-rw-r--r--toolchain/default.ninja6
-rw-r--r--toolchain/x86_64-linux-musl.ninja6
20 files changed, 27 insertions, 48 deletions
diff --git a/config.def.lua b/config.def.lua
index e05277e4..feb7be5c 100644
--- 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
index 30a3cb52..96ab1359 100644
--- 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
index 920f7974..79ff3f1b 100644
--- 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
index ea9f374d..59e08d4f 100644
--- 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
index 691bade9..ce67aec2 100644
--- 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
index 8026a6ef..e08ce7da 100644
--- 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
index 492437d1..037576db 100644
--- 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
index 24b69317..863c3c50 100644
--- 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
index b16cb00c..ee1cc9a0 100644
--- 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
index 27513a33..8bb204a6 100644
--- 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
index 3c09326c..c06adf81 100644
--- 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
index 80fb7062..c2c8c97a 100644
--- 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
index 9c456ae6..1b648b58 100644
--- 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
index cfb09fc2..cb64c3fb 100644
--- 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
index d376e3fc..a3540455 100644
--- 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
index 6713d852..425950c2 100644
--- 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
index 8ffc5627..ff92c27e 100644
--- 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
deleted file mode 100644
index 05837734..00000000
--- a/toolchain/aarch64-linux-musl.ninja
+++ /dev/null
@@ -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
deleted file mode 100644
index de74ba8a..00000000
--- a/toolchain/default.ninja
+++ /dev/null
@@ -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
deleted file mode 100644
index a1ebe9ef..00000000
--- a/toolchain/x86_64-linux-musl.ninja
+++ /dev/null
@@ -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