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