platform_build_blueprint/build.ninja.in
Jamie Gennis cbc6f86e34 Fix a re-bootstrapping issue.
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
2014-06-06 14:41:07 -07:00

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}