android_system_core/fs_mgr/libfstab/Android.bp
Yi-Yo Chiang 96126069c2 fs_mgr: Split libfs_mgr and libfstab
The goal is to make the header definitions of the two curiously
intertwined libraries less chaotic.

After this change, libfstab's header would be self contained. In the
sense that all symbols exported by its headers are defined in its
compilation units.
libfs_mgr would still embed libfstab like before, it can use internal
symbols (symbols not exported by public headers) of libfstab through
the libfstab/fstab_priv.h private header.

Keep include_fstab/ as a symbolic link pointing to its new location.
This is a temporary workaround as there are still some bad build rules
(incorrectly) depending on the old include path with Android.bp
`include_dirs` directive.

Bug: 293695109
Test: build
Change-Id: Ib70a84984ac2cbfca5f5b27fadebf6a16e58146a
2023-08-01 04:56:41 +00:00

62 lines
1.8 KiB
Text

//
// Copyright (C) 2023 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: [
"Android-Apache-2.0",
"system_core_fs_mgr_license",
],
}
cc_library_static {
// Do not ever make this a shared library as long as it is vendor_available.
// It does not have a stable interface.
name: "libfstab",
vendor_available: true,
ramdisk_available: true,
vendor_ramdisk_available: true,
recovery_available: true,
host_supported: true,
defaults: ["fs_mgr_defaults"],
export_include_dirs: ["include"],
header_libs: [
"libbase_headers",
"libgsi_headers",
],
srcs: [
"fstab.cpp",
"boot_config.cpp",
"slotselect.cpp",
],
target: {
darwin: {
enabled: false,
},
vendor: {
cflags: [
// Skipping entries in fstab should only be done in a system
// process as the config file is in /system_ext.
// Remove the op from the vendor variant.
"-DNO_SKIP_MOUNT",
],
},
},
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
min_sdk_version: "31",
}