diff options
| -rw-r--r-- | build.ninja | 14 | ||||
| -rw-r--r-- | gen.rc | 2 | ||||
| -rw-r--r-- | ninja.rc | 7 | ||||
| -rw-r--r-- | pkg/awk/gen.rc | 2 | ||||
| -rw-r--r-- | pkg/e2fsprogs/gen.rc | 2 | ||||
| -rw-r--r-- | pkg/efivar/gen.rc | 2 | ||||
| -rw-r--r-- | pkg/mpv/gen.rc | 2 | ||||
| -rw-r--r-- | pkg/ncurses/gen.rc | 2 | ||||
| -rw-r--r-- | pkg/perp/gen.rc | 2 | ||||
| -rw-r--r-- | pkg/swc/gen.rc | 2 | ||||
| -rw-r--r-- | toolchain/default.ninja | 4 |
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 @@ -1,3 +1,5 @@ +toolchain target + subgen pkg subgen util @@ -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 |
