diff options
author | Colin Cross <ccross@android.com> | 2016-12-07 14:21:42 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2016-12-12 14:27:12 -0800 |
commit | 5a2d24e315d79f735eeb8b6560118f10edbd6b05 (patch) | |
tree | 7148561d317035ef75962fb9184c95dc11cc500e /Android.bp | |
parent | ece9b9d66607658694c1d7381a01634a2a05bcea (diff) | |
download | libbcc-5a2d24e315d79f735eeb8b6560118f10edbd6b05.tar.gz |
Convert libbcc to Android.bp
See build/soong/README.md for more information.
Includes one small code change to replace
FORCE_BUILD_LLVM_DISABLE_NDEBUG with _DEBUG, which is set already in
llvm-defaults in external/llvm/soong/llvm.go when the environment
variable is set.
libbcc-targets.mk remains, it is still used by frameworks/rs/cpu_ref.
Test: mma -j
Test: mma -j FORCE_BUILD_LLVM_COMPONENTS=true
Change-Id: Iec37d2c33020bb5702c27497ae343a8312601202
Diffstat (limited to 'Android.bp')
-rw-r--r-- | Android.bp | 188 |
1 files changed, 188 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp new file mode 100644 index 0000000..7d8426c --- /dev/null +++ b/Android.bp @@ -0,0 +1,188 @@ +// +// 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. +// + +cc_defaults { + name: "libbcc-defaults", + defaults: [ + "llvm-defaults", + "llvm-generated-headers", + "rs-version", + "libbcc-targets", + ], + + clang: true, + cflags: [ + "-Wall", + "-Wno-unused-parameter", + "-Werror", + "-D__DISABLE_ASSERTS", + ], + + target: { + android: { + cflags: [ + "-DTARGET_BUILD", + ], + }, + host: { + 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", + ], + armv7_a_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", + ], + }, + mips: { + cflags: ["-DFORCE_MIPS_CODEGEN"], + }, + mips64: { + cflags: ["-DFORCE_MIPS64_CODEGEN"], + }, + }, + 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", + ], + }, + }, +} + +//===================================================================== +// Shared Library libbcc +//===================================================================== +cc_library_shared { + name: "libbcc", + host_supported: true, + + whole_static_libs: [ + "libbccRenderscript", + "libbccCore", + "libbccSupport", + ], + + shared_libs: [ + "libbcinfo", + ], + + target: { + windows: { + enabled: true, + shared_libs: ["libLLVM"], + }, + darwin: { + host_ldlibs: [ + "-ldl", + "-lpthread", + ], + + shared_libs: ["libLLVM"], + }, + linux: { + host_ldlibs: [ + "-ldl", + "-lpthread", + ], + static_libs: ["libLLVMLinker"], + allow_undefined_symbols: true, + }, + host: { + static_libs: [ + "libutils", + "libcutils", + "liblog", + ], + }, + android: { + shared_libs: [ + "libLLVM", + "libdl", + "libutils", + "libcutils", + "liblog", + ], + }, + }, + + product_variables: { + unbundled_build: { + // Don't build in unbundled branches + enabled: false, + }, + }, +} + +subdirs = [ + "bcinfo", + "lib", + "tools", +] |