Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
On 6 June 2017 at 22:28, Mauro Rossi wrote: > And here is last (v3) version tested by building nougat-x86 > Perfect. Pushed alongside the r600 generation fix. Will sort out the libdrm_amdgpu ones in a second. -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
And here is last (v3) version tested by building nougat-x86 >From 052df48ae71b82b04ed8f634101d0ec919b497e5 Mon Sep 17 00:00:00 2001 From: Mauro Rossi Date: Tue, 6 Jun 2017 23:15:05 +0200 Subject: [PATCH 1/5] 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.") --- 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 c50743d509..9ed837fb22 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 5f1c7ebaf9..366a6b1036 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 599b9ccd71..c7715a50c9 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 00..0fd176bf7d --- /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 += $(
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
2017-06-05 2:29 GMT+02:00 Emil Velikov : > On 4 June 2017 at 22:47, Mauro Rossi wrote: >> 2017-05-29 14:30 GMT+02:00 Emil Velikov : >>> On 26 May 2017 at 16:15, Mauro Rossi 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. No problem, I trust your judgement > > >> From 26ea92a07ca410ee9aebb9624399eca2dee49c29 Mon Sep 17 00:00:00 2001 >> From: Mauro Rossi >> 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? Affirmative > >> 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 00..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? I would recommend to keep it a the current top level for Android, which is in src/mesa, all other core libraries are built at that level. > > >> +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 > Sending a v3 which following changes: - removal of redundant git_sha1.h generation from Android.gen.mk - the only other place using it for Android i
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
On 5 June 2017 at 01:29, Emil Velikov wrote: > On 4 June 2017 at 22:47, Mauro Rossi wrote: >> 2017-05-29 14:30 GMT+02:00 Emil Velikov : >>> On 26 May 2017 at 16:15, Mauro Rossi 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 >> 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 00..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 [unintentionally hit sent] src/mesa/Android.libmesa_{dricore,st_mesa}.mk > 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? > > Thanks Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
On 4 June 2017 at 22:47, Mauro Rossi wrote: > 2017-05-29 14:30 GMT+02:00 Emil Velikov : >> On 26 May 2017 at 16:15, Mauro Rossi 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 > 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 00..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 $(
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
2017-05-29 14:30 GMT+02:00 Emil Velikov : > On 26 May 2017 at 16:15, Mauro Rossi 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 >From 26ea92a07ca410ee9aebb9624399eca2dee49c29 Mon Sep 17 00:00:00 2001 From: Mauro Rossi 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)) 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 00..ea6079e92e --- /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
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
On 26 May 2017 at 16:15, Mauro Rossi 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.") > --- > 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 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
2017-05-28 21:02 GMT+02:00 Rob Herring : > On Sun, May 28, 2017 at 1:31 PM, Mauro Rossi > wrote: > > > > > > 2017-05-28 16:46 GMT+02:00 Rob Herring : > >> > >> On Fri, May 26, 2017 at 10:15 AM, Mauro Rossi > >> 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. > >> > --- > >> > 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 > >> > >> Add this path to LOCAL_EXPORT_C_INCLUDE_DIRS in libmesa_dricore and > >> add libmesa_dricore as a static lib here instead. > >> > >> Rob > > > > > > Hi Rob, > > just a few questions, > > > > why should we export the header which is artificially associated to > > libmesa_dricore > > and why treat this as a 'fake dependency'? The LOCAL_C_INCLUDE should > > suffice > > > > What is benefit in doing this? What is the drawback in using the android > > macro created for this purpose? > > I can think of several reasons: > > LOCAL_* variables are more simple and less likely to change than > generated-sources-dir-for. Doesn't matter so much when there's only > one dependency, but if several drivers needed this, then it becomes > more important. Also, I don't know how to do the equivalent of > generated-sources-dir-for in blueprint files, but exporting includes > is easy. > > It keeps any details of the structure of libmesa_dri_core within it. > For example, look at the mess libelf was with include paths changing. > > There are now "header libraries" which would be more what we want here > as we don't need to link it. However, those are new and won't work in > prior android versions, but eventually we'll want to move to that. > > Maybe the header should be it's own module if it's really not related > to the rest of libmesa_dri_core. The other option is create a variable > with the path in libmesa_dri_core and then use it here (in > LOCAL_C_INCLUDE). I think there's a few examples of doing that. > > Rob > Thanks for the hint I'll try with the variable as it is the same mechanism used for NIR and GLSL generated headers and we can avoid declaring a fake static dependency. Mauro ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
2017-05-28 21:02 GMT+02:00 Rob Herring : > On Sun, May 28, 2017 at 1:31 PM, Mauro Rossi > wrote: > > > > > > 2017-05-28 16:46 GMT+02:00 Rob Herring : > >> > >> On Fri, May 26, 2017 at 10:15 AM, Mauro Rossi > >> 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. > >> > --- > >> > 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 > >> > >> Add this path to LOCAL_EXPORT_C_INCLUDE_DIRS in libmesa_dricore and > >> add libmesa_dricore as a static lib here instead. > >> > >> Rob > > > > > > Hi Rob, > > just a few questions, > > > > why should we export the header which is artificially associated to > > libmesa_dricore > > and why treat this as a 'fake dependency'? The LOCAL_C_INCLUDE should > > suffice > > > > What is benefit in doing this? What is the drawback in using the android > > macro created for this purpose? > > I can think of several reasons: > > LOCAL_* variables are more simple and less likely to change than > generated-sources-dir-for. Doesn't matter so much when there's only > one dependency, but if several drivers needed this, then it becomes > more important. Also, I don't know how to do the equivalent of > generated-sources-dir-for in blueprint files, but exporting includes > is easy. > > It keeps any details of the structure of libmesa_dri_core within it. > For example, look at the mess libelf was with include paths changing. > > There are now "header libraries" which would be more what we want here > as we don't need to link it. However, those are new and won't work in > prior android versions, but eventually we'll want to move to that. > > Maybe the header should be it's own module if it's really not related > to the rest of libmesa_dri_core. The other option is create a variable > with the path in libmesa_dri_core and then use it here (in > LOCAL_C_INCLUDE). I think there's a few examples of doing that. > > Rob > Thanks The generation rules for git_sha1.h are now in src/mesa/Android.gen.mk which is included by two android makefiles hereby reported in their order: src/mesa/Android.libmesa_dricore.mk src/mesa/Android.libmesa_st_mesa.mk Which is better to use to do the LOCAL_EXPORT_C_INCLUDE_DIRS or is it the same? M. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
On Sun, May 28, 2017 at 1:31 PM, Mauro Rossi wrote: > > > 2017-05-28 16:46 GMT+02:00 Rob Herring : >> >> On Fri, May 26, 2017 at 10:15 AM, Mauro Rossi >> 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. >> > --- >> > 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 >> >> Add this path to LOCAL_EXPORT_C_INCLUDE_DIRS in libmesa_dricore and >> add libmesa_dricore as a static lib here instead. >> >> Rob > > > Hi Rob, > just a few questions, > > why should we export the header which is artificially associated to > libmesa_dricore > and why treat this as a 'fake dependency'? The LOCAL_C_INCLUDE should > suffice > > What is benefit in doing this? What is the drawback in using the android > macro created for this purpose? I can think of several reasons: LOCAL_* variables are more simple and less likely to change than generated-sources-dir-for. Doesn't matter so much when there's only one dependency, but if several drivers needed this, then it becomes more important. Also, I don't know how to do the equivalent of generated-sources-dir-for in blueprint files, but exporting includes is easy. It keeps any details of the structure of libmesa_dri_core within it. For example, look at the mess libelf was with include paths changing. There are now "header libraries" which would be more what we want here as we don't need to link it. However, those are new and won't work in prior android versions, but eventually we'll want to move to that. Maybe the header should be it's own module if it's really not related to the rest of libmesa_dri_core. The other option is create a variable with the path in libmesa_dri_core and then use it here (in LOCAL_C_INCLUDE). I think there's a few examples of doing that. Rob ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
2017-05-28 16:46 GMT+02:00 Rob Herring : > On Fri, May 26, 2017 at 10:15 AM, Mauro Rossi > 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. > > --- > > 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 > > Add this path to LOCAL_EXPORT_C_INCLUDE_DIRS in libmesa_dricore and > add libmesa_dricore as a static lib here instead. > > Rob > Hi Rob, just a few questions, why should we export the header which is artificially associated to libmesa_dricore and why treat this as a 'fake dependency'? The LOCAL_C_INCLUDE should suffice What is benefit in doing this? What is the drawback in using the android macro created for this purpose? Thanks Mauro ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
On Fri, May 26, 2017 at 10:15 AM, Mauro Rossi 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. > --- > 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 Add this path to LOCAL_EXPORT_C_INCLUDE_DIRS in libmesa_dricore and add libmesa_dricore as a static lib here instead. Rob ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] svga: fix git_sha1.h include path in Android.mk
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. --- 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 LOCAL_MODULE := libmesa_pipe_svga -- 2.11.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev