[Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk

Emil Velikov emil.l.velikov at gmail.com
Mon Jun 5 00:29:14 UTC 2017


On 4 June 2017 at 22:47, Mauro Rossi <issor.oruam at gmail.com> wrote:
> 2017-05-29 14:30 GMT+02:00 Emil Velikov <emil.l.velikov at gmail.com>:
>> On 26 May 2017 at 16:15, Mauro Rossi <issor.oruam at gmail.com> wrote:
>>> 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.
>> Mauro please add
>>
>> Fixes: 1ce3a2723f9 ("svga: Add the ability to log messages to
>> vmware.log on the host.")
>>
>
> Done in v2
>
>>> ---
>>>  src/gallium/drivers/svga/Android.mk | 4 +++-
>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/gallium/drivers/svga/Android.mk b/src/gallium/drivers/svga/Android.mk
>>> index c50743d509..d19bd59bfe 100644
>>> --- a/src/gallium/drivers/svga/Android.mk
>>> +++ b/src/gallium/drivers/svga/Android.mk
>>> @@ -30,7 +30,9 @@ include $(CLEAR_VARS)
>>>
>>>  LOCAL_SRC_FILES := $(C_SOURCES)
>>>
>>> -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
>>> +LOCAL_C_INCLUDES := \
>>> +       $(LOCAL_PATH)/include \
>>> +       $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_dricore,,)/main
>>>
>> Haven't looked too closely on the discussion, so pardon if it's
>> mentioned already.
>>
>> Have you considered doing a "dummy" library analogous to libmesa_genxml,
>> This one one doesn't need to preemptively build libmesa_dricore.
>>
>> -Emil
>
> Here is v2, compliant to requirements and build tested
> One line seemed more..short :-)
> Mauro
>
Apologies if I'm getting a bit too nit-picky Mauro.


> From 26ea92a07ca410ee9aebb9624399eca2dee49c29 Mon Sep 17 00:00:00 2001
> From: Mauro Rossi <issor.oruam at gmail.com>
> Date: Sun, 4 Jun 2017 23:24:59 +0200
> Subject: [PATCH] svga: fix git_sha1.h include path in Android.mk (v2)
>
> Adds libmesa_git_sha1 static (dummy) library to generate git_sha1.h
> 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: 1ce3a2723f9 ("svga: Add the ability to log messages to
> vmware.log on the host.")
> ---
>  src/gallium/drivers/svga/Android.mk  |  6 +++-
>  src/mesa/Android.libmesa_git_sha1.mk | 59 ++++++++++++++++++++++++++++++++++++
>  src/mesa/Android.mk                  |  1 +
>  3 files changed, 65 insertions(+), 1 deletion(-)
>  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 c50743d509..17d37ed178 100644
> --- a/src/gallium/drivers/svga/Android.mk
> +++ b/src/gallium/drivers/svga/Android.mk
> @@ -30,10 +30,14 @@ include $(CLEAR_VARS)
>
>  LOCAL_SRC_FILES := $(C_SOURCES)
>
> -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
> +LOCAL_C_INCLUDES := \
> + $(LOCAL_PATH)/include \
> + $(dir $(MESA_GEN_GIT_SHA1_H))
>
If libmesa_git_sha1 exports the path this should not be needed, correct?

>  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.libmesa_git_sha1.mk
> b/src/mesa/Android.libmesa_git_sha1.mk
> new file mode 100644
> index 0000000000..ea6079e92e
> --- /dev/null
> +++ b/src/mesa/Android.libmesa_git_sha1.mk
Can we move this a level up to be alongside the Automake/SCons equivalents?


> +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
> +
A [nearly] identical hunk in src/mesa/Android.gen.mk can do, now can't it?
The following one-liner might be needed in
> +LOCAL_STATIC_LIBRARIES += libmesa_git_sha1

> +LOCAL_STATIC_LIBRARIES += libmesa_git_sha1

LOCAL_STATIC_LIBRARIES += libmesa_git_sha1




> +MESA_GEN_GIT_SHA1_H := $(addprefix $(intermediates)/, git_sha1.h)
> +
We can swap this with LOCAL_EXPORT_C_INCLUDE_DIRS?


> +include $(MESA_COMMON_MK)
> +include $(BUILD_STATIC_LIBRARY)
> diff --git a/src/mesa/Android.mk b/src/mesa/Android.mk
> index 9a1aef8b28..e89de82f4e 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.11.0


More information about the mesa-dev mailing list