<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2017-05-28 21:02 GMT+02:00 Rob Herring <span dir="ltr"><<a href="mailto:robh@kernel.org" target="_blank">robh@kernel.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Sun, May 28, 2017 at 1:31 PM, Mauro Rossi <<a href="mailto:issor.oruam@gmail.com">issor.oruam@gmail.com</a>> wrote:<br>
><br>
><br>
> 2017-05-28 16:46 GMT+02:00 Rob Herring <<a href="mailto:robh@kernel.org">robh@kernel.org</a>>:<br>
>><br>
>> On Fri, May 26, 2017 at 10:15 AM, Mauro Rossi <<a href="mailto:issor.oruam@gmail.com">issor.oruam@gmail.com</a>><br>
>> wrote:<br>
>> > Fixes the following building error:<br>
>> ><br>
>> > external/mesa/src/gallium/<wbr>drivers/svga/svga_screen.c:26:<wbr>10:<br>
>> > fatal error: 'git_sha1.h' file not found<br>
>> >          ^<br>
>> > 1 error generated.<br>
>> > ---<br>
>> >  src/gallium/drivers/svga/<wbr>Android.mk | 4 +++-<br>
>> >  1 file changed, 3 insertions(+), 1 deletion(-)<br>
>> ><br>
>> > diff --git a/src/gallium/drivers/svga/<wbr>Android.mk<br>
>> > b/src/gallium/drivers/svga/<wbr>Android.mk<br>
>> > index c50743d509..d19bd59bfe 100644<br>
>> > --- a/src/gallium/drivers/svga/<wbr>Android.mk<br>
>> > +++ b/src/gallium/drivers/svga/<wbr>Android.mk<br>
>> > @@ -30,7 +30,9 @@ include $(CLEAR_VARS)<br>
>> ><br>
>> >  LOCAL_SRC_FILES := $(C_SOURCES)<br>
>> ><br>
>> > -LOCAL_C_INCLUDES := $(LOCAL_PATH)/include<br>
>> > +LOCAL_C_INCLUDES := \<br>
>> > +       $(LOCAL_PATH)/include \<br>
>> > +       $(call<br>
>> > generated-sources-dir-for,<wbr>STATIC_LIBRARIES,libmesa_<wbr>dricore,,)/main<br>
>><br>
>> Add this path to LOCAL_EXPORT_C_INCLUDE_DIRS in libmesa_dricore and<br>
>> add libmesa_dricore as a static lib here instead.<br>
>><br>
>> Rob<br>
><br>
><br>
> Hi Rob,<br>
> just a few questions,<br>
><br>
> why should we export the header which is artificially associated to<br>
> libmesa_dricore<br>
> and why treat this as a 'fake dependency'? The LOCAL_C_INCLUDE should<br>
> suffice<br>
><br>
> What is benefit in doing this? What is the drawback in using the android<br>
> macro created for this purpose?<br>
<br>
</div></div>I can think of several reasons:<br>
<br>
LOCAL_* variables are more simple and less likely to change than<br>
generated-sources-dir-for. Doesn't matter so much when there's only<br>
one dependency, but if several drivers needed this, then it becomes<br>
more important. Also, I don't know how to do the equivalent of<br>
generated-sources-dir-for in blueprint files, but exporting includes<br>
is easy.<br>
<br>
It keeps any details of the structure of libmesa_dri_core within it.<br>
For example, look at the mess libelf was with include paths changing.<br>
<br>
There are now "header libraries" which would be more what we want here<br>
as we don't need to link it. However, those are new and won't work in<br>
prior android versions, but eventually we'll want to move to that.<br>
<br>
Maybe the header should be it's own module if it's really not related<br>
to the rest of libmesa_dri_core. The other option is create a variable<br>
with the path in libmesa_dri_core and then use it here (in<br>
LOCAL_C_INCLUDE). I think there's a few examples of doing that.<br>
<span class="HOEnZb"><font color="#888888"><br>
Rob<br></font></span></blockquote><div><br></div><div>Thanks for the hint</div><div>I'll try with the variable as it is the same mechanism used for NIR and GLSL generated headers</div><div>and we can avoid declaring a fake static dependency.</div><div><br></div><div>Mauro</div></div><br></div></div>