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