Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit def7b5d1 authored by Dan Willemsen's avatar Dan Willemsen
Browse files

Reduce modules exposed to Make in Mac builds

Device builds are no longer supported on Mac, but we do support building
various host tools, including the SDK build-tools and platform-tools
packages. These have dependencies on [java] device modules, so we don't
completely disable device modules, only hide them from Make (which makes
them more difficult to trigger from the command line).

Also fix the mac build of multiproduct_kati, so that `m blueprint_tools`
works on Mac.

Bug: 187222815
Test: `m`, `m dist`, etc on Mac
Change-Id: I92f16605d5cd173d431cbcb79081234d45cc6e2e
parent 9579f08f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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
+6 −0
Original line number Diff line number Diff line
@@ -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",
+10 −0
Original line number Diff line number Diff line
@@ -31,4 +31,14 @@ blueprint_go_binary {
    testSrcs: [
        "main_test.go",
    ],
    linux: {
        srcs: [
            "main_linux.go",
        ],
    },
    darwin: {
        srcs: [
            "main_darwin.go",
        ],
    },
}
+0 −9
Original line number Diff line number Diff line
@@ -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()
+20 −0
Original line number Diff line number Diff line
// 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
}
Loading