[Buildroot] [PATCH] package/qt5/qt5tools: mark qdoc option as broken

Romain Naour romain.naour at smile.fr
Thu Feb 27 20:56:09 UTC 2020


Hello Yann, Thomas,

Le 27/02/2020 à 09:03, Thomas Petazzoni a écrit :
> Hello,
> 
> On Thu, 27 Feb 2020 07:51:51 +0100
> <yann.morin at orange.com> wrote:
> 
>>> So in the current state, host-clang is added to qt5tools
>>> dependency without taking into account BR2_PACKAGE_LLVM_ARCH_SUPPORTS.  
>>
>> Then when don't we simply add that depednency instead of hiding it
>> behind BROKEN?
> 
> I think the idea was that since BR2_PACKAGE_LLVM_ARCH_SUPPORTS only
> exposes whether the target architecture is supported by LLVM, it does
> not make sense to use that, and for now, we don't have an option to
> indicate that the the host architecture is supported by LLVM.

Indeed. If we add this dependency BR2_PACKAGE_LLVM_ARCH_SUPPORTS for the failing
build below on riscv [1] the qdoc option would be unavailable. Even we only need
to build host-llvm and host-clang.

> 
>>> But even with host native support in llvm/clang host packages, the
>>> host-clang dependency itself increase a lot the build time.
>>>
>>> On a laptop with a i7-8565U CPU @ 1.80GHz, host-llvm takes 1100 sec
>>> (18,3min) to build and host-clang takes 1200 sec (20min) to build.
>>> qt5tools takes 18sec to build.
>>>
>>> Increasing the build time by 40min just for the sake of building qdoc
>>> is not great.  
>>
>> Yes, and so what? If people want to build qdoc because they want to
>> generate documentation for their Qt-based programs, and upstream Qt has
>> decided they need clang, there is not much we can do about that, can we?
>>
>> The build time is no reason to hide away a feature, so there is no
>> reason to reference that in the commit log (it could be a post-commit
>> note, though).
> 
> I agree that the phrasing here is not ideal.

Ok, the patch is too "aggressive" against the qdoc option... But the build time
is certainly important for users. I would suggest to use llvm/clang installed on
the host to avoid spend 40min to build them.

> 
>>> Instead we may consider adding a new check in support/dependencies/dependencies.sh
>>> for llvm/clang installed on the build machine.
>>> This llvm/clang would be used for building qdoc (or mabe other host package).
>>>
>>> But we need to be careful for the case where host-llvm and host-clang
>>> package are already build.
>>>
>>> Then, the qt5tools package would set LLVM_INSTALL_DIR in the
>>> additional environment variables to pass to make in the build step,
>>> to provide the patch to llvm/clang headers and libraries.
>>>
>>> Something like:
>>> define QT5TOOLS_BUILD_CMDS
>>> 	$(TARGET_MAKE_ENV) LLVM_INSTALL_DIR="`/usr/bin/llvm-config --prefix`" \
>>> 		$(MAKE) -C $(@D) sub-src-qmake_all
>>> [...]  
>>
>> All those proposals do not belogn to the commit log, but to a
>> post-commit note, too.
> 
> Not sure here. Post-commit notes are lost. Commit logs are not. So a
> commit log can easily be found by someone who sees the dependency,
> finds it annoying, and wants to find what are the alternative solutions.

That is exactly why I added the proposal here. To suggest something in the
commit log for those who want to generate documentation.

> 
> 
>> Here's my counter-proposal:
>>
>>     config BR2_PACKAGE_QT5TOOLS_QDOC_TOOL
>>         bool "qdoc host tool"
>>         # Needs llvm-config and libclang for the host, which is not
>>         # currently supported in Buildroot, unless the target is
>>         # already supported by llvm.
>>         depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
> 
> If that works, then that's fine by me.
> 
> What I discussed with Romain yesterday is that I didn't want for
> 2020.02 to do all the work to supports LLVM just for the host (i.e when
> the target architecture is not supported), and wanted a more minimal
> solution.

This is the more minimal solution, but it require to build host-llvm and host-clang.

> 
> If your solution works, fine with me. Romain, Yann, could you
> coordinate to send an updated patch ?

I'm fine for 2020.02.

Best regards,
Romain

> 
> Thanks!
> 
> Thomas
> 




More information about the buildroot mailing list