summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.ninja14
-rw-r--r--gen.rc2
-rw-r--r--ninja.rc7
-rw-r--r--pkg/awk/gen.rc2
-rw-r--r--pkg/e2fsprogs/gen.rc2
-rw-r--r--pkg/efivar/gen.rc2
-rw-r--r--pkg/mpv/gen.rc2
-rw-r--r--pkg/ncurses/gen.rc2
-rw-r--r--pkg/perp/gen.rc2
-rw-r--r--pkg/swc/gen.rc2
-rw-r--r--toolchain/default.ninja4
11 files changed, 25 insertions, 16 deletions
diff --git a/build.ninja b/build.ninja
index 03dc41f0..45790701 100644
--- a/build.ninja
+++ b/build.ninja
@@ -1,7 +1,14 @@
builddir = out
-toolchain = default
-host_toolchain = default
+target_toolchain = default
+target_cflags = -O2 -pipe
+target_cxxflags = $cflags
+target_ldflags = -s -static
+
+host_toolchain = $target_toolchain
+host_cflags = $target_cflags
+host_cxxflags = $target_cxxflags
+host_ldflags = $target_ldflags
lex = lex
perl = perl
@@ -15,9 +22,6 @@ repo_branch = master
include config.ninja
include rules.ninja
-
-include toolchain/$toolchain.ninja
-
include local.ninja
build build.ninja: phony ninja
diff --git a/gen.rc b/gen.rc
index ba02c2c8..9312ac05 100644
--- a/gen.rc
+++ b/gen.rc
@@ -1,3 +1,5 @@
+toolchain target
+
subgen pkg
subgen util
diff --git a/ninja.rc b/ninja.rc
index d9a049f2..7e9278ec 100644
--- a/ninja.rc
+++ b/ninja.rc
@@ -43,6 +43,13 @@ fn build {
# higher-level rules
+fn toolchain {
+ set cflags '$'$1^_cflags
+ set cxxflags '$'$1^_cxxflags
+ set ldflags '$'$1^_ldflags
+ include 'toolchain/$'$1'_toolchain.ninja'
+}
+
fn phony {
name=$1 {
shift
diff --git a/pkg/awk/gen.rc b/pkg/awk/gen.rc
index 9d9b3a2e..21468882 100644
--- a/pkg/awk/gen.rc
+++ b/pkg/awk/gen.rc
@@ -8,7 +8,7 @@ yacc gram '$srcdir'/awkgram.y
build '$outdir'/ytab.h copy '$outdir'/gram.tab.h
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain host
cflags -I '$outdir'
exe maketab -d '$outdir'/ytab.h maketab.c
} >tools.ninja ; subninja tools.ninja
diff --git a/pkg/e2fsprogs/gen.rc b/pkg/e2fsprogs/gen.rc
index 21b56b42..15cf40c7 100644
--- a/pkg/e2fsprogs/gen.rc
+++ b/pkg/e2fsprogs/gen.rc
@@ -44,7 +44,7 @@ build '$outdir'/include/uuid/uuid.h copy '$srcdir'/lib/uuid/uuid.h.in
build '$outdir'/internal/blkid/blkid_types.h copy '$dir'/blkid_types.h
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain host
exe gen_crc32ctable lib/ext2fs/gen_crc32ctable.c
} >tools.ninja ; subninja tools.ninja
rule gen_crc32ctable '$outdir/gen_crc32ctable >$out.tmp && mv $out.tmp $out'
diff --git a/pkg/efivar/gen.rc b/pkg/efivar/gen.rc
index 48295319..110ab115 100644
--- a/pkg/efivar/gen.rc
+++ b/pkg/efivar/gen.rc
@@ -8,7 +8,7 @@ cflags\
-I '$srcdir'/src/include/efivar
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain host
cflags\
-D EFIVAR_BUILD_ENVIRONMENT\
-I '$srcdir'/src/include/efivar
diff --git a/pkg/mpv/gen.rc b/pkg/mpv/gen.rc
index 751a0fad..6c939975 100644
--- a/pkg/mpv/gen.rc
+++ b/pkg/mpv/gen.rc
@@ -33,7 +33,7 @@ rule versionhdr 'sh $srcdir/version.sh --cwd=$srcdir --versionh=$out'
build '$outdir'/version.h versionhdr '|' '$srcdir'/version.sh
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain host
set srcdir '$dir'
exe file2string file2string.c
} >tools.ninja ; subninja tools.ninja
diff --git a/pkg/ncurses/gen.rc b/pkg/ncurses/gen.rc
index f8e7dea6..2b72ef68 100644
--- a/pkg/ncurses/gen.rc
+++ b/pkg/ncurses/gen.rc
@@ -10,7 +10,7 @@ set common_cflags\
cflags '$common_cflags'
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain host
cflags '$common_cflags' -D USE_BUILD_CC
exe make_keys -d '$outdir/names.c $outdir/include/curses.h $outdir/include/ncurses_dll.h' ncurses/tinfo/make_keys.c
exe make_hash -d '$outdir/hashsize.h $outdir/include/curses.h' ncurses/tinfo/make_hash.c
diff --git a/pkg/perp/gen.rc b/pkg/perp/gen.rc
index 870d8432..f58e904d 100644
--- a/pkg/perp/gen.rc
+++ b/pkg/perp/gen.rc
@@ -3,7 +3,7 @@ cflags\
-I '$outdir'
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain 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/swc/gen.rc b/pkg/swc/gen.rc
index 8ec3f494..ca580ebc 100644
--- a/pkg/swc/gen.rc
+++ b/pkg/swc/gen.rc
@@ -26,7 +26,7 @@ phony headers '$outdir'/include/^(swc.h swc-^(client server)^-protocol.h)
build '$outdir'/wayland-drm-server-protocol.h copy '$builddir'/pkg/wld/protocol/wayland-drm-server-protocol.h
{
- include 'toolchain/$host_toolchain.ninja'
+ toolchain host
exe convert_font cursor/convert_font.c
} >tools.ninja
subninja '$dir'/tools.ninja
diff --git a/toolchain/default.ninja b/toolchain/default.ninja
index a990a1ce..7118c79c 100644
--- a/toolchain/default.ninja
+++ b/toolchain/default.ninja
@@ -2,7 +2,3 @@ ar = ar
as = as
cc = cc
cxx = c++
-
-cflags = -O2 -pipe
-cxxflags = $cflags
-ldflags = -static -s