use init functions to register module types, etc.
Instead of putting all the blueprint registrations in soong_build,
put them all in init() functions. This puts the registration next
to the implementation.
Change-Id: Ide1a749518f5e9d1367a18ab3bb1d91da3310c76
diff --git a/common/arch.go b/common/arch.go
index 6865904..c0e63eb 100644
--- a/common/arch.go
+++ b/common/arch.go
@@ -20,10 +20,17 @@
"runtime"
"strings"
+ "android/soong"
+
"github.com/google/blueprint"
"github.com/google/blueprint/proptools"
)
+func init() {
+ soong.RegisterEarlyMutator("host_or_device", HostOrDeviceMutator)
+ soong.RegisterEarlyMutator("arch", ArchMutator)
+}
+
var (
Arm = newArch("arm", "lib32")
Arm64 = newArch("arm64", "lib64")
diff --git a/common/env.go b/common/env.go
index e33a025..3214baa 100644
--- a/common/env.go
+++ b/common/env.go
@@ -15,6 +15,7 @@
package common
import (
+ "android/soong"
"android/soong/env"
"github.com/google/blueprint"
@@ -27,6 +28,10 @@
// compare the contents of the environment variables, rewriting the file if necessary to cause
// a manifest regeneration.
+func init() {
+ soong.RegisterSingletonType("env", EnvSingleton)
+}
+
func EnvSingleton() blueprint.Singleton {
return &envSingleton{}
}
diff --git a/common/module.go b/common/module.go
index 1d17de1..b19b6d1 100644
--- a/common/module.go
+++ b/common/module.go
@@ -15,6 +15,7 @@
package common
import (
+ "android/soong"
"path/filepath"
"runtime"
"sort"
@@ -520,6 +521,10 @@
return ret
}
+func init() {
+ soong.RegisterSingletonType("buildtarget", BuildTargetSingleton)
+}
+
func BuildTargetSingleton() blueprint.Singleton {
return &buildTargetSingleton{}
}