xref: /aosp_15_r20/external/gmmlib/Android.bp (revision 35ffd701415c9e32e53136d61a677a8d0a8fc4a5)
1// Copyright (c) 2024, Intel Corporation
2
3// Permission is hereby granted, free of charge, to any person obtaining a
4// copy of this software and associated documentation files (the "Software"),
5// to deal in the Software without restriction, including without limitation
6// the rights to use, copy, modify, merge, publish, distribute, sublicense,
7// and/or sell copies of the Software, and to permit persons to whom the
8// Software is furnished to do so, subject to the following conditions:
9
10// The above copyright notice and this permission notice shall be included
11// in all copies or substantial portions of the Software.
12
13// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
14// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
17// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
18// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
19// OTHER DEALINGS IN THE SOFTWARE.
20
21package {
22    default_applicable_licenses: ["external_gmmlib_license"],
23}
24
25license {
26    name: "external_gmmlib_license",
27    visibility: [":__subpackages__"],
28    license_text: [
29        "LICENSE.md",
30    ],
31}
32
33cc_library_shared {
34    name: "libigdgmm_android",
35    vendor: true,
36    srcs: [
37        "Source/GmmLib/CachePolicy/GmmCachePolicy.cpp",
38        "Source/GmmLib/CachePolicy/GmmCachePolicyCommon.cpp",
39        "Source/GmmLib/CachePolicy/GmmGen10CachePolicy.cpp",
40        "Source/GmmLib/CachePolicy/GmmGen11CachePolicy.cpp",
41        "Source/GmmLib/CachePolicy/GmmGen12CachePolicy.cpp",
42        "Source/GmmLib/CachePolicy/GmmGen12dGPUCachePolicy.cpp",
43        "Source/GmmLib/CachePolicy/GmmGen8CachePolicy.cpp",
44        "Source/GmmLib/CachePolicy/GmmGen9CachePolicy.cpp",
45        "Source/GmmLib/CachePolicy/GmmXe2_LPGCachePolicy.cpp",
46        "Source/GmmLib/CachePolicy/GmmXe_LPGCachePolicy.cpp",
47        "Source/GmmLib/GlobalInfo/GmmClientContext.cpp",
48        "Source/GmmLib/GlobalInfo/GmmInfo.cpp",
49        "Source/GmmLib/GlobalInfo/GmmLibDllMain.cpp",
50        "Source/GmmLib/Platform/GmmGen10Platform.cpp",
51        "Source/GmmLib/Platform/GmmGen11Platform.cpp",
52        "Source/GmmLib/Platform/GmmGen12Platform.cpp",
53        "Source/GmmLib/Platform/GmmGen8Platform.cpp",
54        "Source/GmmLib/Platform/GmmGen9Platform.cpp",
55        "Source/GmmLib/Platform/GmmPlatform.cpp",
56        "Source/GmmLib/Resource/GmmResourceInfo.cpp",
57        "Source/GmmLib/Resource/GmmResourceInfoCommon.cpp",
58        "Source/GmmLib/Resource/GmmResourceInfoCommonEx.cpp",
59        "Source/GmmLib/Resource/GmmRestrictions.cpp",
60        "Source/GmmLib/Resource/Linux/GmmResourceInfoLinCWrapper.cpp",
61        "Source/GmmLib/Texture/GmmGen10Texture.cpp",
62        "Source/GmmLib/Texture/GmmGen11Texture.cpp",
63        "Source/GmmLib/Texture/GmmGen12Texture.cpp",
64        "Source/GmmLib/Texture/GmmGen7Texture.cpp",
65        "Source/GmmLib/Texture/GmmGen8Texture.cpp",
66        "Source/GmmLib/Texture/GmmGen9Texture.cpp",
67        "Source/GmmLib/Texture/GmmTexture.cpp",
68        "Source/GmmLib/Texture/GmmTextureAlloc.cpp",
69        "Source/GmmLib/Texture/GmmTextureOffset.cpp",
70        "Source/GmmLib/Texture/GmmTextureSpecialCases.cpp",
71        "Source/GmmLib/Texture/GmmXe_LPGTexture.cpp",
72        "Source/GmmLib/TranslationTable/GmmAuxTable.cpp",
73        "Source/GmmLib/TranslationTable/GmmPageTableMgr.cpp",
74        "Source/GmmLib/TranslationTable/GmmUmdTranslationTable.cpp",
75        "Source/GmmLib/Utility/CpuSwizzleBlt/CpuSwizzleBlt.c",
76        "Source/GmmLib/Utility/GmmLog/GmmLog.cpp",
77        "Source/GmmLib/Utility/GmmUtility.cpp",
78        "Source/Common/AssertTracer/AssertTracer.cpp",
79    ],
80
81    cflags: [
82        "-DGMM_LIB_DLL",
83        "-DGMM_LIB_DLL_EXPORTS",
84        "-DGMM_UNIFIED_LIB",
85        "-DGMM_UNIFY_DAF_API",
86        "-DISTDLIB_UMD",
87        "-DSMALL_POOL_ALLOC",
88        "-DUNUSED_ISTDLIB_MT",
89        "-D_ATL_NO_WIN_SUPPORT",
90        "-D_RELEASE",
91        "-D_X64",
92        "-D__GFX_MACRO_C__",
93        "-D__GMM",
94        "-D__STDC_CONSTANT_MACROS",
95        "-D__STDC_LIMIT_MACROS",
96        "-D__UMD",
97        "-Digfx_gmmumd_dll_EXPORTS",
98        "-fvisibility=hidden",
99        "-fno-omit-frame-pointer",
100        "-march=corei7",
101        "-Werror",
102        "-Wno-logical-op-parentheses",
103        "-Wno-shift-negative-value",
104        "-Wno-unused-parameter",
105    ],
106
107    cppflags: [
108        "-Wno-implicit-fallthrough",
109        "-Wno-missing-braces",
110        "-Wno-unknown-pragmas",
111        "-Wno-parentheses",
112        "-Wno-pragma-pack",
113        "-fexceptions",
114        "-std=c++11",
115        "-fvisibility-inlines-hidden",
116        "-fno-use-cxa-atexit",
117        "-fno-rtti",
118        "-fcheck-new",
119        "-pthread",
120    ],
121
122    local_include_dirs: [
123        "Source/GmmLib",
124        "Source/GmmLib/Utility/GmmLog",
125        "Source/GmmLib/inc",
126        "Source/GmmLib/Utility",
127        "Source/GmmLib/GlobalInfo",
128        "Source/GmmLib/Texture",
129        "Source/GmmLib/Resource",
130        "Source/GmmLib/Platform",
131        "Source/util",
132        "Source/inc",
133        "Source/inc/common",
134        "Source/inc/umKmInc",
135    ],
136
137    enabled: false,
138    arch: {
139        x86_64: {
140            enabled: true,
141        },
142    },
143}
144
145cc_library_headers {
146    name: "libigdgmm_headers",
147    vendor: true,
148    export_include_dirs: [
149        "Source/GmmLib/inc",
150        "Source/inc",
151        "Source/inc/common",
152    ],
153
154    enabled: false,
155    arch: {
156        x86_64: {
157            enabled: true,
158        },
159    },
160}
161