xref: /aosp_15_r20/external/eigen/Android.bp (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li// Copyright (C) 2012 The Android Open Source Project
2*bf2c3715SXin Li//
3*bf2c3715SXin Li// Licensed under the Apache License, Version 2.0 (the "License");
4*bf2c3715SXin Li// you may not use this file except in compliance with the License.
5*bf2c3715SXin Li// You may obtain a copy of the License at
6*bf2c3715SXin Li//
7*bf2c3715SXin Li//      http://www.apache.org/licenses/LICENSE-2.0
8*bf2c3715SXin Li//
9*bf2c3715SXin Li// Unless required by applicable law or agreed to in writing, software
10*bf2c3715SXin Li// distributed under the License is distributed on an "AS IS" BASIS,
11*bf2c3715SXin Li// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*bf2c3715SXin Li// See the License for the specific language governing permissions and
13*bf2c3715SXin Li// limitations under the License.
14*bf2c3715SXin Li
15*bf2c3715SXin Lipackage {
16*bf2c3715SXin Li    default_applicable_licenses: ["eigen_license"],
17*bf2c3715SXin Li}
18*bf2c3715SXin Li
19*bf2c3715SXin Lilicense {
20*bf2c3715SXin Li    name: "eigen_license",
21*bf2c3715SXin Li    visibility: [":__subpackages__"],
22*bf2c3715SXin Li    license_kinds: [
23*bf2c3715SXin Li        // Apache 2.0 is only used in Eigen/src/Core/arch/Default/BFloat16.h,
24*bf2c3715SXin Li        // which was copied from TensorFlow.
25*bf2c3715SXin Li        "SPDX-license-identifier-Apache-2.0",
26*bf2c3715SXin Li        // BSD is used in CMake build scripts, which are not used in Android,
27*bf2c3715SXin Li        // and for code derived from the MINPACK library.
28*bf2c3715SXin Li        "SPDX-license-identifier-BSD",
29*bf2c3715SXin Li        // Almost all of the actual Eigen code is licensed under MPL 2.0.
30*bf2c3715SXin Li        "SPDX-license-identifier-MPL-2.0",
31*bf2c3715SXin Li    ],
32*bf2c3715SXin Li    license_text: [
33*bf2c3715SXin Li        "COPYING.APACHE",
34*bf2c3715SXin Li        "COPYING.BSD",
35*bf2c3715SXin Li        "COPYING.MINPACK",
36*bf2c3715SXin Li        "COPYING.MPL2",
37*bf2c3715SXin Li        "NOTICE",
38*bf2c3715SXin Li    ],
39*bf2c3715SXin Li}
40*bf2c3715SXin Li
41*bf2c3715SXin Lilicense {
42*bf2c3715SXin Li    name: "eigen_bench_license",
43*bf2c3715SXin Li    visibility: ["//visibility:private"],
44*bf2c3715SXin Li    license_kinds: [
45*bf2c3715SXin Li        "SPDX-license-identifier-Apache-2.0",
46*bf2c3715SXin Li        "SPDX-license-identifier-GPL-2.0+",
47*bf2c3715SXin Li    ],
48*bf2c3715SXin Li    license_text: [
49*bf2c3715SXin Li        "COPYING.APACHE",
50*bf2c3715SXin Li        "COPYING.GPL",
51*bf2c3715SXin Li    ],
52*bf2c3715SXin Li}
53*bf2c3715SXin Li
54*bf2c3715SXin Lilicense {
55*bf2c3715SXin Li    name: "eigen_restricted_code_license",
56*bf2c3715SXin Li    visibility: ["//visibility:private"],
57*bf2c3715SXin Li    license_kinds: [
58*bf2c3715SXin Li        "SPDX-license-identifier-LGPL-2.1",
59*bf2c3715SXin Li    ],
60*bf2c3715SXin Li    license_text: ["COPYING.LGPL"],
61*bf2c3715SXin Li}
62*bf2c3715SXin Li
63*bf2c3715SXin Lifilegroup {
64*bf2c3715SXin Li    name: "eigen_bench",
65*bf2c3715SXin Li    srcs: ["bench/**/*"],
66*bf2c3715SXin Li    licenses: ["eigen_bench_license"],
67*bf2c3715SXin Li    visibility: ["//visibility:private"],
68*bf2c3715SXin Li}
69*bf2c3715SXin Li
70*bf2c3715SXin Lifilegroup {
71*bf2c3715SXin Li    name: "eigen_restricted_code",
72*bf2c3715SXin Li    srcs: [
73*bf2c3715SXin Li        "unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h",
74*bf2c3715SXin Li        "unsupported/Eigen/src/IterativeSolvers/IterationController.h",
75*bf2c3715SXin Li    ],
76*bf2c3715SXin Li    licenses: ["eigen_restricted_code_license"],
77*bf2c3715SXin Li    visibility: ["//visibility:private"],
78*bf2c3715SXin Li}
79*bf2c3715SXin Li
80*bf2c3715SXin Licc_library_headers {
81*bf2c3715SXin Li    name: "libeigen",
82*bf2c3715SXin Li
83*bf2c3715SXin Li    // Although entire directory is exported, only Eigen and unsupported/Eigen
84*bf2c3715SXin Li    // contain actual exported headers. When capturing header files for
85*bf2c3715SXin Li    // snapshot, only these two directories will be globbed.
86*bf2c3715SXin Li    export_include_dirs: ["."],
87*bf2c3715SXin Li    cflags: ["-DEIGEN_MPL2_ONLY"],
88*bf2c3715SXin Li
89*bf2c3715SXin Li    vendor_available: true,
90*bf2c3715SXin Li    host_supported: true,
91*bf2c3715SXin Li    apex_available: [
92*bf2c3715SXin Li        "com.android.neuralnetworks",
93*bf2c3715SXin Li        "test_com.android.neuralnetworks",
94*bf2c3715SXin Li        "//apex_available:platform",
95*bf2c3715SXin Li        "com.android.ondevicepersonalization",
96*bf2c3715SXin Li    ],
97*bf2c3715SXin Li    min_sdk_version: "apex_inherit",
98*bf2c3715SXin Li    sdk_version: "current",
99*bf2c3715SXin Li}
100*bf2c3715SXin Li
101*bf2c3715SXin Lisubdirs = ["blas"]
102