aboutsummaryrefslogtreecommitdiffstats
path: root/build.ninja.in
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2015-01-30 17:27:36 -0800
committerColin Cross <ccross@android.com>2015-03-13 20:28:16 -0700
commit3f40fa460d85b10646d383a3b6b01ea6d569b01b (patch)
tree542d913a3f0f818042b503948869818a77e99ebc /build.ninja.in
parente441b9df9a68595d0dd7b8ed184aecb27c86054b (diff)
downloadbuild_soong-3f40fa460d85b10646d383a3b6b01ea6d569b01b.tar.gz
build_soong-3f40fa460d85b10646d383a3b6b01ea6d569b01b.tar.bz2
build_soong-3f40fa460d85b10646d383a3b6b01ea6d569b01b.zip
Add soong_build primary builder
Initial build logic for building android with soong. It can build a variety of C and C++ files for arm/arm64 and host. Change-Id: I10eb37c2c2a50be6af1bb5fd568c0962b9476bf0
Diffstat (limited to 'build.ninja.in')
-rw-r--r--build.ninja.in165
1 files changed, 162 insertions, 3 deletions
diff --git a/build.ninja.in b/build.ninja.in
index d5b0a7c3..aa03b753 100644
--- a/build.ninja.in
+++ b/build.ninja.in
@@ -50,6 +50,7 @@ rule g.bootstrap.link
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint
+# Variant:
# Type: bootstrap_go_package
# Factory: blueprint/bootstrap.newGoPackageModule
# Defined: build/blueprint/Blueprints:1:1
@@ -74,6 +75,7 @@ default .bootstrap/blueprint/pkg/blueprint.a
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-bootstrap
+# Variant:
# Type: bootstrap_go_package
# Factory: blueprint/bootstrap.newGoPackageModule
# Defined: build/blueprint/Blueprints:55:1
@@ -96,6 +98,7 @@ default .bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-deptools
+# Variant:
# Type: bootstrap_go_package
# Factory: blueprint/bootstrap.newGoPackageModule
# Defined: build/blueprint/Blueprints:34:1
@@ -108,6 +111,7 @@ default .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-parser
+# Variant:
# Type: bootstrap_go_package
# Factory: blueprint/bootstrap.newGoPackageModule
# Defined: build/blueprint/Blueprints:23:1
@@ -123,6 +127,7 @@ default .bootstrap/blueprint-parser/pkg/blueprint/parser.a
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-pathtools
+# Variant:
# Type: bootstrap_go_package
# Factory: blueprint/bootstrap.newGoPackageModule
# Defined: build/blueprint/Blueprints:40:1
@@ -136,6 +141,7 @@ default .bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-proptools
+# Variant:
# Type: bootstrap_go_package
# Factory: blueprint/bootstrap.newGoPackageModule
# Defined: build/blueprint/Blueprints:49:1
@@ -148,6 +154,7 @@ default .bootstrap/blueprint-proptools/pkg/blueprint/proptools.a
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: bpfmt
+# Variant:
# Type: bootstrap_go_binary
# Factory: blueprint/bootstrap.newGoBinaryModule
# Defined: build/blueprint/Blueprints:81:1
@@ -170,6 +177,7 @@ default .bootstrap/bin/bpfmt
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: bpmodify
+# Variant:
# Type: bootstrap_go_binary
# Factory: blueprint/bootstrap.newGoBinaryModule
# Defined: build/blueprint/Blueprints:87:1
@@ -192,6 +200,7 @@ default .bootstrap/bin/bpmodify
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: minibp
+# Variant:
# Type: bootstrap_go_binary
# Factory: blueprint/bootstrap.newGoBinaryModule
# Defined: build/blueprint/Blueprints:72:1
@@ -218,13 +227,162 @@ build .bootstrap/bin/minibp: g.bootstrap.cp .bootstrap/minibp/obj/a.out
default .bootstrap/bin/minibp
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Module: soong-cc
+# Variant:
+# Type: bootstrap_go_package
+# Factory: blueprint/bootstrap.newGoPackageModule
+# Defined: build/soong/Blueprints:79:1
+
+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 $
+ ${g.bootstrap.srcDir}/build/soong/cc/clang.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_linux_host.go | $
+ ${g.bootstrap.gcCmd} $
+ .bootstrap/blueprint-parser/pkg/blueprint/parser.a $
+ .bootstrap/blueprint-proptools/pkg/blueprint/proptools.a $
+ .bootstrap/blueprint/pkg/blueprint.a $
+ .bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a $
+ .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a $
+ .bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a $
+ .bootstrap/soong-glob/pkg/android/soong/glob.a $
+ .bootstrap/soong-common/pkg/android/soong/common.a $
+ .bootstrap/soong-config/pkg/android/soong/config.a
+ incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-bootstrap/pkg -I .bootstrap/soong-glob/pkg -I .bootstrap/soong-common/pkg -I .bootstrap/soong-config/pkg
+ pkgPath = android/soong/cc
+default .bootstrap/soong-cc/pkg/android/soong/cc.a
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Module: soong-common
+# Variant:
+# Type: bootstrap_go_package
+# Factory: blueprint/bootstrap.newGoPackageModule
+# Defined: build/soong/Blueprints:49:1
+
+build .bootstrap/soong-common/pkg/android/soong/common.a: g.bootstrap.gc $
+ ${g.bootstrap.srcDir}/build/soong/common/arch.go $
+ ${g.bootstrap.srcDir}/build/soong/common/defs.go $
+ ${g.bootstrap.srcDir}/build/soong/common/glob.go $
+ ${g.bootstrap.srcDir}/build/soong/common/module.go $
+ ${g.bootstrap.srcDir}/build/soong/common/paths.go | $
+ ${g.bootstrap.gcCmd} $
+ .bootstrap/blueprint-parser/pkg/blueprint/parser.a $
+ .bootstrap/blueprint-proptools/pkg/blueprint/proptools.a $
+ .bootstrap/blueprint/pkg/blueprint.a $
+ .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a $
+ .bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a $
+ .bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a $
+ .bootstrap/soong-glob/pkg/android/soong/glob.a
+ incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-bootstrap/pkg -I .bootstrap/soong-glob/pkg
+ pkgPath = android/soong/common
+default .bootstrap/soong-common/pkg/android/soong/common.a
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Module: soong-config
+# Variant:
+# Type: bootstrap_go_package
+# Factory: blueprint/bootstrap.newGoPackageModule
+# Defined: build/soong/Blueprints:66:1
+
+build .bootstrap/soong-config/pkg/android/soong/config.a: g.bootstrap.gc $
+ ${g.bootstrap.srcDir}/build/soong/config/config.go | $
+ ${g.bootstrap.gcCmd} $
+ .bootstrap/blueprint-parser/pkg/blueprint/parser.a $
+ .bootstrap/blueprint-proptools/pkg/blueprint/proptools.a $
+ .bootstrap/blueprint/pkg/blueprint.a $
+ .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a $
+ .bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a $
+ .bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a $
+ .bootstrap/soong-glob/pkg/android/soong/glob.a $
+ .bootstrap/soong-common/pkg/android/soong/common.a
+ incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-bootstrap/pkg -I .bootstrap/soong-glob/pkg -I .bootstrap/soong-common/pkg
+ pkgPath = android/soong/config
+default .bootstrap/soong-config/pkg/android/soong/config.a
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Module: soong-glob
+# Variant:
+# Type: bootstrap_go_package
+# Factory: blueprint/bootstrap.newGoPackageModule
+# Defined: build/soong/Blueprints:38:1
+
+build .bootstrap/soong-glob/pkg/android/soong/glob.a: g.bootstrap.gc $
+ ${g.bootstrap.srcDir}/build/soong/glob/glob.go | ${g.bootstrap.gcCmd} $
+ .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a
+ incFlags = -I .bootstrap/blueprint-deptools/pkg
+ pkgPath = android/soong/glob
+default .bootstrap/soong-glob/pkg/android/soong/glob.a
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Module: soong_build
+# Variant:
+# Type: bootstrap_go_binary
+# Factory: blueprint/bootstrap.newGoBinaryModule
+# Defined: build/soong/Blueprints:13:1
+
+build .bootstrap/soong_build/obj/soong_build.a: g.bootstrap.gc $
+ ${g.bootstrap.srcDir}/build/soong/cmd/soong_build/main.go | $
+ ${g.bootstrap.gcCmd} $
+ .bootstrap/blueprint-parser/pkg/blueprint/parser.a $
+ .bootstrap/blueprint-proptools/pkg/blueprint/proptools.a $
+ .bootstrap/blueprint/pkg/blueprint.a $
+ .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a $
+ .bootstrap/blueprint-pathtools/pkg/blueprint/pathtools.a $
+ .bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a $
+ .bootstrap/soong-glob/pkg/android/soong/glob.a $
+ .bootstrap/soong-common/pkg/android/soong/common.a $
+ .bootstrap/soong-config/pkg/android/soong/config.a $
+ .bootstrap/soong-cc/pkg/android/soong/cc.a
+ incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-bootstrap/pkg -I .bootstrap/soong-glob/pkg -I .bootstrap/soong-common/pkg -I .bootstrap/soong-config/pkg -I .bootstrap/soong-cc/pkg
+ pkgPath = soong_build
+default .bootstrap/soong_build/obj/soong_build.a
+
+build .bootstrap/soong_build/obj/a.out: g.bootstrap.link $
+ .bootstrap/soong_build/obj/soong_build.a | ${g.bootstrap.linkCmd}
+ libDirFlags = -L .bootstrap/blueprint-parser/pkg -L .bootstrap/blueprint-proptools/pkg -L .bootstrap/blueprint/pkg -L .bootstrap/blueprint-deptools/pkg -L .bootstrap/blueprint-pathtools/pkg -L .bootstrap/blueprint-bootstrap/pkg -L .bootstrap/soong-glob/pkg -L .bootstrap/soong-common/pkg -L .bootstrap/soong-config/pkg -L .bootstrap/soong-cc/pkg
+default .bootstrap/soong_build/obj/a.out
+
+build .bootstrap/bin/soong_build: g.bootstrap.cp $
+ .bootstrap/soong_build/obj/a.out
+default .bootstrap/bin/soong_build
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# Module: soong_glob
+# Variant:
+# Type: bootstrap_go_binary
+# Factory: blueprint/bootstrap.newGoBinaryModule
+# Defined: build/soong/Blueprints:28:1
+
+build .bootstrap/soong_glob/obj/soong_glob.a: g.bootstrap.gc $
+ ${g.bootstrap.srcDir}/build/soong/cmd/soong_glob/soong_glob.go | $
+ ${g.bootstrap.gcCmd} $
+ .bootstrap/blueprint-deptools/pkg/blueprint/deptools.a $
+ .bootstrap/soong-glob/pkg/android/soong/glob.a
+ incFlags = -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/soong-glob/pkg
+ pkgPath = soong_glob
+default .bootstrap/soong_glob/obj/soong_glob.a
+
+build .bootstrap/soong_glob/obj/a.out: g.bootstrap.link $
+ .bootstrap/soong_glob/obj/soong_glob.a | ${g.bootstrap.linkCmd}
+ libDirFlags = -L .bootstrap/blueprint-deptools/pkg -L .bootstrap/soong-glob/pkg
+default .bootstrap/soong_glob/obj/a.out
+
+build .bootstrap/bin/soong_glob: g.bootstrap.cp $
+ .bootstrap/soong_glob/obj/a.out
+default .bootstrap/bin/soong_glob
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Singleton: bootstrap
# Factory: blueprint/bootstrap.newSingleton
rule s.bootstrap.bigbp
- command = .bootstrap/bin/minibp -p -d .bootstrap/main.ninja.in.d -m ${g.bootstrap.bootstrapManifest} -o ${out} ${in}
+ command = .bootstrap/bin/soong_build -d .bootstrap/main.ninja.in.d -m ${g.bootstrap.bootstrapManifest} -o ${out} ${in}
depfile = .bootstrap/main.ninja.in.d
- description = minibp ${out}
+ description = soong_build ${out}
rule s.bootstrap.minibp
command = .bootstrap/bin/minibp -c ${checkFile} -m ${g.bootstrap.bootstrapManifest} -d ${out}.d -o ${out} ${in}
@@ -234,7 +392,8 @@ rule s.bootstrap.minibp
build .bootstrap/main.ninja.in: s.bootstrap.bigbp $
${g.bootstrap.srcDir}/Blueprints | .bootstrap/bin/bpfmt $
- .bootstrap/bin/bpmodify .bootstrap/bin/minibp
+ .bootstrap/bin/bpmodify .bootstrap/bin/minibp $
+ .bootstrap/bin/soong_build .bootstrap/bin/soong_glob
default .bootstrap/main.ninja.in
build .bootstrap/notAFile: phony
default .bootstrap/notAFile