diff options
author | Dan Willemsen <dwillemsen@google.com> | 2015-06-23 19:46:20 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2015-06-26 11:51:03 -0700 |
commit | e5e20331465457b7708b6590b0c977889d0e7688 (patch) | |
tree | 283ad2d55c8fba58f77c3ab6e0e2f0c1e388f4fd | |
parent | 88b4c29fb318cc0f455d6ebc3fb7865b00353a04 (diff) | |
download | build_soong-e5e20331465457b7708b6590b0c977889d0e7688.tar.gz build_soong-e5e20331465457b7708b6590b0c977889d0e7688.tar.bz2 build_soong-e5e20331465457b7708b6590b0c977889d0e7688.zip |
Build and run tests during bootstrap
Change-Id: If40489d74136af4d15d4ff26210a50975a462497
-rw-r--r-- | Android.bp | 6 | ||||
-rwxr-xr-x | bootstrap.bash | 1 | ||||
-rw-r--r-- | build.ninja.in | 339 |
3 files changed, 298 insertions, 48 deletions
@@ -113,6 +113,9 @@ bootstrap_go_package { "cc/x86_darwin_host.go", "cc/x86_linux_host.go", ], + testSrcs: [ + "cc/cc_test.go", + ], } bootstrap_go_package { @@ -180,6 +183,9 @@ bootstrap_go_package { "androidmk/parser/parser.go", "androidmk/parser/scope.go", ], + testSrcs: [ + "androidmk/parser/make_strings_test.go", + ], } bootstrap_go_binary { diff --git a/bootstrap.bash b/bootstrap.bash index e9a64367..f6056d65 100755 --- a/bootstrap.bash +++ b/bootstrap.bash @@ -4,6 +4,7 @@ export BOOTSTRAP="${BASH_SOURCE[0]}" export SRCDIR=$(dirname "${BASH_SOURCE[0]}") export TOPNAME="Android.bp" export BOOTSTRAP_MANIFEST="${SRCDIR}/build/soong/build.ninja.in" +export RUN_TESTS="-t" case $(uname) in Linux) diff --git a/build.ninja.in b/build.ninja.in index 2af6e08e..330db7b7 100644 --- a/build.ninja.in +++ b/build.ninja.in @@ -25,6 +25,8 @@ g.bootstrap.goChar = @@GoChar@@ g.bootstrap.gcCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.goChar}g +g.bootstrap.goTestMainCmd = .bootstrap/bin/gotestmain + g.bootstrap.linkCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.goChar}l g.bootstrap.srcDir = @@SrcDir@@ @@ -44,16 +46,24 @@ rule g.bootstrap.gc command = GOROOT='${g.bootstrap.goRoot}' ${g.bootstrap.gcCmd} -o ${out} -p ${pkgPath} -complete ${incFlags} -pack ${in} description = ${g.bootstrap.goChar}g ${out} +rule g.bootstrap.gotestmain + command = ${g.bootstrap.goTestMainCmd} -o ${out} -pkg ${pkg} ${in} + description = gotestmain ${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.test + command = (cd ${pkgSrcDir} && $$OLDPWD/${in} -test.short) && touch ${out} + description = test ${pkg} + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Module: androidbp # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule -# Defined: build/soong/Android.bp:185:1 +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/soong/Android.bp:191:1 build .bootstrap/androidbp/obj/androidbp.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/soong/androidbp/cmd/androidbp.go $ @@ -76,8 +86,8 @@ default .bootstrap/bin/androidbp # Module: androidmk # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule -# Defined: build/soong/Android.bp:161:1 +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/soong/Android.bp:164:1 build .bootstrap/androidmk/obj/androidmk.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/soong/androidmk/cmd/androidmk/android.go $ @@ -102,8 +112,43 @@ default .bootstrap/bin/androidmk # Module: androidmk-parser # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/soong/Android.bp:174:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/soong/Android.bp:177:1 + +build .bootstrap/androidmk-parser/test/android/soong/androidmk/parser.a: $ + g.bootstrap.gc $ + ${g.bootstrap.srcDir}/build/soong/androidmk/parser/make_strings.go $ + ${g.bootstrap.srcDir}/build/soong/androidmk/parser/makething.go $ + ${g.bootstrap.srcDir}/build/soong/androidmk/parser/parser.go $ + ${g.bootstrap.srcDir}/build/soong/androidmk/parser/scope.go $ + ${g.bootstrap.srcDir}/build/soong/androidmk/parser/make_strings_test.go $ + | ${g.bootstrap.gcCmd} + pkgPath = android/soong/androidmk/parser +default .bootstrap/androidmk-parser/test/android/soong/androidmk/parser.a + +build .bootstrap/androidmk-parser/test/test.go: g.bootstrap.gotestmain $ + ${g.bootstrap.srcDir}/build/soong/androidmk/parser/make_strings_test.go $ + | ${g.bootstrap.goTestMainCmd} + pkg = android/soong/androidmk/parser +default .bootstrap/androidmk-parser/test/test.go + +build .bootstrap/androidmk-parser/test/test.a: g.bootstrap.gc $ + .bootstrap/androidmk-parser/test/test.go | $ + .bootstrap/androidmk-parser/test/android/soong/androidmk/parser.a + incFlags = -I .bootstrap/androidmk-parser/test + pkgPath = main +default .bootstrap/androidmk-parser/test/test.a + +build .bootstrap/androidmk-parser/test/test: g.bootstrap.link $ + .bootstrap/androidmk-parser/test/test.a | ${g.bootstrap.linkCmd} + libDirFlags = -L .bootstrap/androidmk-parser/test +default .bootstrap/androidmk-parser/test/test + +build .bootstrap/androidmk-parser/test/test.passed: g.bootstrap.test $ + .bootstrap/androidmk-parser/test/test + pkg = android/soong/androidmk/parser + pkgSrcDir = ${g.bootstrap.srcDir}/build/soong/androidmk/parser +default .bootstrap/androidmk-parser/test/test.passed build .bootstrap/androidmk-parser/pkg/android/soong/androidmk/parser.a: $ g.bootstrap.gc $ @@ -111,7 +156,7 @@ build .bootstrap/androidmk-parser/pkg/android/soong/androidmk/parser.a: $ ${g.bootstrap.srcDir}/build/soong/androidmk/parser/makething.go $ ${g.bootstrap.srcDir}/build/soong/androidmk/parser/parser.go $ ${g.bootstrap.srcDir}/build/soong/androidmk/parser/scope.go | $ - ${g.bootstrap.gcCmd} + ${g.bootstrap.gcCmd} || .bootstrap/androidmk-parser/test/test.passed pkgPath = android/soong/androidmk/parser default .bootstrap/androidmk-parser/pkg/android/soong/androidmk/parser.a @@ -119,9 +164,62 @@ default .bootstrap/androidmk-parser/pkg/android/soong/androidmk/parser.a # Module: blueprint # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule +# Factory: github.com/google/blueprint/bootstrap.func·002 # Defined: build/blueprint/Blueprints:1:1 +build .bootstrap/blueprint/test/github.com/google/blueprint.a: g.bootstrap.gc $ + ${g.bootstrap.srcDir}/build/blueprint/context.go $ + ${g.bootstrap.srcDir}/build/blueprint/live_tracker.go $ + ${g.bootstrap.srcDir}/build/blueprint/mangle.go $ + ${g.bootstrap.srcDir}/build/blueprint/module_ctx.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_defs.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_strings.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_writer.go $ + ${g.bootstrap.srcDir}/build/blueprint/package_ctx.go $ + ${g.bootstrap.srcDir}/build/blueprint/scope.go $ + ${g.bootstrap.srcDir}/build/blueprint/singleton_ctx.go $ + ${g.bootstrap.srcDir}/build/blueprint/unpack.go $ + ${g.bootstrap.srcDir}/build/blueprint/context_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_strings_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_writer_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/splice_modules_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/unpack_test.go | $ + ${g.bootstrap.gcCmd} $ + .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $ + .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $ + .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a + incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg + pkgPath = github.com/google/blueprint +default .bootstrap/blueprint/test/github.com/google/blueprint.a + +build .bootstrap/blueprint/test/test.go: g.bootstrap.gotestmain $ + ${g.bootstrap.srcDir}/build/blueprint/context_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_strings_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/ninja_writer_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/splice_modules_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/unpack_test.go | $ + ${g.bootstrap.goTestMainCmd} + pkg = github.com/google/blueprint +default .bootstrap/blueprint/test/test.go + +build .bootstrap/blueprint/test/test.a: g.bootstrap.gc $ + .bootstrap/blueprint/test/test.go | $ + .bootstrap/blueprint/test/github.com/google/blueprint.a + incFlags = -I .bootstrap/blueprint/test + pkgPath = main +default .bootstrap/blueprint/test/test.a + +build .bootstrap/blueprint/test/test: g.bootstrap.link $ + .bootstrap/blueprint/test/test.a | ${g.bootstrap.linkCmd} + libDirFlags = -L .bootstrap/blueprint/test -L .bootstrap/blueprint-parser/pkg -L .bootstrap/blueprint-pathtools/pkg -L .bootstrap/blueprint-proptools/pkg +default .bootstrap/blueprint/test/test + +build .bootstrap/blueprint/test/test.passed: g.bootstrap.test $ + .bootstrap/blueprint/test/test + pkg = github.com/google/blueprint + pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint +default .bootstrap/blueprint/test/test.passed + build .bootstrap/blueprint/pkg/github.com/google/blueprint.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/blueprint/context.go $ ${g.bootstrap.srcDir}/build/blueprint/live_tracker.go $ @@ -136,7 +234,8 @@ build .bootstrap/blueprint/pkg/github.com/google/blueprint.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/blueprint/unpack.go | ${g.bootstrap.gcCmd} $ .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $ .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $ - .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a + .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $ + || .bootstrap/blueprint/test/test.passed incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg pkgPath = github.com/google/blueprint default .bootstrap/blueprint/pkg/github.com/google/blueprint.a @@ -145,8 +244,8 @@ default .bootstrap/blueprint/pkg/github.com/google/blueprint.a # Module: blueprint-bootstrap # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/blueprint/Blueprints:56:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/blueprint/Blueprints:70:1 build $ .bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a $ @@ -171,8 +270,8 @@ default $ # Module: blueprint-deptools # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/blueprint/Blueprints:35:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/blueprint/Blueprints:46:1 build .bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $ : g.bootstrap.gc $ @@ -186,15 +285,51 @@ default $ # Module: blueprint-parser # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/blueprint/Blueprints:24:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/blueprint/Blueprints:31:1 + +build .bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a: $ + g.bootstrap.gc ${g.bootstrap.srcDir}/build/blueprint/parser/modify.go $ + ${g.bootstrap.srcDir}/build/blueprint/parser/parser.go $ + ${g.bootstrap.srcDir}/build/blueprint/parser/printer.go $ + ${g.bootstrap.srcDir}/build/blueprint/parser/sort.go $ + ${g.bootstrap.srcDir}/build/blueprint/parser/parser_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/parser/printer_test.go | $ + ${g.bootstrap.gcCmd} + pkgPath = github.com/google/blueprint/parser +default .bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a + +build .bootstrap/blueprint-parser/test/test.go: g.bootstrap.gotestmain $ + ${g.bootstrap.srcDir}/build/blueprint/parser/parser_test.go $ + ${g.bootstrap.srcDir}/build/blueprint/parser/printer_test.go | $ + ${g.bootstrap.goTestMainCmd} + pkg = github.com/google/blueprint/parser +default .bootstrap/blueprint-parser/test/test.go + +build .bootstrap/blueprint-parser/test/test.a: g.bootstrap.gc $ + .bootstrap/blueprint-parser/test/test.go | $ + .bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a + incFlags = -I .bootstrap/blueprint-parser/test + pkgPath = main +default .bootstrap/blueprint-parser/test/test.a + +build .bootstrap/blueprint-parser/test/test: g.bootstrap.link $ + .bootstrap/blueprint-parser/test/test.a | ${g.bootstrap.linkCmd} + libDirFlags = -L .bootstrap/blueprint-parser/test +default .bootstrap/blueprint-parser/test/test + +build .bootstrap/blueprint-parser/test/test.passed: g.bootstrap.test $ + .bootstrap/blueprint-parser/test/test + pkg = github.com/google/blueprint/parser + pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint/parser +default .bootstrap/blueprint-parser/test/test.passed build .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a: $ g.bootstrap.gc ${g.bootstrap.srcDir}/build/blueprint/parser/modify.go $ ${g.bootstrap.srcDir}/build/blueprint/parser/parser.go $ ${g.bootstrap.srcDir}/build/blueprint/parser/printer.go $ ${g.bootstrap.srcDir}/build/blueprint/parser/sort.go | $ - ${g.bootstrap.gcCmd} + ${g.bootstrap.gcCmd} || .bootstrap/blueprint-parser/test/test.passed pkgPath = github.com/google/blueprint/parser default .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a @@ -202,15 +337,51 @@ default .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a # Module: blueprint-pathtools # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/blueprint/Blueprints:41:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/blueprint/Blueprints:52:1 + +build $ + .bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a $ + : g.bootstrap.gc $ + ${g.bootstrap.srcDir}/build/blueprint/pathtools/lists.go $ + ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob.go $ + ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob_test.go | $ + ${g.bootstrap.gcCmd} + pkgPath = github.com/google/blueprint/pathtools +default $ + .bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a + +build .bootstrap/blueprint-pathtools/test/test.go: g.bootstrap.gotestmain $ + ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob_test.go | $ + ${g.bootstrap.goTestMainCmd} + pkg = github.com/google/blueprint/pathtools +default .bootstrap/blueprint-pathtools/test/test.go + +build .bootstrap/blueprint-pathtools/test/test.a: g.bootstrap.gc $ + .bootstrap/blueprint-pathtools/test/test.go | $ + .bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a + incFlags = -I .bootstrap/blueprint-pathtools/test + pkgPath = main +default .bootstrap/blueprint-pathtools/test/test.a + +build .bootstrap/blueprint-pathtools/test/test: g.bootstrap.link $ + .bootstrap/blueprint-pathtools/test/test.a | ${g.bootstrap.linkCmd} + libDirFlags = -L .bootstrap/blueprint-pathtools/test +default .bootstrap/blueprint-pathtools/test/test + +build .bootstrap/blueprint-pathtools/test/test.passed: g.bootstrap.test $ + .bootstrap/blueprint-pathtools/test/test + pkg = github.com/google/blueprint/pathtools + pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint/pathtools +default .bootstrap/blueprint-pathtools/test/test.passed build $ .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $ : g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/blueprint/pathtools/lists.go $ ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob.go | $ - ${g.bootstrap.gcCmd} + ${g.bootstrap.gcCmd} || $ + .bootstrap/blueprint-pathtools/test/test.passed pkgPath = github.com/google/blueprint/pathtools default $ .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a @@ -219,8 +390,8 @@ default $ # Module: blueprint-proptools # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/blueprint/Blueprints:50:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/blueprint/Blueprints:64:1 build $ .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $ @@ -235,8 +406,8 @@ default $ # Module: bpfmt # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule -# Defined: build/blueprint/Blueprints:82:1 +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/blueprint/Blueprints:96:1 build .bootstrap/bpfmt/obj/bpfmt.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/blueprint/bpfmt/bpfmt.go | $ @@ -258,8 +429,8 @@ default .bootstrap/bin/bpfmt # Module: bpmodify # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule -# Defined: build/blueprint/Blueprints:88:1 +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/blueprint/Blueprints:102:1 build .bootstrap/bpmodify/obj/bpmodify.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/blueprint/bpmodify/bpmodify.go | $ @@ -278,11 +449,31 @@ build .bootstrap/bin/bpmodify: g.bootstrap.cp .bootstrap/bpmodify/obj/a.out default .bootstrap/bin/bpmodify # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # +# Module: gotestmain +# Variant: +# Type: bootstrap_go_binary +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/blueprint/Blueprints:108:1 + +build .bootstrap/gotestmain/obj/gotestmain.a: g.bootstrap.gc $ + ${g.bootstrap.srcDir}/build/blueprint/gotestmain/gotestmain.go | $ + ${g.bootstrap.gcCmd} + pkgPath = gotestmain +default .bootstrap/gotestmain/obj/gotestmain.a + +build .bootstrap/gotestmain/obj/a.out: g.bootstrap.link $ + .bootstrap/gotestmain/obj/gotestmain.a | ${g.bootstrap.linkCmd} +default .bootstrap/gotestmain/obj/a.out +build .bootstrap/bin/gotestmain: g.bootstrap.cp $ + .bootstrap/gotestmain/obj/a.out +default .bootstrap/bin/gotestmain + +# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Module: minibp # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule -# Defined: build/blueprint/Blueprints:73:1 +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/blueprint/Blueprints:87:1 build .bootstrap/minibp/obj/minibp.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/blueprint/bootstrap/minibp/main.go | $ @@ -309,7 +500,7 @@ default .bootstrap/bin/minibp # Module: soong-art # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule +# Factory: github.com/google/blueprint/bootstrap.func·002 # Defined: art/build/Android.bp:13:1 build .bootstrap/soong-art/pkg/android/soong/art.a: g.bootstrap.gc $ @@ -333,9 +524,59 @@ default .bootstrap/soong-art/pkg/android/soong/art.a # Module: soong-cc # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule +# Factory: github.com/google/blueprint/bootstrap.func·002 # Defined: build/soong/Android.bp:93:1 +build .bootstrap/soong-cc/test/android/soong/cc.a: g.bootstrap.gc $ + ${g.bootstrap.srcDir}/build/soong/cc/builder.go $ + ${g.bootstrap.srcDir}/build/soong/cc/cc.go $ + ${g.bootstrap.srcDir}/build/soong/cc/clang.go $ + ${g.bootstrap.srcDir}/build/soong/cc/gen.go $ + ${g.bootstrap.srcDir}/build/soong/cc/toolchain.go $ + ${g.bootstrap.srcDir}/build/soong/cc/util.go $ + ${g.bootstrap.srcDir}/build/soong/cc/arm_device.go $ + ${g.bootstrap.srcDir}/build/soong/cc/arm64_device.go $ + ${g.bootstrap.srcDir}/build/soong/cc/x86_darwin_host.go $ + ${g.bootstrap.srcDir}/build/soong/cc/x86_linux_host.go $ + ${g.bootstrap.srcDir}/build/soong/cc/cc_test.go | ${g.bootstrap.gcCmd} $ + .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $ + .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $ + .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $ + .bootstrap/blueprint/pkg/github.com/google/blueprint.a $ + .bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $ + .bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a $ + .bootstrap/soong-env/pkg/android/soong/env.a $ + .bootstrap/soong-glob/pkg/android/soong/glob.a $ + .bootstrap/soong-common/pkg/android/soong/common.a $ + .bootstrap/soong-genrule/pkg/android/soong/genrule.a + incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-bootstrap/pkg -I .bootstrap/soong-env/pkg -I .bootstrap/soong-glob/pkg -I .bootstrap/soong-common/pkg -I .bootstrap/soong-genrule/pkg + pkgPath = android/soong/cc +default .bootstrap/soong-cc/test/android/soong/cc.a + +build .bootstrap/soong-cc/test/test.go: g.bootstrap.gotestmain $ + ${g.bootstrap.srcDir}/build/soong/cc/cc_test.go | $ + ${g.bootstrap.goTestMainCmd} + pkg = android/soong/cc +default .bootstrap/soong-cc/test/test.go + +build .bootstrap/soong-cc/test/test.a: g.bootstrap.gc $ + .bootstrap/soong-cc/test/test.go | $ + .bootstrap/soong-cc/test/android/soong/cc.a + incFlags = -I .bootstrap/soong-cc/test + pkgPath = main +default .bootstrap/soong-cc/test/test.a + +build .bootstrap/soong-cc/test/test: g.bootstrap.link $ + .bootstrap/soong-cc/test/test.a | ${g.bootstrap.linkCmd} + libDirFlags = -L .bootstrap/soong-cc/test -L .bootstrap/blueprint-parser/pkg -L .bootstrap/blueprint-pathtools/pkg -L .bootstrap/blueprint-proptools/pkg -L .bootstrap/blueprint/pkg -L .bootstrap/blueprint-deptools/pkg -L .bootstrap/blueprint-bootstrap/pkg -L .bootstrap/soong-env/pkg -L .bootstrap/soong-glob/pkg -L .bootstrap/soong-common/pkg -L .bootstrap/soong-genrule/pkg +default .bootstrap/soong-cc/test/test + +build .bootstrap/soong-cc/test/test.passed: g.bootstrap.test $ + .bootstrap/soong-cc/test/test + pkg = android/soong/cc + pkgSrcDir = ${g.bootstrap.srcDir}/build/soong/cc +default .bootstrap/soong-cc/test/test.passed + build .bootstrap/soong-cc/pkg/android/soong/cc.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/soong/cc/builder.go $ ${g.bootstrap.srcDir}/build/soong/cc/cc.go $ @@ -357,7 +598,8 @@ build .bootstrap/soong-cc/pkg/android/soong/cc.a: g.bootstrap.gc $ .bootstrap/soong-env/pkg/android/soong/env.a $ .bootstrap/soong-glob/pkg/android/soong/glob.a $ .bootstrap/soong-common/pkg/android/soong/common.a $ - .bootstrap/soong-genrule/pkg/android/soong/genrule.a + .bootstrap/soong-genrule/pkg/android/soong/genrule.a || $ + .bootstrap/soong-cc/test/test.passed incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-bootstrap/pkg -I .bootstrap/soong-env/pkg -I .bootstrap/soong-glob/pkg -I .bootstrap/soong-common/pkg -I .bootstrap/soong-genrule/pkg pkgPath = android/soong/cc default .bootstrap/soong-cc/pkg/android/soong/cc.a @@ -366,7 +608,7 @@ default .bootstrap/soong-cc/pkg/android/soong/cc.a # Module: soong-common # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule +# Factory: github.com/google/blueprint/bootstrap.func·002 # Defined: build/soong/Android.bp:72:1 build .bootstrap/soong-common/pkg/android/soong/common.a: g.bootstrap.gc $ @@ -395,7 +637,7 @@ default .bootstrap/soong-common/pkg/android/soong/common.a # Module: soong-env # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule +# Factory: github.com/google/blueprint/bootstrap.func·002 # Defined: build/soong/Android.bp:41:1 build .bootstrap/soong-env/pkg/android/soong/env.a: g.bootstrap.gc $ @@ -407,8 +649,8 @@ default .bootstrap/soong-env/pkg/android/soong/env.a # Module: soong-genrule # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/soong/Android.bp:118:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/soong/Android.bp:121:1 build .bootstrap/soong-genrule/pkg/android/soong/genrule.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/soong/genrule/genrule.go | $ @@ -430,7 +672,7 @@ default .bootstrap/soong-genrule/pkg/android/soong/genrule.a # Module: soong-glob # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule +# Factory: github.com/google/blueprint/bootstrap.func·002 # Defined: build/soong/Android.bp:60:1 build .bootstrap/soong-glob/pkg/android/soong/glob.a: g.bootstrap.gc $ @@ -445,8 +687,8 @@ default .bootstrap/soong-glob/pkg/android/soong/glob.a # Module: soong-java # Variant: # Type: bootstrap_go_package -# Factory: github.com/google/blueprint/bootstrap.newGoPackageModule -# Defined: build/soong/Android.bp:138:1 +# Factory: github.com/google/blueprint/bootstrap.func·002 +# Defined: build/soong/Android.bp:141:1 build .bootstrap/soong-java/pkg/android/soong/java.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/soong/java/app_builder.go $ @@ -474,7 +716,7 @@ default .bootstrap/soong-java/pkg/android/soong/java.a # Module: soong_build # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule +# Factory: github.com/google/blueprint/bootstrap.func·003 # Defined: build/soong/Android.bp:13:1 build .bootstrap/soong_build/obj/soong_build.a: g.bootstrap.gc $ @@ -510,7 +752,7 @@ default .bootstrap/bin/soong_build # Module: soong_env # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule +# Factory: github.com/google/blueprint/bootstrap.func·003 # Defined: build/soong/Android.bp:31:1 build .bootstrap/soong_env/obj/soong_env.a: g.bootstrap.gc $ @@ -532,7 +774,7 @@ default .bootstrap/bin/soong_env # Module: soong_glob # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule +# Factory: github.com/google/blueprint/bootstrap.func·003 # Defined: build/soong/Android.bp:50:1 build .bootstrap/soong_glob/obj/soong_glob.a: g.bootstrap.gc $ @@ -558,8 +800,8 @@ default .bootstrap/bin/soong_glob # Module: soong_jar # Variant: # Type: bootstrap_go_binary -# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModule -# Defined: build/soong/Android.bp:131:1 +# Factory: github.com/google/blueprint/bootstrap.func·003 +# Defined: build/soong/Android.bp:134:1 build .bootstrap/soong_jar/obj/soong_jar.a: g.bootstrap.gc $ ${g.bootstrap.srcDir}/build/soong/cmd/soong_jar/soong_jar.go | $ @@ -575,15 +817,15 @@ default .bootstrap/bin/soong_jar # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Singleton: bootstrap -# Factory: github.com/google/blueprint/bootstrap.newSingleton +# Factory: github.com/google/blueprint/bootstrap.func·008 rule s.bootstrap.bigbp - command = .bootstrap/bin/soong_build -d .bootstrap/main.ninja.in.d -m ${g.bootstrap.bootstrapManifest} -o ${out} ${in} + command = .bootstrap/bin/soong_build -t -d .bootstrap/main.ninja.in.d -m ${g.bootstrap.bootstrapManifest} -o ${out} ${in} depfile = .bootstrap/main.ninja.in.d description = soong_build ${out} rule s.bootstrap.minibp - command = .bootstrap/bin/minibp -c ${checkFile} -m ${g.bootstrap.bootstrapManifest} -d ${out}.d -o ${out} ${in} + command = .bootstrap/bin/minibp ${runTests} -c ${checkFile} -m ${g.bootstrap.bootstrapManifest} -d ${out}.d -o ${out} ${in} depfile = ${out}.d description = minibp ${out} generator = true @@ -591,9 +833,9 @@ rule s.bootstrap.minibp build .bootstrap/main.ninja.in: s.bootstrap.bigbp $ ${g.bootstrap.srcDir}/Android.bp | .bootstrap/bin/androidbp $ .bootstrap/bin/androidmk .bootstrap/bin/bpfmt .bootstrap/bin/bpmodify $ - .bootstrap/bin/minibp .bootstrap/bin/soong_build $ - .bootstrap/bin/soong_env .bootstrap/bin/soong_glob $ - .bootstrap/bin/soong_jar + .bootstrap/bin/gotestmain .bootstrap/bin/minibp $ + .bootstrap/bin/soong_build .bootstrap/bin/soong_env $ + .bootstrap/bin/soong_glob .bootstrap/bin/soong_jar default .bootstrap/main.ninja.in build .bootstrap/notAFile: phony default .bootstrap/notAFile @@ -604,5 +846,6 @@ default build.ninja build .bootstrap/bootstrap.ninja.in: s.bootstrap.minibp $ ${g.bootstrap.srcDir}/Android.bp | .bootstrap/bin/minibp checkFile = ${g.bootstrap.bootstrapManifest} + runTests = -t default .bootstrap/bootstrap.ninja.in |