From d5523d912cbeb325c587453c790315696bfb0c7e Mon Sep 17 00:00:00 2001 From: Mauro Rossi Date: Tue, 6 Jun 2017 23:28:33 +0200 Subject: [PATCH] svga: fix git_sha1.h include path in Android.mk (v3) 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 --- src/gallium/drivers/svga/Android.mk | 2 + src/mesa/Android.gen.mk | 12 ------ src/mesa/Android.libmesa_dricore.mk | 3 +- src/mesa/Android.libmesa_git_sha1.mk | 59 ++++++++++++++++++++++++++++ src/mesa/Android.libmesa_st_mesa.mk | 3 +- src/mesa/Android.mk | 1 + 6 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 src/mesa/Android.libmesa_git_sha1.mk diff --git a/src/gallium/drivers/svga/Android.mk b/src/gallium/drivers/svga/Android.mk index c50743d5094..9ed837fb22a 100644 --- a/src/gallium/drivers/svga/Android.mk +++ b/src/gallium/drivers/svga/Android.mk @@ -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) diff --git a/src/mesa/Android.gen.mk b/src/mesa/Android.gen.mk index 42d4ba19691..366a6b1036e 100644 --- a/src/mesa/Android.gen.mk +++ b/src/mesa/Android.gen.mk @@ -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 \ diff --git a/src/mesa/Android.libmesa_dricore.mk b/src/mesa/Android.libmesa_dricore.mk index 599b9ccd71e..c7715a50c90 100644 --- a/src/mesa/Android.libmesa_dricore.mk +++ b/src/mesa/Android.libmesa_dricore.mk @@ -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 index 00000000000..0fd176bf7d5 --- /dev/null +++ b/src/mesa/Android.libmesa_git_sha1.mk @@ -0,0 +1,59 @@ +# Mesa 3-D graphics library +# +# Copyright (C) 2017 Mauro Rossi +# +# 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) diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk index de2a60a70ed..ddfd03059c5 100644 --- a/src/mesa/Android.libmesa_st_mesa.mk +++ b/src/mesa/Android.libmesa_st_mesa.mk @@ -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 diff --git a/src/mesa/Android.mk b/src/mesa/Android.mk index 9a1aef8b28e..e89de82f4ed 100644 --- a/src/mesa/Android.mk +++ b/src/mesa/Android.mk @@ -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 -- 2.30.2