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

Commit e3fee34a authored by Colin Cross's avatar Colin Cross
Browse files

Create toolchainBionic for the various bionic-based toolchains to inherit from

Host bionic and each of the device bionic architectures will share some
new toolchain functionality in common, create a toolchainBionic and embed
it into the toolchains.  Use it to implement Bionic() once and change
the default implementation from true to false.

Test: go test ./cc/...
Test: m checkbuild
Change-Id: Ia34b80d9691edc4ab1cbdbd005d1ffc950d0881c
parent 99fc06f8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@ bootstrap_go_package {
        "toolchain.go",
        "vndk.go",

        "bionic.go",

        "arm_device.go",
        "arm64_device.go",
        "arm64_fuchsia_device.go",
+1 −0
Original line number Diff line number Diff line
@@ -149,6 +149,7 @@ var (
)

type toolchainArm64 struct {
	toolchainBionic
	toolchain64Bit

	ldflags              string
+0 −4
Original line number Diff line number Diff line
@@ -82,10 +82,6 @@ func (t *toolchainFuchsiaArm64) ClangCflags() string {
	return "--target=arm64-fuchsia --sysroot=" + fuchsiaArm64SysRoot + " -I" + fuchsiaArm64SysRoot + "/include"
}

func (t *toolchainFuchsiaArm64) Bionic() bool {
	return false
}

func (t *toolchainFuchsiaArm64) ToolchainClangCflags() string {
	return "-march=armv8-a"
}
+1 −0
Original line number Diff line number Diff line
@@ -237,6 +237,7 @@ var (
)

type toolchainArm struct {
	toolchainBionic
	toolchain32Bit
	ldflags              string
	lldflags             string

cc/config/bionic.go

0 → 100644
+20 −0
Original line number Diff line number Diff line
// Copyright 2015 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 config

type toolchainBionic struct {
}

func (toolchainBionic) Bionic() bool { return true }
Loading