platform_build_blueprint/build.ninja.in
Jamie Gennis 7330a23887 Clean up the bootstrap script a little.
This change makes the bootstrap script take two optional flag-based command
line arguments rather than using positional arguments.  The -i argument
replaces the old positional arguments (one of which was simply not needed), and
the -r flag now causes the script to regenerate the bootstrap Ninja file for
use when working on Blueprint itself.

Additionally this change allows all the configuration variables used in the
script to be overridden by environment variables.  This makes it possible to
create a very simple bootstrap script for a customized Blueprint-based build
system by invoking this script after setting up the proper environment
variables.

Change-Id: I60f890061ae237a68719e1e2d345d1a8e87c851c
2014-06-18 12:57:56 -07:00

183 lines
7.3 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} -i ${in}
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-bootstrap
# Type: bootstrap_go_package
# GoType: blueprint/bootstrap.goPackageModule
# Defined: Blueprints:30: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 $
.bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a
pkgPath = blueprint/bootstrap
incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-pathtools/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: 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-pathtools
# Type: bootstrap_go_package
# GoType: blueprint/bootstrap.goPackageModule
# Defined: Blueprints:24:1
build .bootstrap/blueprint-pathtools/obj/_go_.${g.bootstrap.GoChar}: $
g.bootstrap.gc ${g.bootstrap.SrcDir}/blueprint/pathtools/lists.go
pkgPath = blueprint/pathtools
build .bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a: $
g.bootstrap.pack $
.bootstrap/blueprint-pathtools/obj/_go_.${g.bootstrap.GoChar}
prefix = .bootstrap/blueprint-pathtools/pkg
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: minibp
# Type: bootstrap_go_binary
# GoType: blueprint/bootstrap.goBinaryModule
# Defined: Blueprints:41: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-pathtools/pkg/blueprint/pathtools.a $
.bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a
pkgPath = minibp
incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-pathtools/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-pathtools/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/main.ninja.in.d -o ${out} ${in}
depfile = .bootstrap/main.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/main.ninja.in: s.bootstrap.bigbp $
${g.bootstrap.SrcDir}/Blueprints | .bootstrap/bin/minibp
build .bootstrap/notAFile: phony
build build.ninja: g.bootstrap.bootstrap .bootstrap/main.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}