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
62 lines
1.8 KiB
Text
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",
|
|
}
|