svga: fix git_sha1.h include path in Android.mk (v3)
authorMauro Rossi <issor.oruam@gmail.com>
Tue, 6 Jun 2017 21:28:33 +0000 (23:28 +0200)
committerEmil Velikov <emil.l.velikov@gmail.com>
Thu, 15 Jun 2017 14:46:44 +0000 (15:46 +0100)
Adds libmesa_git_sha1 static (dummy) library to generate git_sha1.h
with some polishing to header dependency on .git/HEAD and scripted rules.

The now redundant generation rules are removed from Android.gen.mk
libmesa_git_sha1 whole static depedency is added to libmesa_pipe_svga,
libmesa_dricore and libmesa_st_mesa modules

Fixes the following building error:

external/mesa/src/gallium/drivers/svga/svga_screen.c:26:10:
fatal error: 'git_sha1.h' file not found
         ^
1 error generated.

Fixes: 1ce3a27 ("svga: Add the ability to log messages to
vmware.log on the host.")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/gallium/drivers/svga/Android.mk
src/mesa/Android.gen.mk
src/mesa/Android.libmesa_dricore.mk
src/mesa/Android.libmesa_git_sha1.mk [new file with mode: 0644]
src/mesa/Android.libmesa_st_mesa.mk
src/mesa/Android.mk

index c50743d50948204856efd1811f3a283b6ece65bd..9ed837fb22ad6ec4678f19289da06341b6d41563 100644 (file)
@@ -34,6 +34,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
 
 LOCAL_MODULE := libmesa_pipe_svga
 
+LOCAL_STATIC_LIBRARIES += libmesa_git_sha1
+
 include $(GALLIUM_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
 
index 42d4ba19691d26022369e6dec7450fce2b058166..366a6b1036e1ba659a6fb1291ad640ae5635c3c7 100644 (file)
@@ -53,8 +53,6 @@ LOCAL_C_INCLUDES += $(intermediates)/x86
 endif
 endif
 
-sources += main/git_sha1.h
-
 sources := $(addprefix $(intermediates)/, $(sources))
 
 LOCAL_GENERATED_SOURCES += $(sources)
@@ -71,16 +69,6 @@ define es-gen
        $(hide) $(PRIVATE_SCRIPT) $(1) $(PRIVATE_XML) > $@
 endef
 
-$(intermediates)/main/git_sha1.h:
-       @mkdir -p $(dir $@)
-       @echo "GIT-SHA1: $(PRIVATE_MODULE) <= git"
-       $(hide) touch $@
-       $(hide) if which git > /dev/null; then \
-                       git --git-dir $(PRIVATE_PATH)/../../.git log -n 1 --oneline | \
-                       sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
-                       > $@; \
-               fi
-
 matypes_deps := \
        $(BUILD_OUT_EXECUTABLES)/mesa_gen_matypes$(BUILD_EXECUTABLE_SUFFIX) \
        $(LOCAL_PATH)/main/mtypes.h \
index 599b9ccd71ed9fda8568a7a59e298e69c16888b1..c7715a50c90ed9c8a8c0926ce88419c5d6c0758f 100644 (file)
@@ -65,7 +65,8 @@ LOCAL_GENERATED_SOURCES += \
        $(MESA_GEN_GLSL_H)
 
 LOCAL_WHOLE_STATIC_LIBRARIES += \
-       libmesa_program
+       libmesa_program \
+       libmesa_git_sha1
 
 include $(LOCAL_PATH)/Android.gen.mk
 include $(MESA_COMMON_MK)
diff --git a/src/mesa/Android.libmesa_git_sha1.mk b/src/mesa/Android.libmesa_git_sha1.mk
new file mode 100644 (file)
index 0000000..0fd176b
--- /dev/null
@@ -0,0 +1,59 @@
+# Mesa 3-D graphics library
+#
+# Copyright (C) 2017 Mauro Rossi <issor.oruam@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.
+
+# ----------------------------------------------------------------------
+# libmesa_git_sha1
+# ----------------------------------------------------------------------
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libmesa_git_sha1
+
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+intermediates := $(call local-generated-sources-dir)
+
+# dummy.c source file is generated to meet the build system's rules.
+LOCAL_GENERATED_SOURCES += $(intermediates)/dummy.c
+
+$(intermediates)/dummy.c:
+       @mkdir -p $(dir $@)
+       @echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
+       $(hide) touch $@
+
+LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, git_sha1.h)
+
+$(intermediates)/git_sha1.h: $(wildcard $(MESA_TOP)/.git/logs/HEAD)
+       @mkdir -p $(dir $@)
+       @echo "GIT-SHA1: $(PRIVATE_MODULE) <= git"
+       $(hide) touch $@
+       $(hide) if which git > /dev/null; then \
+                       git --git-dir $(MESA_TOP)/.git log -n 1 --oneline | \
+                       sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
+                       > $@; \
+               fi
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
index de2a60a70ed9662119c3816307be180dbf6119ad..ddfd03059c59ed77e49ee4218f00efc84dcd8c8a 100644 (file)
@@ -63,7 +63,8 @@ LOCAL_C_INCLUDES := \
        $(MESA_TOP)/src/gallium/include
 
 LOCAL_WHOLE_STATIC_LIBRARIES += \
-       libmesa_program
+       libmesa_program \
+       libmesa_git_sha1
 
 LOCAL_STATIC_LIBRARIES += libmesa_nir libmesa_glsl
 
index 9a1aef8b28e4c40a548525a1fc826cac230151e3..e89de82f4ed81cc9371ef87efda334d0de1296a4 100644 (file)
@@ -25,5 +25,6 @@ include $(LOCAL_PATH)/Android.libmesa_glsl_utils.mk
 include $(LOCAL_PATH)/Android.libmesa_dricore.mk
 include $(LOCAL_PATH)/Android.libmesa_st_mesa.mk
 include $(LOCAL_PATH)/Android.libmesa_sse41.mk
+include $(LOCAL_PATH)/Android.libmesa_git_sha1.mk
 
 include $(LOCAL_PATH)/program/Android.mk