package {
    default_team: "trendy_team_native_tools_libraries",
    default_applicable_licenses: ["system_core_libcutils_license"],
}

license {
    name: "system_core_libcutils_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-MIT", // strlcpy.c
    ],
    license_text: [
        "NOTICE",
    ],
}

filegroup {
    name: "android_filesystem_config_header",
    srcs: ["include/private/android_filesystem_config.h"],
}

rust_bindgen {
    name: "libandroid_ids",
    crate_name: "android_ids",
    source_stem: "bindings",
    wrapper_src: "rust/aid_bindings.h",
    header_libs: ["libcutils_headers"],
    visibility: [
        "//system/bpf/loader",
    ],
}

cc_defaults {
    name: "libcutils_defaults",
    cflags: [
        "-Wno-exit-time-destructors",
    ],

    product_available: true,
    ramdisk_available: true,
    recovery_available: true,
    vendor_available: true,
    vendor_ramdisk_available: true,

    host_supported: true,
    native_bridge_supported: true,

    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
    min_sdk_version: "29",
}

cc_library_headers {
    name: "libcutils_headers",
    defaults: ["libcutils_defaults"],

    export_include_dirs: ["include"],
    header_libs: ["libprocessgroup_headers"],
    export_header_lib_headers: ["libprocessgroup_headers"],
    target: {
        vendor: {
            override_export_include_dirs: ["include_outside_system"],
        },
        product: {
            override_export_include_dirs: ["include_outside_system"],
        },
        linux_bionic: {
            enabled: true,
        },
        windows: {
            enabled: true,
        },
    },
}

// Socket specific parts of libcutils that are safe to statically link into an APEX.
cc_library {
    name: "libcutils_sockets",
    defaults: ["libcutils_defaults"],

    export_include_dirs: ["include"],

    shared_libs: ["liblog"],
    srcs: ["sockets.cpp"],
    target: {
        linux_bionic: {
            enabled: true,
        },

        not_windows: {
            srcs: [
                "socket_inaddr_any_server_unix.cpp",
                "socket_local_client_unix.cpp",
                "socket_local_server_unix.cpp",
                "socket_network_client_unix.cpp",
                "sockets_unix.cpp",
            ],
        },

        // "not_windows" means "non-Windows host".
        android: {
            srcs: [
                "android_get_control_file.cpp",
                "socket_inaddr_any_server_unix.cpp",
                "socket_local_client_unix.cpp",
                "socket_local_server_unix.cpp",
                "socket_network_client_unix.cpp",
                "sockets_unix.cpp",
            ],
            static_libs: ["libbase"],
        },

        windows: {
            host_ldlibs: ["-lws2_32"],
            srcs: [
                "socket_inaddr_any_server_windows.cpp",
                "socket_network_client_windows.cpp",
                "sockets_windows.cpp",
            ],

            enabled: true,
            cflags: [
                "-D_GNU_SOURCE",
            ],
        },
    },
}

// some files must not be compiled when building against Mingw
// they correspond to features not used by our host development tools
// which are also hard or even impossible to port to native Win32
libcutils_nonwindows_sources = [
    "fs.cpp",
    "hashmap.cpp",
    "multiuser.cpp",
    "str_parms.cpp",
]

cc_library {
    name: "libcutils",
    defaults: ["libcutils_defaults"],
    double_loadable: true,
    srcs: [
        "config_utils.cpp",
        "iosched_policy.cpp",
        "load_file.cpp",
        "native_handle.cpp",
        "properties.cpp",
        "record_stream.cpp",
        "strlcpy.c",
    ],

    target: {
        linux_bionic: {
            enabled: true,
            static_libs: [
                "libasync_safe",
            ],
        },
        linux: {
            srcs: [
                "canned_fs_config.cpp",
                "fs_config.cpp",
            ],
        },
        host: {
            srcs: [
                "trace-host.cpp",
                "ashmem-host.cpp",
            ],
        },
        not_windows: {
            srcs: libcutils_nonwindows_sources,
        },
        windows: {
            enabled: true,
            host_ldlibs: ["-lws2_32"],
        },
        android: {
            sanitize: {
                misc_undefined: ["integer"],
            },
            static_libs: [
                "libasync_safe",
            ],
            srcs: libcutils_nonwindows_sources + [
                "android_reboot.cpp",
                "ashmem-dev.cpp",
                "klog.cpp",
                "partition_utils.cpp",
                "qtaguid.cpp",
                "trace-dev.cpp",
                "uevent.cpp",
            ],
        },

        // qtaguid.cpp loads libnetd_client.so with dlopen().  Since
        // the interface of libnetd_client.so may vary between AOSP
        // releases, exclude qtaguid.cpp from the VNDK-SP variant.
        vendor: {
            exclude_srcs: [
                "qtaguid.cpp",
            ],
            header_abi_checker: {
                enabled: true,
                ref_dump_dirs: ["abi-dumps"],
            },
        },
        product: {
            exclude_srcs: [
                "qtaguid.cpp",
            ],
            header_abi_checker: {
                enabled: true,
                ref_dump_dirs: ["abi-dumps"],
            },
        },
    },

    whole_static_libs: ["libcutils_sockets"],
    shared_libs: [
        "liblog",
        "libbase",
    ],
    header_libs: [
        "libbase_headers",
        "libcutils_headers",
        "libprocessgroup_headers",
    ],
    export_header_lib_headers: [
        "libcutils_headers",
        "libprocessgroup_headers",
    ],
    local_include_dirs: ["include"],

    cflags: [
        "-Werror",
        "-Wall",
        "-Wextra",
    ],
}

cc_defaults {
    name: "libcutils_test_default",
    srcs: [
        "ashmem_base_test.cpp",
        "native_handle_test.cpp",
        "properties_test.cpp",
        "sockets_test.cpp",
    ],

    target: {
        android: {
            srcs: [
                "android_get_control_file_test.cpp",
                "android_get_control_socket_test.cpp",
                "ashmem_test.cpp",
                "fs_config_test.cpp",
                "multiuser_test.cpp",
                "sched_policy_test.cpp",
                "str_parms_test.cpp",
                "trace-dev_test.cpp",
            ],
        },

        not_windows: {
            srcs: [
                "str_parms_test.cpp",
            ],
        },
    },

    cflags: [
        "-Wall",
        "-Wextra",
        "-Werror",
    ],
}

always_static_test_libraries = [
    "libjsoncpp",
]

test_libraries = [
    "libcutils",
    "liblog",
    "libbase",
    "libprocessgroup",
]

cc_test {
    name: "libcutils_test",
    test_suites: ["device-tests"],
    defaults: ["libcutils_test_default"],
    host_supported: true,
    shared_libs: test_libraries,
    static_libs: always_static_test_libraries,
    require_root: true,
}

cc_defaults {
    name: "libcutils_test_static_defaults",
    defaults: ["libcutils_test_default"],
    stl: "libc++_static",
    require_root: true,

    target: {
        android: {
            static_executable: true,
            static_libs: [
                "libprocessgroup_util",
            ] + test_libraries + always_static_test_libraries,
        },
        not_windows: {
            static_libs: test_libraries + always_static_test_libraries,
        },
        windows: {
            static_libs: [
                "libbase",
                "libcutils",
                "libcutils_sockets",
            ],
            host_ldlibs: ["-lws2_32"],
            enabled: true,
        },
    },
}

cc_test {
    name: "libcutils_test_static",
    host_supported: true,
    test_suites: ["device-tests"],
    defaults: ["libcutils_test_static_defaults"],
}

cc_test {
    name: "KernelLibcutilsTest",
    test_suites: [
        "general-tests",
        "vts",
    ],
    defaults: ["libcutils_test_static_defaults"],
    test_config: "KernelLibcutilsTest.xml",
}
