blob: e7800af7d26896a53c6c7f9e4ca7ff88017b9eb2 [file] [log] [blame]
//
// Copyright (C) 2014 The Android Open Source Project
//
// 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 {
default_applicable_licenses: ["frameworks_compile_libbcc_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
name: "frameworks_compile_libbcc_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-MIT",
"SPDX-license-identifier-NCSA",
"legacy_unencumbered",
],
license_text: [
"NOTICE",
],
}
cc_defaults {
name: "libbcc-defaults",
defaults: [
"llvm-defaults",
"rs-version",
"libbcc-targets",
],
cflags: [
"-Wall",
"-Wno-unused-parameter",
"-Werror",
"-D__DISABLE_ASSERTS",
],
target: {
android: {
cflags: [
"-DTARGET_BUILD",
],
},
host: {
compile_multilib: "first",
cflags: [
"-D__HOST__",
],
},
},
product_variables: {
eng: {
cflags: ["-U__DISABLE_ASSERTS"],
},
},
include_dirs: [
"frameworks/compile/libbcc/include",
"frameworks/rs",
],
}
//=====================================================================
// Architecture Selection
//=====================================================================
// Note: We should only use -DFORCE_ARCH_CODEGEN on target build.
// For the host build, we will include as many architecture as possible,
// so that we can test the execution engine easily.
cc_defaults {
name: "libbcc-targets",
arch: {
arm: {
cflags: [
"-DFORCE_ARM_CODEGEN",
"-DARCH_ARM_HAVE_VFP",
"-DPROVIDE_ARM64_CODEGEN",
],
neon: {
cflags: [
"-DARCH_ARM_HAVE_VFP_D32",
"-DARCH_ARM_HAVE_NEON",
],
},
},
arm64: {
cflags: [
"-DFORCE_ARM64_CODEGEN",
"-DARCH_ARM_HAVE_NEON",
"-DARCH_ARM_HAVE_VFP",
"-DARCH_ARM_HAVE_VFP_D32",
"-DDISABLE_CLCORE_NEON",
],
},
},
target: {
android_x86: {
cflags: ["-DFORCE_X86_CODEGEN"],
},
android_x86_64: {
cflags: ["-DFORCE_X86_64_CODEGEN"],
},
arm_on_x86: {
cflags: [
"-DPROVIDE_ARM_CODEGEN",
"-DFORCE_BUILD_ARM",
],
},
arm_on_x86_64: {
cflags: [
"-DPROVIDE_ARM_CODEGEN",
"-DFORCE_BUILD_ARM",
"-DPROVIDE_ARM64_CODEGEN",
],
},
},
}
subdirs = [
"bcinfo",
"lib",
"tools",
]