// THIS FILE IS AUTOGENERATED BY development/vndk/snapshot/gen_buildfiles.py
// DO NOT EDIT

package {
    default_applicable_licenses: ["prebuilts_vndk_v29_license"],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
    name: "prebuilts_vndk_v29_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-GPL",
        "SPDX-license-identifier-GPL-2.0",
        "SPDX-license-identifier-ISC",
        "SPDX-license-identifier-LGPL",
        "SPDX-license-identifier-LGPL-2.1",
        "SPDX-license-identifier-LGPL-3.0",
        "SPDX-license-identifier-MIT",
        "SPDX-license-identifier-NCSA",
        "SPDX-license-identifier-OpenSSL",
        "SPDX-license-identifier-Zlib",
        "legacy_permissive",
    ],
    // large-scale-change unable to identify any license_text files
}

prebuilt_etc {
    name: "llndk.libraries.29.txt",
    target: {
        android_arm: {
            src: "arm/configs/llndk.libraries.29.txt",
        },
        android_arm64: {
            src: "arm64/configs/llndk.libraries.29.txt",
        },
        android_x86: {
            src: "x86/configs/llndk.libraries.29.txt",
        },
        android_x86_64: {
            src: "x86_64/configs/llndk.libraries.29.txt",
        },
    },
}

prebuilt_etc {
    name: "vndksp.libraries.29.txt",
    target: {
        android_arm: {
            src: "arm/configs/vndksp.libraries.29.txt",
        },
        android_arm64: {
            src: "arm64/configs/vndksp.libraries.29.txt",
        },
        android_x86: {
            src: "x86/configs/vndksp.libraries.29.txt",
        },
        android_x86_64: {
            src: "x86_64/configs/vndksp.libraries.29.txt",
        },
    },
}

prebuilt_etc {
    name: "vndkcore.libraries.29.txt",
    target: {
        android_arm: {
            src: "arm/configs/vndkcore.libraries.29.txt",
        },
        android_arm64: {
            src: "arm64/configs/vndkcore.libraries.29.txt",
        },
        android_x86: {
            src: "x86/configs/vndkcore.libraries.29.txt",
        },
        android_x86_64: {
            src: "x86_64/configs/vndkcore.libraries.29.txt",
        },
    },
}

prebuilt_etc {
    name: "vndkprivate.libraries.29.txt",
    target: {
        android_arm: {
            src: "arm/configs/vndkprivate.libraries.29.txt",
        },
        android_arm64: {
            src: "arm64/configs/vndkprivate.libraries.29.txt",
        },
        android_x86: {
            src: "x86/configs/vndkprivate.libraries.29.txt",
        },
        android_x86_64: {
            src: "x86_64/configs/vndkprivate.libraries.29.txt",
        },
    },
}

prebuilt_etc {
    name: "vndkproduct.libraries.29.txt",
    target: {
        android_arm: {
            src: "arm/configs/vndkproduct.libraries.txt",
        },
        android_arm64: {
            src: "arm64/configs/vndkproduct.libraries.txt",
        },
        android_x86: {
            src: "x86/configs/vndkproduct.libraries.txt",
        },
        android_x86_64: {
            src: "x86_64/configs/vndkproduct.libraries.txt",
        },
    },
}
