[Mesa-dev] [PATCH 1/4] util: Include in Android builds

Tomasz Figa tomasz.figa at gmail.com
Sat Sep 27 07:19:59 PDT 2014


This patch fixes Android build failures by including src/util directory
in compilation. Files inside of this directory are compiled into
libmesa_util static library and linked with resulting libGLES_mesa.

Signed-off-by: Tomasz Figa <tomasz.figa at gmail.com>
CC: <mesa-stable at lists.freedesktop.org>
---
 Android.mk                             |   1 +
 src/egl/main/Android.mk                |   1 +
 src/gallium/auxiliary/Android.mk       |   4 +-
 src/glsl/Android.mk                    |   4 +-
 src/mesa/Android.libmesa_dricore.mk    |   1 +
 src/mesa/Android.libmesa_glsl_utils.mk |   4 +-
 src/mesa/Android.libmesa_st_mesa.mk    |   1 +
 src/mesa/program/Android.mk            |   1 +
 src/util/Android.mk                    | 102 +++++++++++++++++++++++++++++++++
 9 files changed, 115 insertions(+), 4 deletions(-)
 create mode 100644 src/util/Android.mk

diff --git a/Android.mk b/Android.mk
index 591c2fc5143b..e190f749b093 100644
--- a/Android.mk
+++ b/Android.mk
@@ -81,6 +81,7 @@ SUBDIRS := \
 	src/mapi \
 	src/glsl \
 	src/mesa \
+	src/util \
 	src/egl/main
 
 ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
diff --git a/src/egl/main/Android.mk b/src/egl/main/Android.mk
index 8c37e798f0af..8537381ce161 100644
--- a/src/egl/main/Android.mk
+++ b/src/egl/main/Android.mk
@@ -143,6 +143,7 @@ LOCAL_STATIC_LIBRARIES := \
 	libmesa_st_egl \
 	$(gallium_DRIVERS) \
 	libmesa_st_mesa \
+	libmesa_util \
 	libmesa_glsl \
 	libmesa_glsl_utils \
 	libmesa_gallium \
diff --git a/src/gallium/auxiliary/Android.mk b/src/gallium/auxiliary/Android.mk
index 11fc2256a82a..8046943c1a83 100644
--- a/src/gallium/auxiliary/Android.mk
+++ b/src/gallium/auxiliary/Android.mk
@@ -30,7 +30,9 @@ include $(CLEAR_VARS)
 
 LOCAL_SRC_FILES := $(C_SOURCES)
 
-LOCAL_C_INCLUDES := $(GALLIUM_TOP)/auxiliary/util
+LOCAL_C_INCLUDES := \
+	$(GALLIUM_TOP)/auxiliary/util \
+	$(MESA_TOP)/src
 
 LOCAL_MODULE := libmesa_gallium
 
diff --git a/src/glsl/Android.mk b/src/glsl/Android.mk
index 7b1fa7e532b9..1cbc5c6d2c06 100644
--- a/src/glsl/Android.mk
+++ b/src/glsl/Android.mk
@@ -39,6 +39,7 @@ LOCAL_SRC_FILES := \
 	$(LIBGLSL_FILES)
 
 LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa
 
@@ -59,10 +60,11 @@ LOCAL_SRC_FILES := \
 	$(GLSL_COMPILER_CXX_FILES)
 
 LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa
 
-LOCAL_STATIC_LIBRARIES := libmesa_glsl libmesa_glsl_utils
+LOCAL_STATIC_LIBRARIES := libmesa_glsl libmesa_glsl_utils libmesa_util
 
 LOCAL_MODULE_TAGS := eng
 LOCAL_MODULE := glsl_compiler
diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/Android.libmesa_dricore.mk
index 28d6feb359f1..e1a5a170277e 100644
--- a/src/mesa/Android.libmesa_dricore.mk
+++ b/src/mesa/Android.libmesa_dricore.mk
@@ -55,6 +55,7 @@ endif
 
 LOCAL_C_INCLUDES := \
 	$(call intermediates-dir-for STATIC_LIBRARIES,libmesa_program,,) \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/glsl \
 	$(MESA_TOP)/src/gallium/auxiliary
diff --git a/src/mesa/Android.libmesa_glsl_utils.mk b/src/mesa/Android.libmesa_glsl_utils.mk
index e93891f07d91..a9f6ff59a275 100644
--- a/src/mesa/Android.libmesa_glsl_utils.mk
+++ b/src/mesa/Android.libmesa_glsl_utils.mk
@@ -36,11 +36,11 @@ include $(CLEAR_VARS)
 LOCAL_MODULE := libmesa_glsl_utils
 
 LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/glsl \
 	$(MESA_TOP)/src/mapi
 
 LOCAL_SRC_FILES := \
-	main/hash_table.c \
 	main/imports.c \
 	program/prog_hash_table.c \
 	program/symbol_table.c
@@ -59,11 +59,11 @@ LOCAL_IS_HOST_MODULE := true
 LOCAL_CFLAGS := -D_POSIX_C_SOURCE=199309L
 
 LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/glsl \
 	$(MESA_TOP)/src/mapi
 
 LOCAL_SRC_FILES := \
-	main/hash_table.c \
 	main/imports.c \
 	program/prog_hash_table.c \
 	program/symbol_table.c
diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk
index e6374a6d8158..e486e1a8c3b1 100644
--- a/src/mesa/Android.libmesa_st_mesa.mk
+++ b/src/mesa/Android.libmesa_st_mesa.mk
@@ -50,6 +50,7 @@ LOCAL_C_INCLUDES := \
 	$(call intermediates-dir-for STATIC_LIBRARIES,libmesa_program,,) \
 	$(MESA_TOP)/src/gallium/auxiliary \
 	$(MESA_TOP)/src/gallium/include \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/glsl \
 	$(MESA_TOP)/src/mapi
 
diff --git a/src/mesa/program/Android.mk b/src/mesa/program/Android.mk
index e85afe672530..a237b65bc086 100644
--- a/src/mesa/program/Android.mk
+++ b/src/mesa/program/Android.mk
@@ -71,6 +71,7 @@ $(intermediates)/program/lex.yy.c: $(LOCAL_PATH)/program_lexer.l
 
 LOCAL_C_INCLUDES := \
 	$(intermediates) \
+	$(MESA_TOP)/src \
 	$(MESA_TOP)/src/mapi \
 	$(MESA_TOP)/src/mesa \
 	$(MESA_TOP)/src/glsl
diff --git a/src/util/Android.mk b/src/util/Android.mk
new file mode 100644
index 000000000000..6b38cf9afb25
--- /dev/null
+++ b/src/util/Android.mk
@@ -0,0 +1,102 @@
+# Mesa 3-D graphics library
+#
+# Copyright (C) 2014 Tomasz Figa <tomasz.figa at gmail.com>
+#
+# 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.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(LOCAL_PATH)/Makefile.sources
+
+# ---------------------------------------
+# Build libmesa_util
+# ---------------------------------------
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+	$(MESA_UTIL_FILES)
+
+LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src/mesa \
+	$(MESA_TOP)/src/mapi \
+	$(MESA_TOP)/src
+
+LOCAL_MODULE := libmesa_util
+
+# Generated sources
+
+ifeq ($(LOCAL_MODULE_CLASS),)
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+
+intermediates := $(call local-intermediates-dir)
+
+# This is the list of auto-generated files: sources and headers
+sources := $(addprefix $(intermediates)/, $(MESA_UTIL_GENERATED_FILES))
+
+LOCAL_GENERATED_SOURCES += $(sources)
+
+FORMAT_SRGB := $(LOCAL_PATH)/format_srgb.py
+
+$(intermediates)/format_srgb.c: $(FORMAT_SRGB)
+	@$(MESA_PYTHON2) $(FORMAT_SRGB) $< > $@
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+# ---------------------------------------
+# Build host libmesa_util
+# ---------------------------------------
+
+include $(CLEAR_VARS)
+
+LOCAL_IS_HOST_MODULE := true
+LOCAL_CFLAGS := -D_POSIX_C_SOURCE=199309L
+
+LOCAL_SRC_FILES := \
+	$(MESA_UTIL_FILES)
+
+LOCAL_C_INCLUDES := \
+	$(MESA_TOP)/src/mesa \
+	$(MESA_TOP)/src/mapi \
+	$(MESA_TOP)/src
+
+LOCAL_MODULE := libmesa_util
+
+# Generated sources
+
+ifeq ($(LOCAL_MODULE_CLASS),)
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+endif
+
+intermediates := $(call local-intermediates-dir)
+
+# This is the list of auto-generated files: sources and headers
+sources := $(addprefix $(intermediates)/, $(MESA_UTIL_GENERATED_FILES))
+
+LOCAL_GENERATED_SOURCES += $(sources)
+
+FORMAT_SRGB := $(LOCAL_PATH)/format_srgb.py
+
+$(intermediates)/format_srgb.c: $(FORMAT_SRGB)
+	@$(MESA_PYTHON2) $(FORMAT_SRGB) $< > $@
+
+include $(MESA_COMMON_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
-- 
2.1.1



More information about the mesa-dev mailing list