diff options
author | 2021-10-19 00:32:54 +0000 | |
---|---|---|
committer | 2021-10-19 00:32:54 +0000 | |
commit | 2a109db10b51be5d4d998015e201b4d3178a54cb (patch) | |
tree | 825f44950b0dd6212170f24f9dd28a1e0ebf3c36 | |
parent | 636a2132c37689f946b47caf400ab14e4ffdb977 (diff) | |
parent | def7b5d198d294e0f945cd2b5eb7eb143e1caae6 (diff) |
Merge "Reduce modules exposed to Make in Mac builds"
-rw-r--r-- | android/androidmk.go | 8 | ||||
-rw-r--r-- | android/androidmk_test.go | 6 | ||||
-rw-r--r-- | cmd/multiproduct_kati/Android.bp | 10 | ||||
-rw-r--r-- | cmd/multiproduct_kati/main.go | 9 | ||||
-rw-r--r-- | cmd/multiproduct_kati/main_darwin.go | 20 | ||||
-rw-r--r-- | cmd/multiproduct_kati/main_linux.go | 28 |
6 files changed, 72 insertions, 9 deletions
diff --git a/android/androidmk.go b/android/androidmk.go index feaef1f69..f48c06bce 100644 --- a/android/androidmk.go +++ b/android/androidmk.go @@ -29,6 +29,7 @@ import ( "os" "path/filepath" "reflect" + "runtime" "sort" "strings" @@ -902,6 +903,13 @@ func shouldSkipAndroidMkProcessing(module *ModuleBase) bool { return true } + // On Mac, only expose host darwin modules to Make, as that's all we claim to support. + // In reality, some of them depend on device-built (Java) modules, so we can't disable all + // device modules in Soong, but we can hide them from Make (and thus the build user interface) + if runtime.GOOS == "darwin" && module.Os() != Darwin { + return true + } + return !module.Enabled() || module.commonProperties.HideFromMake || // Make does not understand LinuxBionic diff --git a/android/androidmk_test.go b/android/androidmk_test.go index 8eda9b247..ecfb00825 100644 --- a/android/androidmk_test.go +++ b/android/androidmk_test.go @@ -18,6 +18,7 @@ import ( "fmt" "io" "reflect" + "runtime" "strings" "testing" @@ -155,6 +156,11 @@ func buildContextAndCustomModuleFoo(t *testing.T, bp string) (*TestContext, *cus } func TestAndroidMkSingleton_PassesUpdatedAndroidMkDataToCustomCallback(t *testing.T) { + if runtime.GOOS == "darwin" { + // Device modules are not exported on Mac, so this test doesn't work. + t.SkipNow() + } + bp := ` custom { name: "foo", diff --git a/cmd/multiproduct_kati/Android.bp b/cmd/multiproduct_kati/Android.bp index e5be6c0c8..20ca2a3c9 100644 --- a/cmd/multiproduct_kati/Android.bp +++ b/cmd/multiproduct_kati/Android.bp @@ -31,4 +31,14 @@ blueprint_go_binary { testSrcs: [ "main_test.go", ], + linux: { + srcs: [ + "main_linux.go", + ], + }, + darwin: { + srcs: [ + "main_darwin.go", + ], + }, } diff --git a/cmd/multiproduct_kati/main.go b/cmd/multiproduct_kati/main.go index 07b1e3fc4..0577c86ff 100644 --- a/cmd/multiproduct_kati/main.go +++ b/cmd/multiproduct_kati/main.go @@ -166,15 +166,6 @@ type mpContext struct { MainLogsDir string } -func detectTotalRAM() uint64 { - var info syscall.Sysinfo_t - err := syscall.Sysinfo(&info) - if err != nil { - panic(err) - } - return info.Totalram * uint64(info.Unit) -} - func findNamedProducts(soongUi string, log logger.Logger) []string { cmd := exec.Command(soongUi, "--dumpvars-mode", "--vars=all_named_products") output, err := cmd.Output() diff --git a/cmd/multiproduct_kati/main_darwin.go b/cmd/multiproduct_kati/main_darwin.go new file mode 100644 index 000000000..3d1b12ab1 --- /dev/null +++ b/cmd/multiproduct_kati/main_darwin.go @@ -0,0 +1,20 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +func detectTotalRAM() uint64 { + // unimplemented stub on darwin + return 0 +} diff --git a/cmd/multiproduct_kati/main_linux.go b/cmd/multiproduct_kati/main_linux.go new file mode 100644 index 000000000..db7449696 --- /dev/null +++ b/cmd/multiproduct_kati/main_linux.go @@ -0,0 +1,28 @@ +// Copyright 2017 Google Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "syscall" +) + +func detectTotalRAM() uint64 { + var info syscall.Sysinfo_t + err := syscall.Sysinfo(&info) + if err != nil { + panic(err) + } + return info.Totalram * uint64(info.Unit) +} |