7330a23887
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
183 lines
7.3 KiB
Text
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}
|
|
|