// Copyright (C) 2012 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: ["eigen_license"], } license { name: "eigen_license", visibility: [":__subpackages__"], license_kinds: [ // Apache 2.0 is only used in Eigen/src/Core/arch/Default/BFloat16.h, // which was copied from TensorFlow. "SPDX-license-identifier-Apache-2.0", // BSD is used in CMake build scripts, which are not used in Android, // and for code derived from the MINPACK library. "SPDX-license-identifier-BSD", // Almost all of the actual Eigen code is licensed under MPL 2.0. "SPDX-license-identifier-MPL-2.0", ], license_text: [ "COPYING.APACHE", "COPYING.BSD", "COPYING.MINPACK", "COPYING.MPL2", "NOTICE", ], } license { name: "eigen_bench_license", visibility: ["//visibility:private"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-GPL-2.0+", ], license_text: [ "COPYING.APACHE", "COPYING.GPL", ], } license { name: "eigen_restricted_code_license", visibility: ["//visibility:private"], license_kinds: [ "SPDX-license-identifier-LGPL-2.1", ], license_text: ["COPYING.LGPL"], } filegroup { name: "eigen_bench", srcs: ["bench/**/*"], licenses: ["eigen_bench_license"], visibility: ["//visibility:private"], } filegroup { name: "eigen_restricted_code", srcs: [ "unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h", "unsupported/Eigen/src/IterativeSolvers/IterationController.h", ], licenses: ["eigen_restricted_code_license"], visibility: ["//visibility:private"], } cc_library_headers { name: "libeigen", // Although entire directory is exported, only Eigen and unsupported/Eigen // contain actual exported headers. When capturing header files for // snapshot, only these two directories will be globbed. export_include_dirs: ["."], cflags: ["-DEIGEN_MPL2_ONLY"], vendor_available: true, host_supported: true, apex_available: [ "com.android.neuralnetworks", "test_com.android.neuralnetworks", "//apex_available:platform", "com.android.ondevicepersonalization", ], min_sdk_version: "apex_inherit", sdk_version: "current", } subdirs = ["blas"]