1*61046927SAndroid Build Coastguard Worker// Mesa 3-D graphics library 2*61046927SAndroid Build Coastguard Worker// 3*61046927SAndroid Build Coastguard Worker// Copyright (C) 2010-2011 Chia-I Wu <[email protected]> 4*61046927SAndroid Build Coastguard Worker// Copyright (C) 2010-2011 LunarG Inc. 5*61046927SAndroid Build Coastguard Worker// 6*61046927SAndroid Build Coastguard Worker// Permission is hereby granted, free of charge, to any person obtaining a 7*61046927SAndroid Build Coastguard Worker// copy of this software and associated documentation files (the "Software"), 8*61046927SAndroid Build Coastguard Worker// to deal in the Software without restriction, including without limitation 9*61046927SAndroid Build Coastguard Worker// the rights to use, copy, modify, merge, publish, distribute, sublicense, 10*61046927SAndroid Build Coastguard Worker// and/or sell copies of the Software, and to permit persons to whom the 11*61046927SAndroid Build Coastguard Worker// Software is furnished to do so, subject to the following conditions: 12*61046927SAndroid Build Coastguard Worker// 13*61046927SAndroid Build Coastguard Worker// The above copyright notice and this permission notice shall be included 14*61046927SAndroid Build Coastguard Worker// in all copies or substantial portions of the Software. 15*61046927SAndroid Build Coastguard Worker// 16*61046927SAndroid Build Coastguard Worker// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17*61046927SAndroid Build Coastguard Worker// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18*61046927SAndroid Build Coastguard Worker// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 19*61046927SAndroid Build Coastguard Worker// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20*61046927SAndroid Build Coastguard Worker// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21*61046927SAndroid Build Coastguard Worker// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 22*61046927SAndroid Build Coastguard Worker// DEALINGS IN THE SOFTWARE. 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE 25*61046927SAndroid Build Coastguard Worker// CONSULT THE OWNERS AND [email protected] BEFORE 26*61046927SAndroid Build Coastguard Worker// DEPENDING ON IT IN YOUR PROJECT. *** 27*61046927SAndroid Build Coastguard Worker 28*61046927SAndroid Build Coastguard Workerpackage { 29*61046927SAndroid Build Coastguard Worker default_applicable_licenses: ["external_mesa3d_license"], 30*61046927SAndroid Build Coastguard Worker} 31*61046927SAndroid Build Coastguard Worker 32*61046927SAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 33*61046927SAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 34*61046927SAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 35*61046927SAndroid Build Coastguard Worker// 36*61046927SAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 37*61046927SAndroid Build Coastguard Worker// 38*61046927SAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 39*61046927SAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 40*61046927SAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 41*61046927SAndroid Build Coastguard Worker// 42*61046927SAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 43*61046927SAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 44*61046927SAndroid Build Coastguard Worker// used in the current project. 45*61046927SAndroid Build Coastguard Worker// See: http://go/android-license-faq 46*61046927SAndroid Build Coastguard Workerlicense { 47*61046927SAndroid Build Coastguard Worker name: "external_mesa3d_license", 48*61046927SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 49*61046927SAndroid Build Coastguard Worker license_kinds: [ 50*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 51*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 52*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-BSL-1.0", 53*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-GPL", 54*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-GPL-2.0", 55*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-ISC", 56*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 57*61046927SAndroid Build Coastguard Worker "SPDX-license-identifier-Unlicense", 58*61046927SAndroid Build Coastguard Worker "legacy_by_exception_only", // by exception only 59*61046927SAndroid Build Coastguard Worker "legacy_notice", 60*61046927SAndroid Build Coastguard Worker "legacy_unencumbered", 61*61046927SAndroid Build Coastguard Worker ], 62*61046927SAndroid Build Coastguard Worker license_text: [ 63*61046927SAndroid Build Coastguard Worker "LICENSE", 64*61046927SAndroid Build Coastguard Worker ], 65*61046927SAndroid Build Coastguard Worker} 66*61046927SAndroid Build Coastguard Worker 67*61046927SAndroid Build Coastguard Workercc_defaults { 68*61046927SAndroid Build Coastguard Worker name: "mesa_version_defaults", 69*61046927SAndroid Build Coastguard Worker cflags: ["-DPACKAGE_VERSION=\"24.2\""], 70*61046927SAndroid Build Coastguard Worker} 71*61046927SAndroid Build Coastguard Worker 72*61046927SAndroid Build Coastguard Workerpython_binary_host { 73*61046927SAndroid Build Coastguard Worker name: "git_sha1_gen", 74*61046927SAndroid Build Coastguard Worker main: "bin/git_sha1_gen.py", 75*61046927SAndroid Build Coastguard Worker srcs: [ 76*61046927SAndroid Build Coastguard Worker "bin/git_sha1_gen.py", 77*61046927SAndroid Build Coastguard Worker ], 78*61046927SAndroid Build Coastguard Worker} 79*61046927SAndroid Build Coastguard Worker 80*61046927SAndroid Build Coastguard Workergenrule { 81*61046927SAndroid Build Coastguard Worker name: "git_sha1_header", 82*61046927SAndroid Build Coastguard Worker out: ["git_sha1.h"], 83*61046927SAndroid Build Coastguard Worker tools: ["git_sha1_gen"], 84*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location git_sha1_gen) " + 85*61046927SAndroid Build Coastguard Worker "--output $(location git_sha1.h)", 86*61046927SAndroid Build Coastguard Worker} 87*61046927SAndroid Build Coastguard Worker 88*61046927SAndroid Build Coastguard Workercc_library_headers { 89*61046927SAndroid Build Coastguard Worker name: "mesa_common_headers", 90*61046927SAndroid Build Coastguard Worker vendor_available: true, 91*61046927SAndroid Build Coastguard Worker host_supported: true, 92*61046927SAndroid Build Coastguard Worker export_include_dirs: [ 93*61046927SAndroid Build Coastguard Worker "src", 94*61046927SAndroid Build Coastguard Worker "include", 95*61046927SAndroid Build Coastguard Worker ], 96*61046927SAndroid Build Coastguard Worker cflags: [ 97*61046927SAndroid Build Coastguard Worker "-DVK_USE_PLATFORM_ANDROID_KHR", 98*61046927SAndroid Build Coastguard Worker ], 99*61046927SAndroid Build Coastguard Worker visibility: [":__subpackages__"], 100*61046927SAndroid Build Coastguard Worker} 101*61046927SAndroid Build Coastguard Worker 102*61046927SAndroid Build Coastguard Worker// This needs to be kept in sync with Android.common.mk 103*61046927SAndroid Build Coastguard Workercc_defaults { 104*61046927SAndroid Build Coastguard Worker name: "mesa_common_defaults", 105*61046927SAndroid Build Coastguard Worker defaults: ["mesa_version_defaults"], 106*61046927SAndroid Build Coastguard Worker // uncomment to keep the debug symbols 107*61046927SAndroid Build Coastguard Worker // strip: { none: true, }, 108*61046927SAndroid Build Coastguard Worker header_libs: ["mesa_common_headers"], 109*61046927SAndroid Build Coastguard Worker cflags: [ 110*61046927SAndroid Build Coastguard Worker "-Wno-error", 111*61046927SAndroid Build Coastguard Worker "-Werror=incompatible-pointer-types", 112*61046927SAndroid Build Coastguard Worker "-Wno-unused-parameter", 113*61046927SAndroid Build Coastguard Worker "-Wno-pointer-arith", 114*61046927SAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 115*61046927SAndroid Build Coastguard Worker "-Wno-initializer-overrides", 116*61046927SAndroid Build Coastguard Worker "-Wno-mismatched-tags", 117*61046927SAndroid Build Coastguard Worker // PACKAGE_VERSION is in mesa_version_defaults 118*61046927SAndroid Build Coastguard Worker "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"", 119*61046927SAndroid Build Coastguard Worker // XXX: The following __STDC_*_MACROS defines should not be needed. 120*61046927SAndroid Build Coastguard Worker // It's likely due to a bug elsewhere, but let's temporarily add them 121*61046927SAndroid Build Coastguard Worker // here to fix the radeonsi build. 122*61046927SAndroid Build Coastguard Worker "-DENABLE_SHADER_CACHE", 123*61046927SAndroid Build Coastguard Worker "-D__STDC_CONSTANT_MACROS", 124*61046927SAndroid Build Coastguard Worker "-D__STDC_LIMIT_MACROS", 125*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_EXPECT", 126*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_FFS", 127*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_FFSLL", 128*61046927SAndroid Build Coastguard Worker "-DHAVE_DLFCN_H", 129*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_FLATTEN", 130*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_UNUSED", 131*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_FORMAT", 132*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_PACKED", 133*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_ALIAS", 134*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_NORETURN", 135*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL", 136*61046927SAndroid Build Coastguard Worker "-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT", 137*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_CTZ", 138*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_POPCOUNT", 139*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_POPCOUNTLL", 140*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_CLZ", 141*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_CLZLL", 142*61046927SAndroid Build Coastguard Worker "-DHAVE___BUILTIN_UNREACHABLE", 143*61046927SAndroid Build Coastguard Worker "-DHAVE_PTHREAD=1", 144*61046927SAndroid Build Coastguard Worker "-DHAVE_DLADDR", 145*61046927SAndroid Build Coastguard Worker "-DHAVE_DL_ITERATE_PHDR", 146*61046927SAndroid Build Coastguard Worker "-DHAVE_LINUX_FUTEX_H", 147*61046927SAndroid Build Coastguard Worker "-DHAVE_ENDIAN_H", 148*61046927SAndroid Build Coastguard Worker "-DMAJOR_IN_SYSMACROS", 149*61046927SAndroid Build Coastguard Worker "-DVK_USE_PLATFORM_ANDROID_KHR", 150*61046927SAndroid Build Coastguard Worker "-fvisibility=hidden", 151*61046927SAndroid Build Coastguard Worker "-fno-math-errno", 152*61046927SAndroid Build Coastguard Worker "-fno-trapping-math", 153*61046927SAndroid Build Coastguard Worker "-Werror", 154*61046927SAndroid Build Coastguard Worker "-Wno-#warnings", 155*61046927SAndroid Build Coastguard Worker "-Wno-asm-operand-widths", 156*61046927SAndroid Build Coastguard Worker "-Wno-cast-calling-convention", 157*61046927SAndroid Build Coastguard Worker "-Wno-constant-logical-operand", 158*61046927SAndroid Build Coastguard Worker "-Wno-enum-conversion", 159*61046927SAndroid Build Coastguard Worker "-Wno-format", 160*61046927SAndroid Build Coastguard Worker "-Wno-gnu-variable-sized-type-not-at-end", 161*61046927SAndroid Build Coastguard Worker "-Wno-implicit-fallthrough", 162*61046927SAndroid Build Coastguard Worker "-Wno-implicit-int", 163*61046927SAndroid Build Coastguard Worker "-Wno-incompatible-pointer-types", 164*61046927SAndroid Build Coastguard Worker "-Wno-missing-braces", 165*61046927SAndroid Build Coastguard Worker "-Wno-overloaded-virtual", 166*61046927SAndroid Build Coastguard Worker "-Wno-self-assign", 167*61046927SAndroid Build Coastguard Worker "-Wno-shift-negative-value", 168*61046927SAndroid Build Coastguard Worker "-Wno-sign-compare", 169*61046927SAndroid Build Coastguard Worker "-Wno-sometimes-uninitialized", 170*61046927SAndroid Build Coastguard Worker "-Wno-switch", 171*61046927SAndroid Build Coastguard Worker "-Wno-typedef-redefinition", 172*61046927SAndroid Build Coastguard Worker "-Wno-uninitialized", 173*61046927SAndroid Build Coastguard Worker "-Wno-implicit-const-int-float-conversion", 174*61046927SAndroid Build Coastguard Worker "-Wno-sync-alignment", 175*61046927SAndroid Build Coastguard Worker "-Wno-implicit-function-declaration", 176*61046927SAndroid Build Coastguard Worker "-Wno-constant-conversion", 177*61046927SAndroid Build Coastguard Worker "-DHAVE_TIMESPEC_GET", 178*61046927SAndroid Build Coastguard Worker "-DHAVE_STRUCT_TIMESPEC", 179*61046927SAndroid Build Coastguard Worker ], 180*61046927SAndroid Build Coastguard Worker c_std: "c11", 181*61046927SAndroid Build Coastguard Worker cppflags: [ 182*61046927SAndroid Build Coastguard Worker "-D__STDC_CONSTANT_MACROS", 183*61046927SAndroid Build Coastguard Worker "-D__STDC_FORMAT_MACROS", 184*61046927SAndroid Build Coastguard Worker "-D__STDC_LIMIT_MACROS", 185*61046927SAndroid Build Coastguard Worker "-Wno-error=non-virtual-dtor", 186*61046927SAndroid Build Coastguard Worker "-Wno-non-virtual-dtor", 187*61046927SAndroid Build Coastguard Worker ], 188*61046927SAndroid Build Coastguard Worker arch: { 189*61046927SAndroid Build Coastguard Worker arm: { 190*61046927SAndroid Build Coastguard Worker cflags: ["-DNO_FORMAT_ASM"], 191*61046927SAndroid Build Coastguard Worker }, 192*61046927SAndroid Build Coastguard Worker arm64: { 193*61046927SAndroid Build Coastguard Worker cflags: ["-DNO_FORMAT_ASM"], 194*61046927SAndroid Build Coastguard Worker }, 195*61046927SAndroid Build Coastguard Worker }, 196*61046927SAndroid Build Coastguard Worker multilib: { 197*61046927SAndroid Build Coastguard Worker lib32: { 198*61046927SAndroid Build Coastguard Worker cflags: ["-DDEFAULT_DRIVER_DIR=\"/vendor/lib/dri\""], 199*61046927SAndroid Build Coastguard Worker }, 200*61046927SAndroid Build Coastguard Worker lib64: { 201*61046927SAndroid Build Coastguard Worker cflags: ["-DDEFAULT_DRIVER_DIR=\"/vendor/lib64/dri\""], 202*61046927SAndroid Build Coastguard Worker }, 203*61046927SAndroid Build Coastguard Worker }, 204*61046927SAndroid Build Coastguard Worker product_variables: { 205*61046927SAndroid Build Coastguard Worker platform_sdk_version: { 206*61046927SAndroid Build Coastguard Worker cflags: ["-DANDROID_API_LEVEL=%d"], 207*61046927SAndroid Build Coastguard Worker }, 208*61046927SAndroid Build Coastguard Worker }, 209*61046927SAndroid Build Coastguard Worker target: { 210*61046927SAndroid Build Coastguard Worker host: { 211*61046927SAndroid Build Coastguard Worker cflags: [ 212*61046927SAndroid Build Coastguard Worker "-D_GNU_SOURCE", 213*61046927SAndroid Build Coastguard Worker "-DHAVE_LIBDRM", 214*61046927SAndroid Build Coastguard Worker "-DHAVE_SECURE_GETENV", 215*61046927SAndroid Build Coastguard Worker ], 216*61046927SAndroid Build Coastguard Worker shared_libs: ["libdrm"], 217*61046927SAndroid Build Coastguard Worker }, 218*61046927SAndroid Build Coastguard Worker }, 219*61046927SAndroid Build Coastguard Worker} 220