Great, I just added a comment there. 
Thank you very much for collaborating with us to find the best solution for 
both projects.

Best,
Matias

On Tue, Nov 3, 2020, at 10:41, Gábor Kiss-Vámosi wrote:
> Hi Matias,
> 
> The "include" is added here: 
> https://github.com/lvgl/lvgl/blob/dev/src/lv_conf_kconfig.h#L18-L20
> 
> It under consideration here: https://github.com/lvgl/lvgl/pull/1875
> Could you write a comment there to let people know you vote for a single file?
> 
> Regards,
> Gabor
> 
> 
> 
> Matias N. <mat...@imap.cc> ezt írta (időpont: 2020. nov. 2., H, 14:47):
>> __
>> Hi Gabor,
>> 
>> we just recently added a __NuttX__ macro as part of our base compilation 
>> flags, so I guess it should be:
>> 
>> #ifdef __NuttX__
>> #include <nuttx/config.h>
>> #endif
>> 
>> What do others think?
>> 
>> BTW, are you thinking of a single root Kconfig or a series of nested 
>> Kconfigs? The latter would be a bit more difficult to handle the way I 
>> suggested.
>> 
>> Best,
>> Matias
>> 
>> On Mon, Nov 2, 2020, at 10:43, Gábor Kiss-Vámosi wrote:
>>> I see, thanks for the explanation. 
>>> 
>>>> I understand that we can consider each project to be configured 
>>>> separately, but IMHO it would be great if we could just
>>>> use your Kconfig files as part of Kconfig system (having the Kconfig files 
>>>> downloaded previously, as I suggested). If your internal headers assume 
>>>> that each symbol will be translated to CONFIG_<symbol> and if you allow 
>>>> for an external header to be included ("#include <nuttx/config.h>") via 
>>>> some symbolic link, dummy file or macro, NuttX would supply the macros 
>>>> generated during our configuration stage.
>>> 
>>> 
>>> Seems clear from our side. Please let me know what snippet I should for 
>>> NuttX. Similar to:
>>> #if defined ESP_PLATFORM
>>> #include "sdkconfig.h"
>>> #include "esp_attr.h"
>>> #endif
>>> 
>>> Regards,
>>> Gabor
>>>  
>>> 
>>> Matias N. <mat...@imap.cc> ezt írta (időpont: 2020. nov. 2., H, 14:33):
>>>> __
>>>> On Mon, Nov 2, 2020, at 09:51, Gábor Kiss-Vámosi wrote:
>>>>> Hi,
>>>>> 
>>>>>> BTW, is LVGL going to provide a script to convert the Kconfig to a
>>>>>> lv_config.h of some sort?  If that's the case we'll only have to call
>>>>>> the script after we download the tarball.
>>>>> 
>>>>> Yes, We have lv_conf_internal.h 
>>>>> <https://github.com/lvgl/lvgl/blob/master/src/lv_conf_internal.h#L69> 
>>>>> that translates the Kconfig values to LVGL configs.  Besides, 
>>>>> lv_conf_kconfig.h 
>>>>> <https://github.com/lvgl/lvgl/blob/dev/src/lv_conf_kconfig.h#L13> 
>>>>> contains some special "if"s to handle type not supported by Kconfig. The 
>>>>> header created by Kconfig can be included here as well. See the example 
>>>>> for ESP in the link.
>>>> 
>>>> I understand that we can consider each project to be configured 
>>>> separately, but IMHO it would be great if we could just
>>>> use your Kconfig files as part of Kconfig system (having the Kconfig files 
>>>> downloaded previously, as I suggested). If your internal headers assume 
>>>> that each symbol will be translated to CONFIG_<symbol> and if you allow 
>>>> for an external header to be included ("#include <nuttx/config.h>") via 
>>>> some symbolic link, dummy file or macro, NuttX would supply the macros 
>>>> generated during our configuration stage.
>>>> 
>>>>> 
>>>>>> Since we will download the LVGL tarball with a Kconfig, we cannot
>>>>>> display the menuconfig before it is downloaded and decompressed.
>>>>>> And because its download depends on selected item on menuconfig we a
>>>>>> classic dilemma here. :-)
>>>>> 
>>>>> Why is it not an issue with other projects you use in NuttX? Have we 
>>>>> missed something?
>>>> 
>>>> Well, that is why it would be "awkward" as others mentioned: no other 
>>>> project we depend on AFAIK is based on Kconfig. And for projects requiring 
>>>> some different configuration stage, we apply some patch (not ideal) to add 
>>>> NuttX support. So, our build system is very simple:
>>>> 
>>>> - initialize based configuration for board-config combination (using own 
>>>> script, which setups build environment and places initial .config)
>>>> - make menuconfig
>>>> - make
>>>> 
>>>> During make there's a "context" stage which downloads all third-party 
>>>> tarballs and extract them.
>>>> 
>>>> Best,
>>>> Matias
>>>> 
>>>>> 
>>>>> Regards,
>>>>> Gabor
>>>>> 
>>>>>  
>>>>> 
>>>>> Matias N. <mat...@imap.cc> ezt írta (időpont: 2020. nov. 1., V, 20:13):
>>>>>> __
>>>>>> Hi Alan,
>>>>>> 
>>>>>> On Sun, Nov 1, 2020, at 14:52, Alan Carvalho de Assis wrote:
>>>>>>> Since we will download the LVGL tarball with a Kconfig, we cannot
>>>>>>> display the menuconfig before it is downloaded and decompressed.
>>>>>>> And because its download depends on selected item on menuconfig we a
>>>>>>> classic dilemma here. :-)
>>>>>> 
>>>>>> Yes, I understand the problem.
>>>>>> 
>>>>>>> 
>>>>>>> An option could be including a Kconfig in apps/graphics/ that just let
>>>>>>> the user to enable to Kconfig, and then during the building process
>>>>>>> after the download and decompress of the lvgl.tar.gz the menuconfig is
>>>>>>> called just to let the user to fine tune the LVGL configuration. This
>>>>>>> is just an idea, because currently we do all the configuration in a
>>>>>>> single step, but breaking down this process in two phases we could
>>>>>>> simplify this kind of issue. Probably this idea could get some
>>>>>>> resistance, what do you think?
>>>>>> 
>>>>>> Well, I was just arguing against this strategy exactly (or anything 
>>>>>> changing our standard configuration
>>>>>> workflow). Having two separate configuration processes, added
>>>>>> targets, extra config file, is all just added complexity for no good 
>>>>>> reason.
>>>>>> I don't see how this helps us at all. The current process
>>>>>> of configuring LVGL from a submenu of our config is the best approach.
>>>>>> 
>>>>>> What I suggested is to ship LVGL's *official* Kconfig file as part of 
>>>>>> our repo. Compared
>>>>>> to our current approach, we would use an official solution which we know 
>>>>>> works for the LVGL version
>>>>>> we are using. Moreover, we build not be maintaining this file, it would 
>>>>>> be maintained by LVGL.
>>>>>> We would just download it whenever we decide to upgrade to another LVGL 
>>>>>> release.
>>>>>> 
>>>>>> Note the comment from Zephyr guys on this (last line): 
>>>>>> https://github.com/lvgl/lvgl/pull/1875#issuecomment-720086968
>>>>>> They essentially do what I'm suggesting.
>>>>>> 
>>>>>>> 
>>>>>>> BTW, if LVGL projects just create a Kconfig similar to
>>>>>>> apps/graphics/lvgl/Kconfig already will help because, because until
>>>>>>> now for each LVGL release we need to create a new Kconfig.
>>>>>> 
>>>>>> That is exactly my point in how the above approach would indeed benefit 
>>>>>> us (instead of us
>>>>>> just having to complicate our configuration/build system).
>>>>>> 
>>>>>> Best,
>>>>>> Matias
>>>> 
>> 

Reply via email to