cbc6f86e34
This change fixes an issue where the re-bootstrapping process would overwrite a newer bootstrap manifest with one that it generates using its older minibp. It fixes the issue by only generating a new bootstrap manifest right after rebuilding minibp (as part of the bootstrap process). It then uses an additional rebootstrap iteration to replace the old bootstrap manifest with the new one. Change-Id: I16bad2f30f6ad7f10da07d77105e8745adec3650
166 lines
6.4 KiB
Text
166 lines
6.4 KiB
Text
# ******************************************************************************
|
|
# *** This file is generated and should not be edited ***
|
|
# ******************************************************************************
|
|
#
|
|
# This file contains variables, rules, and pools with name prefixes indicating
|
|
# they were generated by the following Go packages:
|
|
#
|
|
# bootstrap [from Go package blueprint/bootstrap]
|
|
#
|
|
ninja_required_version = 1.1.0
|
|
|
|
g.bootstrap.Bootstrap = @@Bootstrap@@
|
|
|
|
g.bootstrap.BootstrapManifest = @@BootstrapManifest@@
|
|
|
|
g.bootstrap.GoArch = @@GoArch@@
|
|
|
|
g.bootstrap.GoChar = @@GoChar@@
|
|
|
|
g.bootstrap.GoOS = @@GoOS@@
|
|
|
|
g.bootstrap.GoRoot = @@GoRoot@@
|
|
|
|
g.bootstrap.SrcDir = @@SrcDir@@
|
|
|
|
g.bootstrap.goToolDir = ${g.bootstrap.GoRoot}/pkg/tool/${g.bootstrap.GoOS}_${g.bootstrap.GoArch}
|
|
|
|
g.bootstrap.gcCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.GoChar}g
|
|
|
|
g.bootstrap.linkCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.GoChar}l
|
|
|
|
g.bootstrap.packCmd = ${g.bootstrap.goToolDir}/pack
|
|
|
|
builddir = bootstrap
|
|
|
|
rule g.bootstrap.gc
|
|
command = GOROOT='${g.bootstrap.GoRoot}' ${g.bootstrap.gcCmd} -o ${out} -p ${pkgPath} -complete ${incFlags} ${in}
|
|
description = ${g.bootstrap.GoChar}g ${out}
|
|
|
|
rule g.bootstrap.pack
|
|
command = GOROOT='${g.bootstrap.GoRoot}' ${g.bootstrap.packCmd} grcP ${prefix} ${out} ${in}
|
|
description = pack ${out}
|
|
|
|
rule g.bootstrap.link
|
|
command = GOROOT='${g.bootstrap.GoRoot}' ${g.bootstrap.linkCmd} -o ${out} ${libDirFlags} ${in}
|
|
description = ${g.bootstrap.GoChar}l ${out}
|
|
|
|
rule g.bootstrap.cp
|
|
command = cp ${in} ${out}
|
|
description = cp ${out}
|
|
|
|
rule g.bootstrap.bootstrap
|
|
command = ${g.bootstrap.Bootstrap} ${in} ${g.bootstrap.BootstrapManifest}
|
|
description = bootstrap ${in}
|
|
generator = true
|
|
|
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
# Module: blueprint
|
|
# Type: bootstrap_go_package
|
|
# GoType: blueprint/bootstrap.goPackageModule
|
|
# Defined: Blueprints:1:1
|
|
|
|
build bootstrap/blueprint/obj/_go_.${g.bootstrap.GoChar}: g.bootstrap.gc $
|
|
${g.bootstrap.SrcDir}/blueprint/context.go $
|
|
${g.bootstrap.SrcDir}/blueprint/globals.go $
|
|
${g.bootstrap.SrcDir}/blueprint/live_tracker.go $
|
|
${g.bootstrap.SrcDir}/blueprint/mangle.go $
|
|
${g.bootstrap.SrcDir}/blueprint/module_ctx.go $
|
|
${g.bootstrap.SrcDir}/blueprint/ninja_defs.go $
|
|
${g.bootstrap.SrcDir}/blueprint/ninja_strings.go $
|
|
${g.bootstrap.SrcDir}/blueprint/ninja_writer.go $
|
|
${g.bootstrap.SrcDir}/blueprint/scope.go $
|
|
${g.bootstrap.SrcDir}/blueprint/singleton_ctx.go $
|
|
${g.bootstrap.SrcDir}/blueprint/unpack.go | $
|
|
bootstrap/blueprint-parser/pkg/blueprint/parser.a
|
|
pkgPath = blueprint
|
|
incFlags = -I bootstrap/blueprint-parser/pkg
|
|
|
|
build bootstrap/blueprint/pkg/blueprint.a: g.bootstrap.pack $
|
|
bootstrap/blueprint/obj/_go_.${g.bootstrap.GoChar}
|
|
prefix = bootstrap/blueprint/pkg
|
|
|
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
# Module: blueprint-parser
|
|
# Type: bootstrap_go_package
|
|
# GoType: blueprint/bootstrap.goPackageModule
|
|
# Defined: Blueprints:18:1
|
|
|
|
build bootstrap/blueprint-parser/obj/_go_.${g.bootstrap.GoChar}: $
|
|
g.bootstrap.gc ${g.bootstrap.SrcDir}/blueprint/parser/parser.go
|
|
pkgPath = blueprint/parser
|
|
|
|
build bootstrap/blueprint-parser/pkg/blueprint/parser.a: g.bootstrap.pack $
|
|
bootstrap/blueprint-parser/obj/_go_.${g.bootstrap.GoChar}
|
|
prefix = bootstrap/blueprint-parser/pkg
|
|
|
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
# Module: blueprint-bootstrap
|
|
# Type: bootstrap_go_package
|
|
# GoType: blueprint/bootstrap.goPackageModule
|
|
# Defined: Blueprints:24:1
|
|
|
|
build bootstrap/blueprint-bootstrap/obj/_go_.${g.bootstrap.GoChar}: $
|
|
g.bootstrap.gc ${g.bootstrap.SrcDir}/blueprint/bootstrap/bootstrap.go $
|
|
${g.bootstrap.SrcDir}/blueprint/bootstrap/command.go $
|
|
${g.bootstrap.SrcDir}/blueprint/bootstrap/config.go $
|
|
${g.bootstrap.SrcDir}/blueprint/bootstrap/doc.go | $
|
|
bootstrap/blueprint-parser/pkg/blueprint/parser.a $
|
|
bootstrap/blueprint/pkg/blueprint.a
|
|
pkgPath = blueprint/bootstrap
|
|
incFlags = -I bootstrap/blueprint-parser/pkg -I bootstrap/blueprint/pkg
|
|
|
|
build bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a: $
|
|
g.bootstrap.pack $
|
|
bootstrap/blueprint-bootstrap/obj/_go_.${g.bootstrap.GoChar}
|
|
prefix = bootstrap/blueprint-bootstrap/pkg
|
|
|
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
# Module: minibp
|
|
# Type: bootstrap_go_binary
|
|
# GoType: blueprint/bootstrap.goBinaryModule
|
|
# Defined: Blueprints:34:1
|
|
|
|
build bootstrap/minibp/obj/_go_.${g.bootstrap.GoChar}: g.bootstrap.gc $
|
|
${g.bootstrap.SrcDir}/blueprint/bootstrap/minibp/main.go | $
|
|
bootstrap/blueprint-parser/pkg/blueprint/parser.a $
|
|
bootstrap/blueprint/pkg/blueprint.a $
|
|
bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a
|
|
pkgPath = minibp
|
|
incFlags = -I bootstrap/blueprint-parser/pkg -I bootstrap/blueprint/pkg -I bootstrap/blueprint-bootstrap/pkg
|
|
|
|
build bootstrap/minibp/obj/minibp.a: g.bootstrap.pack $
|
|
bootstrap/minibp/obj/_go_.${g.bootstrap.GoChar}
|
|
prefix = bootstrap/minibp/obj
|
|
|
|
build bootstrap/minibp/obj/a.out: g.bootstrap.link $
|
|
bootstrap/minibp/obj/minibp.a
|
|
libDirFlags = -L bootstrap/blueprint-parser/pkg -L bootstrap/blueprint/pkg -L bootstrap/blueprint-bootstrap/pkg
|
|
|
|
build bootstrap/bin/minibp: g.bootstrap.cp bootstrap/minibp/obj/a.out
|
|
|
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
|
# Singleton: bootstrap
|
|
# GoType: blueprint/bootstrap.singleton
|
|
|
|
rule s.bootstrap.bigbp
|
|
command = bootstrap/bin/minibp -p -d bootstrap/build.ninja.in.d -o ${out} ${in}
|
|
depfile = bootstrap/build.ninja.in.d
|
|
description = minibp ${out}
|
|
|
|
rule s.bootstrap.minibp
|
|
command = bootstrap/bin/minibp -c ${checkFile} -d ${out}.d -o ${out} ${in}
|
|
depfile = ${out}.d
|
|
description = minibp ${out}
|
|
generator = true
|
|
|
|
build bootstrap/build.ninja.in: s.bootstrap.bigbp $
|
|
${g.bootstrap.SrcDir}/Blueprints | bootstrap/bin/minibp
|
|
build bootstrap/notAFile: phony
|
|
build build.ninja: g.bootstrap.bootstrap bootstrap/build.ninja.in | $
|
|
${g.bootstrap.Bootstrap} bootstrap/notAFile $
|
|
bootstrap/bootstrap.ninja.in
|
|
build bootstrap/bootstrap.ninja.in: s.bootstrap.minibp $
|
|
${g.bootstrap.SrcDir}/Blueprints | bootstrap/bin/minibp
|
|
checkFile = ${g.bootstrap.BootstrapManifest}
|
|
|