2017-04-25 22:12 GMT+02:00 Rob Herring <r...@kernel.org>:
> On Tue, Apr 25, 2017 at 1:50 PM, Mauro Rossi <issor.or...@gmail.com> wrote:
>> 2017-04-25 18:21 GMT+02:00 Emil Velikov <emil.l.veli...@gmail.com>:
>>>
>>> On 24 April 2017 at 22:49, Rob Herring <r...@kernel.org> wrote:
>>> > On Mon, Apr 24, 2017 at 11:59 AM, Emil Velikov <emil.l.veli...@gmail.com> 
>>> > wrote:
>>> >> Hi Rob,
>>> >>
>>> >> On 24 April 2017 at 17:46, Rob Herring <r...@kernel.org> wrote:
>>> >>> If r300g is the only radeon driver built, the Android build fails to
>>> >>> build:
>>> >>>
>>> >>> ninja: error:
>>> >>> 'out/target/product/linaro_x86_64/obj/STATIC_LIBRARIES/libmesa_pipe_radeon_intermediates/export_includes',
>>> >>> needed by
>>> >>> 'out/target/product/linaro_x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/import_includes',
>>> >>> missing and no known rule to make it
>>> >>>
>>> >>> This is because the path to build libmesa_pipe_radeon was only getting
>>> >>> added for r600g and radeonsi, but the library dependency was added for
>>> >>> all radeon drivers. As libmesa_pipe_radeon is not needed for r300g, drop
>>> >>> the library dependency.
>>> >>>
>>> >> I think we want to move libmesa_amdgpu_addrlib in a similar way. The
>>> >> lib is used/required by libmesa_winsys_amdgpu which is a r600/radeonsi
>>> >> only.
>>> >> Can you please build test that and send a patch (or even squash here
>>> >> if you prefer)?
>>> >
>>> > You are right. Looking at this a bit more, I think we want to push all
>>> > the "extra" libraries down into the driver makefiles. With that we can
>>> > also properly export and import include directories.
>>> >
>>> >> The patch as-is
>>> >> Acked-by: Emil Velikov <emil.veli...@collabora.com>
>>> >
>>> > This one fixes the build, so can you apply it and I'll send a
>>> > follow-up series with further clean-ups. They'll need Mauro's help to
>>> > test because I don't have radeonsi building.
>>> >
>>> Pushed this one, thanks.
>>>
>>> Fwiw one doesn't need anything r600 or radeonsi related. Just move
>>> libmesa_amdgpu_addrlib out of r300 (as we do here for
>>> libmesa_pipe_radeon) and see that things link fine.
>
> The problem is not needing h/w, but radeonsi doesn't build with
> mainline AOSP. There's additional LLVM bits needed.
>
>>> Either way mostly thinking out loud.
>>>
>>> -Emil
>>
>>
>> Hi Rob, Emil,
>>
>> I tested building r300g, r600g, radeonsi together and the build is broken,
>>
>> due to multiple symbols defintion, which happens due to the use of
>>
>> LOCAL_WHOLE_STATIC_LIBRARIES := \
>>     $(gallium_DRIVERS) \
>
> $(sort $(gallium_DRIVERS)) will fix this as sort removes duplicates. I
> hit this in the follow-up I'm working on. Will post it soon.

Great!

$(sort $(gallium_DRIVERS)) indeed works
as in whole static dependencies the order does not matter.

libmesa_amdgpu_addrlib is currently not a problem as it is
unconditionally built,
but which are the correct dependencies? radeonsi and r600g?

What about keeping void lines between ifneq..endif in the whole list of drivers?
Mauro
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to