xref: /aosp_15_r20/external/swiftshader/Android.bp (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
1*03ce13f7SAndroid Build Coastguard Worker//
2*03ce13f7SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
3*03ce13f7SAndroid Build Coastguard Worker//
4*03ce13f7SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*03ce13f7SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*03ce13f7SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*03ce13f7SAndroid Build Coastguard Worker//
8*03ce13f7SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*03ce13f7SAndroid Build Coastguard Worker//
10*03ce13f7SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*03ce13f7SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*03ce13f7SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*03ce13f7SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*03ce13f7SAndroid Build Coastguard Worker// limitations under the License.
15*03ce13f7SAndroid Build Coastguard Worker//
16*03ce13f7SAndroid Build Coastguard Worker
17*03ce13f7SAndroid Build Coastguard Workerpackage {
18*03ce13f7SAndroid Build Coastguard Worker    default_applicable_licenses: ["external_swiftshader_license"],
19*03ce13f7SAndroid Build Coastguard Worker}
20*03ce13f7SAndroid Build Coastguard Worker
21*03ce13f7SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
22*03ce13f7SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
23*03ce13f7SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
24*03ce13f7SAndroid Build Coastguard Worker//
25*03ce13f7SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
26*03ce13f7SAndroid Build Coastguard Worker//
27*03ce13f7SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
28*03ce13f7SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
29*03ce13f7SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
30*03ce13f7SAndroid Build Coastguard Worker//
31*03ce13f7SAndroid Build Coastguard Worker// For unused files, consider creating a 'filegroup' with "//visibility:private"
32*03ce13f7SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
33*03ce13f7SAndroid Build Coastguard Worker// used in the current project.
34*03ce13f7SAndroid Build Coastguard Worker//
35*03ce13f7SAndroid Build Coastguard Worker// large-scale-change filtered out the below license kinds as false-positives:
36*03ce13f7SAndroid Build Coastguard Worker//   SPDX-license-identifier-GPL
37*03ce13f7SAndroid Build Coastguard Worker//   SPDX-license-identifier-GPL-3.0
38*03ce13f7SAndroid Build Coastguard Worker// http://go/android-license-faq
39*03ce13f7SAndroid Build Coastguard Workerlicense {
40*03ce13f7SAndroid Build Coastguard Worker    name: "external_swiftshader_license",
41*03ce13f7SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
42*03ce13f7SAndroid Build Coastguard Worker    license_kinds: [
43*03ce13f7SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
44*03ce13f7SAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
45*03ce13f7SAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
46*03ce13f7SAndroid Build Coastguard Worker        "SPDX-license-identifier-NCSA",
47*03ce13f7SAndroid Build Coastguard Worker        "legacy_unencumbered",
48*03ce13f7SAndroid Build Coastguard Worker    ],
49*03ce13f7SAndroid Build Coastguard Worker    license_text: [
50*03ce13f7SAndroid Build Coastguard Worker        "LICENSE.txt",
51*03ce13f7SAndroid Build Coastguard Worker    ],
52*03ce13f7SAndroid Build Coastguard Worker}
53*03ce13f7SAndroid Build Coastguard Worker
54*03ce13f7SAndroid Build Coastguard Workercc_defaults {
55*03ce13f7SAndroid Build Coastguard Worker    name: "swiftshader_common",
56*03ce13f7SAndroid Build Coastguard Worker
57*03ce13f7SAndroid Build Coastguard Worker    gnu_extensions: false,
58*03ce13f7SAndroid Build Coastguard Worker
59*03ce13f7SAndroid Build Coastguard Worker    cflags: [
60*03ce13f7SAndroid Build Coastguard Worker        "-Werror",
61*03ce13f7SAndroid Build Coastguard Worker        "-Wwrite-strings",
62*03ce13f7SAndroid Build Coastguard Worker    ],
63*03ce13f7SAndroid Build Coastguard Worker
64*03ce13f7SAndroid Build Coastguard Worker    cppflags: [
65*03ce13f7SAndroid Build Coastguard Worker        "-Woverloaded-virtual",
66*03ce13f7SAndroid Build Coastguard Worker        "-DVK_EXPORT= ",
67*03ce13f7SAndroid Build Coastguard Worker    ],
68*03ce13f7SAndroid Build Coastguard Worker
69*03ce13f7SAndroid Build Coastguard Worker    arch: {
70*03ce13f7SAndroid Build Coastguard Worker        x86: {
71*03ce13f7SAndroid Build Coastguard Worker            cflags: [
72*03ce13f7SAndroid Build Coastguard Worker                "-msse2",
73*03ce13f7SAndroid Build Coastguard Worker            ],
74*03ce13f7SAndroid Build Coastguard Worker        },
75*03ce13f7SAndroid Build Coastguard Worker        x86_64: {
76*03ce13f7SAndroid Build Coastguard Worker            cflags: [
77*03ce13f7SAndroid Build Coastguard Worker                "-msse2",
78*03ce13f7SAndroid Build Coastguard Worker            ],
79*03ce13f7SAndroid Build Coastguard Worker        },
80*03ce13f7SAndroid Build Coastguard Worker    },
81*03ce13f7SAndroid Build Coastguard Worker
82*03ce13f7SAndroid Build Coastguard Worker    target: {
83*03ce13f7SAndroid Build Coastguard Worker        android: {
84*03ce13f7SAndroid Build Coastguard Worker            cppflags: [
85*03ce13f7SAndroid Build Coastguard Worker                "-DVK_USE_PLATFORM_ANDROID_KHR",
86*03ce13f7SAndroid Build Coastguard Worker            ],
87*03ce13f7SAndroid Build Coastguard Worker        },
88*03ce13f7SAndroid Build Coastguard Worker        host: {
89*03ce13f7SAndroid Build Coastguard Worker            cppflags: [
90*03ce13f7SAndroid Build Coastguard Worker                "-fno-rtti",
91*03ce13f7SAndroid Build Coastguard Worker                "-fno-exceptions",
92*03ce13f7SAndroid Build Coastguard Worker            ],
93*03ce13f7SAndroid Build Coastguard Worker            compile_multilib: "64",
94*03ce13f7SAndroid Build Coastguard Worker        },
95*03ce13f7SAndroid Build Coastguard Worker
96*03ce13f7SAndroid Build Coastguard Worker        // We don't need Darwin host-side builds
97*03ce13f7SAndroid Build Coastguard Worker        darwin: {
98*03ce13f7SAndroid Build Coastguard Worker            enabled: false,
99*03ce13f7SAndroid Build Coastguard Worker        },
100*03ce13f7SAndroid Build Coastguard Worker    },
101*03ce13f7SAndroid Build Coastguard Worker}
102*03ce13f7SAndroid Build Coastguard Worker
103*03ce13f7SAndroid Build Coastguard Workercc_defaults {
104*03ce13f7SAndroid Build Coastguard Worker    name: "swiftshader_common_release",
105*03ce13f7SAndroid Build Coastguard Worker
106*03ce13f7SAndroid Build Coastguard Worker    defaults: [ "swiftshader_common" ],
107*03ce13f7SAndroid Build Coastguard Worker
108*03ce13f7SAndroid Build Coastguard Worker    cflags: [
109*03ce13f7SAndroid Build Coastguard Worker        "-Os",
110*03ce13f7SAndroid Build Coastguard Worker        "-fomit-frame-pointer",
111*03ce13f7SAndroid Build Coastguard Worker        "-ffunction-sections",
112*03ce13f7SAndroid Build Coastguard Worker        "-fdata-sections",
113*03ce13f7SAndroid Build Coastguard Worker    ],
114*03ce13f7SAndroid Build Coastguard Worker}
115*03ce13f7SAndroid Build Coastguard Worker
116*03ce13f7SAndroid Build Coastguard Workercc_defaults {
117*03ce13f7SAndroid Build Coastguard Worker    name: "swiftshader_common_debug",
118*03ce13f7SAndroid Build Coastguard Worker
119*03ce13f7SAndroid Build Coastguard Worker    defaults: [ "swiftshader_common" ],
120*03ce13f7SAndroid Build Coastguard Worker
121*03ce13f7SAndroid Build Coastguard Worker    cflags: [
122*03ce13f7SAndroid Build Coastguard Worker        "-O0",
123*03ce13f7SAndroid Build Coastguard Worker        "-g",
124*03ce13f7SAndroid Build Coastguard Worker        "-UNDEBUG",
125*03ce13f7SAndroid Build Coastguard Worker    ],
126*03ce13f7SAndroid Build Coastguard Worker}
127*03ce13f7SAndroid Build Coastguard Worker
128*03ce13f7SAndroid Build Coastguard Workercc_library_headers {
129*03ce13f7SAndroid Build Coastguard Worker    name: "swiftshader_platform_headers",
130*03ce13f7SAndroid Build Coastguard Worker    host_supported: true,
131*03ce13f7SAndroid Build Coastguard Worker    device_supported: true,
132*03ce13f7SAndroid Build Coastguard Worker    vendor_available: true,
133*03ce13f7SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
134*03ce13f7SAndroid Build Coastguard Worker}
135*03ce13f7SAndroid Build Coastguard Worker
136*03ce13f7SAndroid Build Coastguard Workercc_library_headers {
137*03ce13f7SAndroid Build Coastguard Worker    name: "swiftshader_host_headers",
138*03ce13f7SAndroid Build Coastguard Worker    device_supported: false,
139*03ce13f7SAndroid Build Coastguard Worker    host_supported: true,
140*03ce13f7SAndroid Build Coastguard Worker    export_include_dirs: ["include/Android"],
141*03ce13f7SAndroid Build Coastguard Worker}
142