Browse Source

Android: rework LLVM build support

Currently, building with "mmma external/mesa3d" which builds all targets
and dependencies is broken for targets that require LLVM. This is due to
the build settings depending on MESA_ENABLE_LLVM. Instead of using a
conditional in the global Android.common.mk, make all the components that
need LLVM explicitly include the necessary build settings.

GALLIVM_CPP_SOURCES doesn't exist anymore, so remove that as well.

Signed-off-by: Rob Herring <robh@kernel.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
tags/17.2-branchpoint
Rob Herring 8 years ago
parent
commit
26aee6f4d5

+ 0
- 9
Android.common.mk View File

@@ -86,15 +86,6 @@ LOCAL_CFLAGS += \
endif
endif

ifeq ($(MESA_ENABLE_LLVM),true)
ifeq ($(MESA_ANDROID_MAJOR_VERSION),6)
LOCAL_CFLAGS += -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=0
endif
ifeq ($(MESA_ANDROID_MAJOR_VERSION),7)
LOCAL_CFLAGS += -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0
endif
endif

ifneq ($(LOCAL_IS_HOST_MODULE),true)
LOCAL_CFLAGS += -DHAVE_LIBDRM
LOCAL_SHARED_LIBRARIES += libdrm

+ 13
- 0
Android.mk View File

@@ -82,6 +82,19 @@ ifneq ($(filter true, $(HAVE_GALLIUM_RADEONSI)),)
MESA_ENABLE_LLVM := true
endif

define mesa-build-with-llvm
$(if $(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5), \
$(warning Unsupported LLVM version in Android $(MESA_ANDROID_MAJOR_VERSION)),) \
$(if $(filter 6,$(MESA_ANDROID_MAJOR_VERSION)), \
$(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0307 -DMESA_LLVM_VERSION_PATCH=0) \
$(eval LOCAL_STATIC_LIBRARIES += libLLVMCore) \
$(eval LOCAL_C_INCLUDES += external/llvm/include external/llvm/device/include),) \
$(if $(filter 7,$(MESA_ANDROID_MAJOR_VERSION)), \
$(eval LOCAL_CFLAGS += -DHAVE_LLVM=0x0308 -DMESA_LLVM_VERSION_PATCH=0) \
$(eval LOCAL_STATIC_LIBRARIES += libLLVMCore) \
$(eval LOCAL_C_INCLUDES += external/llvm/include external/llvm/device/include),)
endef

# add subdirectories
SUBDIRS := \
src/gbm \

+ 2
- 1
src/amd/Android.common.mk View File

@@ -61,11 +61,12 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/common

LOCAL_STATIC_LIBRARIES := \
libLLVMCore \
libmesa_nir

LOCAL_WHOLE_STATIC_LIBRARIES := \
libelf

$(call mesa-build-with-llvm)

include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)

+ 0
- 6
src/gallium/Android.common.mk View File

@@ -29,10 +29,4 @@ LOCAL_C_INCLUDES += \
$(GALLIUM_TOP)/winsys \
$(GALLIUM_TOP)/drivers

ifeq ($(MESA_ENABLE_LLVM),true)
LOCAL_C_INCLUDES += \
external/llvm/include \
external/llvm/device/include
endif

include $(MESA_COMMON_MK)

+ 4
- 4
src/gallium/auxiliary/Android.mk View File

@@ -38,12 +38,12 @@ LOCAL_C_INCLUDES := \

ifeq ($(MESA_ENABLE_LLVM),true)
LOCAL_SRC_FILES += \
$(GALLIVM_SOURCES) \
$(GALLIVM_CPP_SOURCES)
LOCAL_STATIC_LIBRARIES += libLLVMCore
LOCAL_CPPFLAGS := -std=c++11
$(GALLIVM_SOURCES)
$(call mesa-build-with-llvm)
endif

LOCAL_CPPFLAGS += -std=c++11

# We need libmesa_nir to get NIR's generated include directories.
LOCAL_MODULE := libmesa_gallium
LOCAL_STATIC_LIBRARIES += libmesa_nir

+ 4
- 3
src/gallium/drivers/radeon/Android.mk View File

@@ -30,13 +30,14 @@ include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(C_SOURCES)

LOCAL_SHARED_LIBRARIES := libdrm_radeon libLLVM
LOCAL_MODULE := libmesa_pipe_radeon

ifeq ($(MESA_ENABLE_LLVM),true)
LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU # instructs LLVM to declare LLVMInitializeAMDGPU* functions
$(call mesa-build-with-llvm)
endif

LOCAL_SHARED_LIBRARIES := libdrm_radeon libLLVM
LOCAL_MODULE := libmesa_pipe_radeon

include $(GALLIUM_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)


+ 2
- 0
src/gallium/drivers/radeonsi/Android.mk View File

@@ -43,6 +43,8 @@ LOCAL_STATIC_LIBRARIES := libmesa_amd_common
LOCAL_SHARED_LIBRARIES := libdrm_radeon libLLVM
LOCAL_MODULE := libmesa_pipe_radeonsi

$(call mesa-build-with-llvm)

include $(GALLIUM_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)


+ 2
- 0
src/gallium/winsys/amdgpu/drm/Android.mk View File

@@ -39,6 +39,8 @@ LOCAL_STATIC_LIBRARIES := libmesa_amdgpu_addrlib
LOCAL_SHARED_LIBRARIES := libdrm_amdgpu
LOCAL_MODULE := libmesa_winsys_amdgpu

$(call mesa-build-with-llvm)

include $(GALLIUM_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)


Loading…
Cancel
Save