xref: /aosp_15_r20/external/cblas/Android.bp (revision 1858f9982ea1ad57fb52080c08594e4d1cce4fa1)
1// Copyright (C) 2015 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    default_applicable_licenses: ["external_cblas_license"],
17}
18
19// Added automatically by a large-scale-change
20// See: http://go/android-license-faq
21license {
22    name: "external_cblas_license",
23    visibility: [":__subpackages__"],
24    license_kinds: [
25        "legacy_unencumbered",
26    ],
27    license_text: [
28        "LICENSE",
29    ],
30}
31
32cc_defaults {
33    name: "cblas-defaults",
34
35    // Optimize for size. It is only used by Renderscript, which is deprecated and is rarely
36    // used.
37    optimize_for_size: true,
38
39    srcs: [
40        "src/cblas_caxpy.c",
41        "src/cblas_ccopy.c",
42        "src/cblas_cdotc_sub.c",
43        "src/cblas_cdotu_sub.c",
44        "src/cblas_cgbmv.c",
45        "src/cblas_cgemm.c",
46        "src/cblas_cgemv.c",
47        "src/cblas_cgerc.c",
48        "src/cblas_cgeru.c",
49        "src/cblas_chbmv.c",
50        "src/cblas_chemm.c",
51        "src/cblas_chemv.c",
52        "src/cblas_cher.c",
53        "src/cblas_cher2.c",
54        "src/cblas_cher2k.c",
55        "src/cblas_cherk.c",
56        "src/cblas_chpmv.c",
57        "src/cblas_chpr.c",
58        "src/cblas_chpr2.c",
59        "src/cblas_cscal.c",
60        "src/cblas_csscal.c",
61        "src/cblas_cswap.c",
62        "src/cblas_csymm.c",
63        "src/cblas_csyr2k.c",
64        "src/cblas_csyrk.c",
65        "src/cblas_ctbmv.c",
66        "src/cblas_ctbsv.c",
67        "src/cblas_ctpmv.c",
68        "src/cblas_ctpsv.c",
69        "src/cblas_ctrmm.c",
70        "src/cblas_ctrmv.c",
71        "src/cblas_ctrsm.c",
72        "src/cblas_ctrsv.c",
73        "src/cblas_dasum.c",
74        "src/cblas_daxpy.c",
75        "src/cblas_dcopy.c",
76        "src/cblas_ddot.c",
77        "src/cblas_dgbmv.c",
78        "src/cblas_dgemm.c",
79        "src/cblas_dgemv.c",
80        "src/cblas_dger.c",
81        "src/cblas_dnrm2.c",
82        "src/cblas_drot.c",
83        "src/cblas_drotg.c",
84        "src/cblas_drotm.c",
85        "src/cblas_drotmg.c",
86        "src/cblas_dsbmv.c",
87        "src/cblas_dscal.c",
88        "src/cblas_dsdot.c",
89        "src/cblas_dspmv.c",
90        "src/cblas_dspr.c",
91        "src/cblas_dspr2.c",
92        "src/cblas_dswap.c",
93        "src/cblas_dsymm.c",
94        "src/cblas_dsymv.c",
95        "src/cblas_dsyr.c",
96        "src/cblas_dsyr2.c",
97        "src/cblas_dsyr2k.c",
98        "src/cblas_dsyrk.c",
99        "src/cblas_dtbmv.c",
100        "src/cblas_dtbsv.c",
101        "src/cblas_dtpmv.c",
102        "src/cblas_dtpsv.c",
103        "src/cblas_dtrmm.c",
104        "src/cblas_dtrmv.c",
105        "src/cblas_dtrsm.c",
106        "src/cblas_dtrsv.c",
107        "src/cblas_dzasum.c",
108        "src/cblas_dznrm2.c",
109        "src/cblas_globals.c",
110        "src/cblas_icamax.c",
111        "src/cblas_idamax.c",
112        "src/cblas_isamax.c",
113        "src/cblas_izamax.c",
114        "src/cblas_sasum.c",
115        "src/cblas_saxpy.c",
116        "src/cblas_scasum.c",
117        "src/cblas_scnrm2.c",
118        "src/cblas_scopy.c",
119        "src/cblas_sdot.c",
120        "src/cblas_sdsdot.c",
121        "src/cblas_sgbmv.c",
122        "src/cblas_sgemm.c",
123        "src/cblas_sgemv.c",
124        "src/cblas_sger.c",
125        "src/cblas_snrm2.c",
126        "src/cblas_srot.c",
127        "src/cblas_srotg.c",
128        "src/cblas_srotm.c",
129        "src/cblas_srotmg.c",
130        "src/cblas_ssbmv.c",
131        "src/cblas_sscal.c",
132        "src/cblas_sspmv.c",
133        "src/cblas_sspr.c",
134        "src/cblas_sspr2.c",
135        "src/cblas_sswap.c",
136        "src/cblas_ssymm.c",
137        "src/cblas_ssymv.c",
138        "src/cblas_ssyr.c",
139        "src/cblas_ssyr2.c",
140        "src/cblas_ssyr2k.c",
141        "src/cblas_ssyrk.c",
142        "src/cblas_stbmv.c",
143        "src/cblas_stbsv.c",
144        "src/cblas_stpmv.c",
145        "src/cblas_stpsv.c",
146        "src/cblas_strmm.c",
147        "src/cblas_strmv.c",
148        "src/cblas_strsm.c",
149        "src/cblas_strsv.c",
150        "src/cblas_xerbla.c",
151        "src/cblas_zaxpy.c",
152        "src/cblas_zcopy.c",
153        "src/cblas_zdotc_sub.c",
154        "src/cblas_zdotu_sub.c",
155        "src/cblas_zdscal.c",
156        "src/cblas_zgbmv.c",
157        "src/cblas_zgemm.c",
158        "src/cblas_zgemv.c",
159        "src/cblas_zgerc.c",
160        "src/cblas_zgeru.c",
161        "src/cblas_zhbmv.c",
162        "src/cblas_zhemm.c",
163        "src/cblas_zhemv.c",
164        "src/cblas_zher.c",
165        "src/cblas_zher2.c",
166        "src/cblas_zher2k.c",
167        "src/cblas_zherk.c",
168        "src/cblas_zhpmv.c",
169        "src/cblas_zhpr.c",
170        "src/cblas_zhpr2.c",
171        "src/cblas_zscal.c",
172        "src/cblas_zswap.c",
173        "src/cblas_zsymm.c",
174        "src/cblas_zsyr2k.c",
175        "src/cblas_zsyrk.c",
176        "src/cblas_ztbmv.c",
177        "src/cblas_ztbsv.c",
178        "src/cblas_ztpmv.c",
179        "src/cblas_ztpsv.c",
180        "src/cblas_ztrmm.c",
181        "src/cblas_ztrmv.c",
182        "src/cblas_ztrsm.c",
183        "src/cblas_ztrsv.c",
184        "src/xerbla.c",
185    ],
186
187    cflags: [
188        "-Werror",
189        "-Wno-tautological-negation-compare",
190    ],
191    export_include_dirs: ["include"],
192}
193
194cc_library_shared {
195    name: "libblas",
196    vendor_available: true,
197    // TODO(b/153609531): remove when no longer needed.
198    native_bridge_supported: true,
199    double_loadable: true,
200    defaults: ["cblas-defaults"],
201    static_libs: ["libF77blas"],
202}
203
204// Build libblas using API 9 toolchain for RS Support lib.
205cc_library_shared {
206    name: "libblasV8",
207    defaults: ["cblas-defaults"],
208    sdk_version: "9",
209    stl: "c++_static",
210    ldflags: [
211        "-Wl,--exclude-libs,libc++_static.a",
212        "-Wl,--hash-style=sysv",
213    ],
214    shared_libs: ["libdl"],
215    static_libs: ["libF77blasV8"],
216}
217