aco: set constant_data_offset correctly in the case of merged shaders
[mesa.git] / src / gallium / targets / dri / Android.mk
1 # Mesa 3-D graphics library
2 #
3 # Copyright (C) 2015 Chih-Wei Huang <cwhuang@linux.org.tw>
4 # Copyright (C) 2015 Android-x86 Open Source Project
5 #
6 # Permission is hereby granted, free of charge, to any person obtaining a
7 # copy of this software and associated documentation files (the "Software"),
8 # to deal in the Software without restriction, including without limitation
9 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 # and/or sell copies of the Software, and to permit persons to whom the
11 # Software is furnished to do so, subject to the following conditions:
12 #
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
15 #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 # DEALINGS IN THE SOFTWARE.
23
24 LOCAL_PATH := $(call my-dir)
25
26 include $(CLEAR_VARS)
27
28 LOCAL_MODULE := gallium_dri
29
30 LOCAL_MODULE_RELATIVE_PATH := $(MESA_DRI_MODULE_REL_PATH)
31 LOCAL_SRC_FILES := target.c
32
33 LOCAL_CFLAGS :=
34
35 # We need --undefined-version as some functions in dri.sym may be missing
36 # depending on which drivers are enabled or not. Otherwise, we get the error:
37 # "version script assignment of to symbol FOO failed: symbol not defined"
38 LOCAL_LDFLAGS := \
39 -Wl,--version-script=$(LOCAL_PATH)/dri.sym \
40 -Wl,--undefined-version
41
42 LOCAL_SHARED_LIBRARIES := \
43 libdl \
44 libglapi \
45 libz \
46 liblog
47
48 # If Android version >=8 MESA should static link libexpat else should dynamic link
49 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
50 LOCAL_STATIC_LIBRARIES := \
51 libexpat
52 else
53 LOCAL_SHARED_LIBRARIES += \
54 libexpat
55 endif
56
57 LOCAL_STATIC_LIBRARIES += \
58 libetnaviv_drm \
59 libfreedreno_drm \
60 libfreedreno_ir2 \
61 libfreedreno_ir3 \
62 libfreedreno_perfcntrs \
63 libmesa_gallium \
64 libpanfrost_bifrost \
65 libpanfrost_decode \
66 libpanfrost_encoder \
67 libpanfrost_midgard \
68 libpanfrost_shared \
69 libpanfrost_util \
70
71 ifeq ($(USE_LIBBACKTRACE),true)
72 LOCAL_SHARED_LIBRARIES += libbacktrace
73 endif
74
75 $(foreach d, $(MESA_BUILD_GALLIUM), $(eval LOCAL_CFLAGS += $(patsubst HAVE_%,-D%,$(d))))
76
77 # sort GALLIUM_LIBS to remove any duplicates
78 LOCAL_WHOLE_STATIC_LIBRARIES := \
79 $(sort $(GALLIUM_LIBS)) \
80 libmesa_st_dri \
81 libmesa_st_mesa \
82 libmesa_glsl \
83 libmesa_compiler \
84 libmesa_nir \
85 libmesa_dri_common \
86 libmesa_megadriver_stub \
87 libmesa_pipe_loader \
88 libmesa_util \
89 libmesa_loader
90
91 # sort GALLIUM_SHARED_LIBS to remove any duplicates
92 LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS))
93
94 ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),)
95 LOCAL_POST_INSTALL_CMD := \
96 $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \
97 $(eval MESA_DRI_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)) \
98 mkdir -p $(MESA_DRI_MODULE_PATH); \
99 $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(MESA_DRI_MODULE_PATH)/$(d)_dri.so;) \
100 )
101 else
102 LOCAL_MODULE_SYMLINKS := $(foreach d, $(GALLIUM_TARGET_DRIVERS), $(d)_dri.so)
103 endif
104
105 include $(GALLIUM_COMMON_MK)
106 include $(BUILD_SHARED_LIBRARY)