2016-09-02 11:50 GMT+02:00 Emil Velikov <emil.l.veli...@gmail.com>:
> On 2 September 2016 at 05:35, Tapani Pälli <tapani.pa...@intel.com> wrote:
>> Hi;
>>
>> Thanks, I was trying to work on the same issue but did not quite get it
>> working .. will test this one with N build.
>>
>> FYI this patch contains both of these (which I believe were issues already
>> before mentioned changes, just somehow revealed only with N build?):
>>
> The issue is makefile order/parallel jobs related.
>
> IIRC latest builds use intermediate tools to convert the makefiles,
> thus they could easily reshuffle the former or make the latter easier
> to hit.

I've also notice that android 7.0  build system is more unforgiving
and some build errors appear just in x86 32bit builds

>
>> https://patchwork.freedesktop.org/patch/107759/
>> https://patchwork.freedesktop.org/patch/106788/
>>
> Was going to ask the question that Rob covered in his summary - why
> don't we opt for the 'Android way' of pulling dependencies (generated
> files and/or includes) by referencing the respective static/shared
> lib.
>
>>
>>
>> On 09/01/2016 10:06 PM, Rob Herring wrote:
>>>
>>> Recent changes to generate ir_expression*.h header files broke Android
>>> builds. This adds the generation rules. This change is complicated due to
>>> creating a circular dependency between libmesa_glsl, libmesa_nir, and
>>> libmesa_compiler. Normally, we add static libraries so that include paths
>>> are added even if there's no linking dependency. That is the case here.
>>> Instead, we explicitly add the include path using $(MESA_GEN_GLSL_H) to
>>> libmesa_compiler. This in turn requires shuffling the order of make
>>> includes. It also uncovered missing dependency tracking of glsl_parser.h.
>>>
> Looking at this and the inherent over-linking that one gets when
> referencing shared libraries makes me wonder if those were things
> considered by the Android build system engineers.
> /me bites his tongue not to prevent ranting on the topic.

Hi,
in principle the macro local-generated-sources-dir-for would cover
any case were in automake we have include like
-I$(top_builddir)/src/compiler/glsl\

In this case -I$(top_builddir)/src/compiler/glsl\ would become:

LOCAL_C_INCLUDES := \
       $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_glsl,,)/glsl

but I've also seen that defining LOCAL_GENERATED_SOURCES to reach for
other  modules generated sources works ok


> Have you seen/heard anything on the topic of deprecating the old
> Android.mk files and/or a tool to assist/automate the conversion ?

I've just seen this "improvement on the way", but I hope Android 7.0
will continue to allow using kati /Android.mk

[1] https://news.ycombinator.com/item?id=10509843
[2] https://groups.google.com/forum/#!topic/ninja-build/YPby3GRBqHA
[3] https://android.googlesource.com/platform/build/soong/

"Convert Android.mk files

Soong includes a tool perform a first pass at converting Android.mk
files to Android.bp files:

androidmk Android.mk > Android.bp
The tool converts variables, modules, comments, and some conditionals,
but any custom Makefile rules or complex conditionals must be
converted by hand."

Yeah-rrrrggg! :-(

New scripting language, at least for me, still to check what would be
the threshold for defining 'custom' and 'complex', which would require
handwritten parts in Android.bp files

M.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to