| // Copyright 2018 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 |
| |
| import ( |
| "android/soong/android" |
| ) |
| |
| var fuchsiaSysRoot string = "prebuilts/fuchsia_sdk/arch/x64/sysroot" |
| var fuchsiaPrebuiltLibsRoot string = "fuchsia/prebuilt_libs" |
| |
| type toolchainFuchsia struct { |
| cFlags, ldFlags string |
| } |
| |
| type toolchainFuchsiaX8664 struct { |
| toolchain64Bit |
| toolchainFuchsia |
| } |
| |
| func (t *toolchainFuchsiaX8664) Name() string { |
| return "x86_64" |
| } |
| |
| func (t *toolchainFuchsiaX8664) GccRoot() string { |
| return "${config.X86_64GccRoot}" |
| } |
| |
| func (t *toolchainFuchsiaX8664) GccTriple() string { |
| return "x86_64-linux-android" |
| } |
| |
| func (t *toolchainFuchsiaX8664) GccVersion() string { |
| return x86_64GccVersion |
| } |
| |
| func (t *toolchainFuchsiaX8664) Cflags() string { |
| return "" |
| } |
| |
| func (t *toolchainFuchsiaX8664) Cppflags() string { |
| return "" |
| } |
| |
| func (t *toolchainFuchsiaX8664) Ldflags() string { |
| return "" |
| } |
| |
| func (t *toolchainFuchsiaX8664) IncludeFlags() string { |
| return "" |
| } |
| |
| func (t *toolchainFuchsiaX8664) ClangTriple() string { |
| return "x86_64-fuchsia-android" |
| } |
| |
| func (t *toolchainFuchsiaX8664) ClangCppflags() string { |
| return "-Wno-error=deprecated-declarations" |
| } |
| |
| func (t *toolchainFuchsiaX8664) ClangLdflags() string { |
| return "--target=x86_64-fuchsia --sysroot=" + fuchsiaSysRoot + " -L" + fuchsiaPrebuiltLibsRoot + "/x86_64-fuchsia/lib " + "-Lprebuilts/fuchsia_sdk/arch/x64/dist/" |
| |
| } |
| |
| func (t *toolchainFuchsiaX8664) ClangLldflags() string { |
| return "--target=x86_64-fuchsia --sysroot=" + fuchsiaSysRoot + " -L" + fuchsiaPrebuiltLibsRoot + "/x86_64-fuchsia/lib " + "-Lprebuilts/fuchsia_sdk/arch/x64/dist/" |
| } |
| |
| func (t *toolchainFuchsiaX8664) ClangCflags() string { |
| return "--target=x86_64-fuchsia --sysroot=" + fuchsiaSysRoot + " -I" + fuchsiaSysRoot + "/include" |
| } |
| |
| func (t *toolchainFuchsiaX8664) Bionic() bool { |
| return false |
| } |
| |
| func (t *toolchainFuchsiaX8664) YasmFlags() string { |
| return "-f elf64 -m amd64" |
| } |
| |
| func (t *toolchainFuchsiaX8664) ToolchainClangCflags() string { |
| return "-mssse3" |
| } |
| |
| var toolchainFuchsiaSingleton Toolchain = &toolchainFuchsiaX8664{} |
| |
| func fuchsiaToolchainFactory(arch android.Arch) Toolchain { |
| return toolchainFuchsiaSingleton |
| } |
| |
| func init() { |
| registerToolchainFactory(android.Fuchsia, android.X86_64, fuchsiaToolchainFactory) |
| } |