xref: /aosp_15_r20/system/core/fs_mgr/libfstab/Android.bp (revision 00c7fec1bb09f3284aad6a6f96d2f63dfc3650ad)
1//
2// Copyright (C) 2023 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17package {
18    default_applicable_licenses: [
19        "Android-Apache-2.0",
20        "system_core_fs_mgr_license",
21    ],
22}
23
24cc_library_static {
25    // Do not ever make this a shared library as long as it is vendor_available.
26    // It does not have a stable interface.
27    name: "libfstab",
28    vendor_available: true,
29    ramdisk_available: true,
30    vendor_ramdisk_available: true,
31    recovery_available: true,
32    host_supported: true,
33    defaults: ["fs_mgr_defaults"],
34    export_include_dirs: ["include"],
35    header_libs: [
36        "libbase_headers",
37        "libgsi_headers",
38    ],
39    srcs: [
40        "fstab.cpp",
41        "boot_config.cpp",
42        "slotselect.cpp",
43    ],
44    target: {
45        darwin: {
46            enabled: false,
47        },
48        vendor: {
49            cflags: [
50                // Skipping entries in fstab should only be done in a system
51                // process as the config file is in /system_ext.
52                // Remove the op from the vendor variant.
53                "-DNO_SKIP_MOUNT",
54            ],
55        },
56    },
57    apex_available: [
58        "//apex_available:anyapex",
59        "//apex_available:platform",
60    ],
61    min_sdk_version: "31",
62}
63