platform_system_core/libutils/Android.bp
Justin Yun feef4d390f Add product_available to product available modules
vendor_available modules were available to product modules.
However, not all vendor_available modules are required to be
available to product modules. Some modules want to be available only
to product modules but not vendor modules.

To cover the requirement, we separate product_available from
vendor_available.
vendor_available will not provide product available module.

Rename libcutils/include_vndk to libcutils/include_outside_system as
it provides the headers to the modules outside the system partition
including /product.

Bug: 150902910
Test: build
Change-Id: I791b5a6a1dc99442065debfce6fa0f54a335fcea
2020-12-04 09:59:20 +09:00

387 lines
8.1 KiB
Text

// Copyright (C) 2008 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_library_headers {
name: "libutils_headers",
vendor_available: true,
product_available: true,
recovery_available: true,
vendor_ramdisk_available: true,
host_supported: true,
native_bridge_supported: true,
apex_available: [
"//apex_available:platform",
"//apex_available:anyapex",
],
min_sdk_version: "apex_inherit",
header_libs: [
"liblog_headers",
"libsystem_headers",
"libcutils_headers",
"libprocessgroup_headers",
],
export_header_lib_headers: [
"liblog_headers",
"libsystem_headers",
"libcutils_headers",
"libprocessgroup_headers",
],
export_include_dirs: ["include"],
target: {
android: {
header_libs: ["libbacktrace_headers"],
export_header_lib_headers: ["libbacktrace_headers"],
},
linux_glibc: {
header_libs: ["libbacktrace_headers"],
export_header_lib_headers: ["libbacktrace_headers"],
},
linux_bionic: {
header_libs: ["libbacktrace_headers"],
export_header_lib_headers: ["libbacktrace_headers"],
enabled: true,
},
windows: {
enabled: true,
},
},
}
cc_defaults {
name: "libutils_defaults",
vendor_available: true,
product_available: true,
recovery_available: true,
vndk: {
enabled: true,
support_system_process: true,
},
host_supported: true,
cflags: [
"-Wall",
"-Werror",
],
header_libs: [
"libbase_headers",
"libutils_headers",
],
export_header_lib_headers: [
"libutils_headers",
],
shared_libs: [
"libcutils",
"liblog",
],
sanitize: {
misc_undefined: ["integer"],
},
target: {
android: {
cflags: ["-fvisibility=protected"],
shared_libs: [
"libprocessgroup",
"libdl",
"libvndksupport",
],
sanitize: {
misc_undefined: ["integer"],
},
},
recovery: {
exclude_shared_libs: ["libvndksupport"],
},
linux_bionic: {
enabled: true,
},
darwin: {
cflags: ["-Wno-unused-parameter"],
},
windows: {
cflags: [
// Under MinGW, ctype.h doesn't need multi-byte support
"-DMB_CUR_MAX=1",
"-Wno-unused-private-field",
],
enabled: true,
},
},
}
cc_library {
name: "libutils",
defaults: ["libutils_defaults"],
native_bridge_supported: true,
srcs: [
"Errors.cpp",
"FileMap.cpp",
"JenkinsHash.cpp",
"NativeHandle.cpp",
"Printer.cpp",
"RefBase.cpp",
"SharedBuffer.cpp",
"StopWatch.cpp",
"String8.cpp",
"String16.cpp",
"StrongPointer.cpp",
"SystemClock.cpp",
"Threads.cpp",
"Timers.cpp",
"Tokenizer.cpp",
"Unicode.cpp",
"VectorImpl.cpp",
"misc.cpp",
],
target: {
android: {
srcs: [
"Trace.cpp",
],
},
linux: {
header_libs: ["libbase_headers"],
srcs: [
"Looper.cpp",
],
},
},
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
min_sdk_version: "apex_inherit",
}
cc_library {
name: "libutilscallstack",
defaults: ["libutils_defaults"],
// TODO(b/153609531): remove when no longer needed.
native_bridge_supported: true,
srcs: [
"CallStack.cpp",
],
shared_libs: [
"libutils",
"libbacktrace",
],
target: {
linux: {
srcs: [
"ProcessCallStack.cpp",
],
},
darwin: {
enabled: false,
},
windows: {
enabled: false,
},
},
}
cc_defaults {
name: "libutils_fuzz_defaults",
host_supported: true,
shared_libs: [
"libutils",
"libbase",
"liblog",
],
}
cc_fuzz {
name: "libutils_fuzz_bitset",
defaults: ["libutils_fuzz_defaults"],
srcs: ["BitSet_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_filemap",
defaults: ["libutils_fuzz_defaults"],
srcs: ["FileMap_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_string8",
defaults: ["libutils_fuzz_defaults"],
srcs: ["String8_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_string16",
defaults: ["libutils_fuzz_defaults"],
srcs: ["String16_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_vector",
defaults: ["libutils_fuzz_defaults"],
srcs: ["Vector_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_printer",
defaults: ["libutils_fuzz_defaults"],
srcs: ["Printer_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_callstack",
defaults: ["libutils_fuzz_defaults"],
srcs: ["CallStack_fuzz.cpp"],
shared_libs: [
"libutilscallstack",
],
}
cc_fuzz {
name: "libutils_fuzz_process_callstack",
defaults: ["libutils_fuzz_defaults"],
srcs: ["ProcessCallStack_fuzz.cpp"],
shared_libs: [
"libutilscallstack",
],
}
cc_fuzz {
name: "libutils_fuzz_stopwatch",
defaults: ["libutils_fuzz_defaults"],
srcs: ["StopWatch_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_refbase",
defaults: ["libutils_fuzz_defaults"],
srcs: ["RefBase_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_lrucache",
defaults: ["libutils_fuzz_defaults"],
srcs: ["LruCache_fuzz.cpp"],
}
cc_fuzz {
name: "libutils_fuzz_looper",
defaults: ["libutils_fuzz_defaults"],
srcs: ["Looper_fuzz.cpp"],
}
cc_test {
name: "libutils_test",
host_supported: true,
srcs: [
"BitSet_test.cpp",
"FileMap_test.cpp",
"LruCache_test.cpp",
"Mutex_test.cpp",
"SharedBuffer_test.cpp",
"Singleton_test.cpp",
"String8_test.cpp",
"String16_test.cpp",
"StrongPointer_test.cpp",
"Timers_test.cpp",
"Unicode_test.cpp",
"Vector_test.cpp",
],
target: {
android: {
srcs: [
"SystemClock_test.cpp",
],
shared_libs: [
"libz",
"liblog",
"libcutils",
"libutils",
"libbase",
],
},
linux: {
srcs: [
"Looper_test.cpp",
"RefBase_test.cpp",
],
},
host: {
static_libs: [
"libutils",
"liblog",
"libbase",
],
},
},
data_libs: [
"libutils_test_singleton1",
"libutils_test_singleton2",
],
cflags: [
"-Wall",
"-Wextra",
"-Werror",
"-Wthread-safety",
],
test_suites: ["device-tests"],
}
cc_test_library {
name: "libutils_test_singleton1",
host_supported: true,
installable: false,
srcs: ["Singleton_test1.cpp"],
cflags: [
"-Wall",
"-Werror",
],
}
cc_test_library {
name: "libutils_test_singleton2",
host_supported: true,
installable: false,
srcs: ["Singleton_test2.cpp"],
cflags: [
"-Wall",
"-Werror",
],
shared_libs: ["libutils_test_singleton1"],
}
cc_benchmark {
name: "libutils_benchmark",
srcs: ["Vector_benchmark.cpp"],
shared_libs: ["libutils"],
}