// Mesa 3-D graphics library // // Copyright (C) 2010-2011 Chia-I Wu // Copyright (C) 2010-2011 LunarG Inc. // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. soong_namespace {} // *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE // CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE // DEPENDING ON IT IN YOUR PROJECT. *** package { default_applicable_licenses: ["external_mesa3d_license"], } // Added automatically by a large-scale-change that took the approach of // 'apply every license found to every target'. While this makes sure we respect // every license restriction, it may not be entirely correct. // // e.g. GPL in an MIT project might only apply to the contrib/ directory. // // Please consider splitting the single license below into multiple licenses, // taking care not to lose any license_kind information, and overriding the // default license using the 'licenses: [...]' property on targets as needed. // // For unused files, consider creating a 'fileGroup' with "//visibility:private" // to attach the license to, and including a comment whether the files may be // used in the current project. // See: http://go/android-license-faq license { name: "external_mesa3d_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-BSD", "SPDX-license-identifier-BSL-1.0", "SPDX-license-identifier-GPL", "SPDX-license-identifier-GPL-2.0", "SPDX-license-identifier-ISC", "SPDX-license-identifier-MIT", "SPDX-license-identifier-Unlicense", "legacy_by_exception_only", // by exception only "legacy_notice", "legacy_unencumbered", ], license_text: [ "LICENSE", ], } cc_defaults { name: "mesa_version_defaults", cflags: ["-DPACKAGE_VERSION=\"24.2\""], } python_binary_host { name: "git_sha1_gen", main: "bin/git_sha1_gen.py", srcs: [ "bin/git_sha1_gen.py", ], } genrule { name: "git_sha1_header", out: ["git_sha1.h"], tools: ["git_sha1_gen"], cmd: "python3 $(location git_sha1_gen) " + "--output $(location git_sha1.h)", } cc_library_headers { name: "mesa_common_headers", vendor: true, export_include_dirs: [ "src", "include", ], visibility: [":__subpackages__"], } // This needs to be kept in sync with Android.common.mk cc_defaults { name: "mesa_common_defaults", defaults: ["mesa_version_defaults"], // uncomment to keep the debug symbols // strip: { none: true, }, vendor: true, header_libs: ["mesa_common_headers"], cflags: [ "-Wno-error", "-Werror=incompatible-pointer-types", "-Wno-unused-parameter", "-Wno-pointer-arith", "-Wno-missing-field-initializers", "-Wno-initializer-overrides", "-Wno-mismatched-tags", // PACKAGE_VERSION is in mesa_version_defaults "-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\"", // XXX: The following __STDC_*_MACROS defines should not be needed. // It's likely due to a bug elsewhere, but let's temporarily add them // here to fix the radeonsi build. "-DENABLE_SHADER_CACHE", "-D__STDC_CONSTANT_MACROS", "-D__STDC_LIMIT_MACROS", "-DHAVE___BUILTIN_EXPECT", "-DHAVE___BUILTIN_FFS", "-DHAVE___BUILTIN_FFSLL", "-DHAVE_DLFCN_H", "-DHAVE_FUNC_ATTRIBUTE_FLATTEN", "-DHAVE_FUNC_ATTRIBUTE_UNUSED", "-DHAVE_FUNC_ATTRIBUTE_FORMAT", "-DHAVE_FUNC_ATTRIBUTE_PACKED", "-DHAVE_FUNC_ATTRIBUTE_ALIAS", "-DHAVE_FUNC_ATTRIBUTE_NORETURN", "-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL", "-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT", "-DHAVE___BUILTIN_CTZ", "-DHAVE___BUILTIN_POPCOUNT", "-DHAVE___BUILTIN_POPCOUNTLL", "-DHAVE___BUILTIN_CLZ", "-DHAVE___BUILTIN_CLZLL", "-DHAVE___BUILTIN_UNREACHABLE", "-DHAVE_PTHREAD=1", "-DHAVE_DLADDR", "-DHAVE_DL_ITERATE_PHDR", "-DHAVE_LINUX_FUTEX_H", "-DHAVE_ENDIAN_H", "-DMAJOR_IN_SYSMACROS", "-DVK_USE_PLATFORM_ANDROID_KHR", "-fvisibility=hidden", "-fno-math-errno", "-fno-trapping-math", "-Werror", "-Wno-#warnings", "-Wno-asm-operand-widths", "-Wno-cast-calling-convention", "-Wno-constant-logical-operand", "-Wno-enum-conversion", "-Wno-format", "-Wno-gnu-variable-sized-type-not-at-end", "-Wno-implicit-fallthrough", "-Wno-implicit-int", "-Wno-incompatible-pointer-types", "-Wno-missing-braces", "-Wno-overloaded-virtual", "-Wno-self-assign", "-Wno-shift-negative-value", "-Wno-sign-compare", "-Wno-sometimes-uninitialized", "-Wno-switch", "-Wno-typedef-redefinition", "-Wno-uninitialized", "-Wno-implicit-const-int-float-conversion", "-Wno-sync-alignment", "-Wno-implicit-function-declaration", "-Wno-constant-conversion", "-DHAVE_TIMESPEC_GET", "-DHAVE_STRUCT_TIMESPEC", "-DHAVE_MEMFD_CREATE", ], c_std: "c11", cppflags: [ "-D__STDC_CONSTANT_MACROS", "-D__STDC_FORMAT_MACROS", "-D__STDC_LIMIT_MACROS", "-Wno-error=non-virtual-dtor", "-Wno-non-virtual-dtor", ], arch: { arm: { cflags: ["-DUSE_ARM_ASM"], }, arm64: { cflags: ["-DUSE_AARCH64_ASM"], }, }, multilib: { lib32: { cflags: ["-DDEFAULT_DRIVER_DIR=\"/vendor/lib/dri\""], }, lib64: { cflags: ["-DDEFAULT_DRIVER_DIR=\"/vendor/lib64/dri\""], }, }, product_variables: { platform_sdk_version: { cflags: ["-DANDROID_API_LEVEL=%d"], }, }, target: { host: { cflags: [ "-D_GNU_SOURCE", "-DHAVE_LIBDRM", ], shared_libs: ["libdrm"], }, }, }