[PATCH rtems-littlevgl] Allow to pass custom lv_conf.h and lv_drv_conf.h.
Christian Mauderer
oss at c-mauderer.de
Thu Jul 9 18:54:18 UTC 2020
On 09/07/2020 20:52, Vijay Kumar Banerjee wrote:
>
>
> On Fri, Jul 10, 2020, 12:11 AM Christian Mauderer <oss at c-mauderer.de
> <mailto:oss at c-mauderer.de>> wrote:
>
> Hello Vijay,
>
> thanks for the review and the test.
>
> On 09/07/2020 19:58, Vijay Kumar Banerjee wrote:
> > Hi,
> >
> > Thanks for the patch, I tested the patch and it's building fine. I
> > just had two questions which I have inlined below.
> >
> > On Thu, Jul 9, 2020 at 9:13 PM Christian Mauderer
> > <christian.mauderer at embedded-brains.de
> <mailto:christian.mauderer at embedded-brains.de>> wrote:
> >>
> >> ---
> >> lv_conf.h => default_lv_conf.h | 0
> >> lv_drv_conf.h => default_lv_drv_conf.h | 0
> >> lvgl.py | 19 ++++++++++++++++---
> >> wscript | 13 +++++++++++++
> >> 4 files changed, 29 insertions(+), 3 deletions(-)
> >> rename lv_conf.h => default_lv_conf.h (100%)
> >> rename lv_drv_conf.h => default_lv_drv_conf.h (100%)
> >>
> >> diff --git a/lv_conf.h b/default_lv_conf.h
> >> similarity index 100%
> >> rename from lv_conf.h
> >> rename to default_lv_conf.h
> >> diff --git a/lv_drv_conf.h b/default_lv_drv_conf.h
> >> similarity index 100%
> >> rename from lv_drv_conf.h
> >> rename to default_lv_drv_conf.h
> >> diff --git a/lvgl.py b/lvgl.py
> >> index c154a5e..6d55db7 100644
> >> --- a/lvgl.py
> >> +++ b/lvgl.py
> >> @@ -73,6 +73,17 @@ def build(bld):
> >> includes.append('.')
> >> include_paths = []
> >>
> >> + def write_stuff(stuff):
> >> + def stuff_writer(task):
> >> + task.outputs[0].write(stuff)
> >> + return stuff_writer
> >> +
> >> + lv_conf_h='lv_conf.h'
> >> + lv_drv_conf_h='lv_drv_conf.h'
> >> +
> >> + bld(rule=write_stuff(bld.env.LV_CONF), target=lv_conf_h)
> >> + bld(rule=write_stuff(bld.env.LV_DRV_CONF), target=lv_drv_conf_h)
> >> +
> >> for source in sources:
> >> source_dir = os.path.dirname(source)
> >> if source_dir not in include_paths:
> >> @@ -80,7 +91,7 @@ def build(bld):
> >>
> >> bld.stlib(target = 'lvgl',
> >> features = 'c',
> >> - cflags = ['-O2', '-g'],
> >> + cflags = ['-O2', '-g', '-DLV_CONF_INCLUDE_SIMPLE'],
> >> includes = includes,
> >> source = sources)
> >>
> >> @@ -96,6 +107,8 @@ def build(bld):
> >> for include_path in include_paths:
> >> files = os.listdir(include_path)
> >> include_headers = [os.path.join(include_path, x) for x
> in files if (x[-2:] == '.h')]
> >> - bld.install_files(os.path.join("${PREFIX}/" ,
> arch_inc_path, include_path),
> >> + bld.install_files(os.path.join("${PREFIX}",
> arch_inc_path, include_path),
> >> include_headers)
> >> - bld.install_files('${PREFIX}/' + arch_lib_path, ["liblvgl.a"])
> >> + bld.install_files(os.path.join('${PREFIX}', arch_lib_path),
> ["liblvgl.a"])
> >> + bld.install_files(os.path.join('${PREFIX}', arch_inc_path,
> include_path),
> >> + [lv_conf_h])
> >
> > Should lv_drv_conf_h be installed as well?
>
> I haven't seen that it is used but I can install it too. I didn't test
> all drivers.
>
> One use case would be to check if USE_BSD_FBDEV (Or some other driver)
> is defined. The example apps assumed that both evdev and fbdev is
> defined since the conf was fixed. I think they would need some check to
> ensure it is defined.
I think it is OK for the example apps to use the default configuration
used in RTEMS. But it's a good point. I'll add the lv_drv_conf.h to the
installed headers too before I push the commit.
>
> >
> >> diff --git a/wscript b/wscript
> >> index ae91daa..0e1a51d 100644
> >> --- a/wscript
> >> +++ b/wscript
> >> @@ -49,9 +49,22 @@ def options(opt):
> >> dest = "drivers",
> >> help = "Build without lv_drivers." +
> >> "Useful for building without libbsd.")
> >> + opt.add_option("--lv-conf",
> >> + default = "default_lv_conf.h",
> >> + dest = "lv_conf",
> >> + help = "Use a custom lv_conf.h instead of the
> default one.")
> >> + opt.add_option("--lv-drv-conf",
> >> + default = "default_lv_drv_conf.h",
> >> + dest = "lv_drv_conf",
> >> + help = "Use a custom lv_drv_conf.h instead of
> the default one.")
> >>
> >> def configure(conf):
> >> conf.env.DRIVERS = conf.options.drivers
> >> + with open(conf.options.lv_conf, "rb") as lv_conf:
> >> + conf.env.LV_CONF = lv_conf.read()
> >> + with open(conf.options.lv_drv_conf, "rb") as lv_drv_conf:
> >> + conf.env.LV_DRV_CONF = lv_drv_conf.read()
> >> + conf.env.BUILDINCLUDE = 'build-include'
> >
> > It's not clear to me where is build-include being used. It builds fine
> > without this line, should it be removed from the patch?
> >
>
> That is a part of a dead end during writing the patch. I missed to
> remove it. Thanks for finding it.
>
> Best regards
>
> Christian
>
> >
> > Thanks for working on this feature, it was much needed.
> >
> > Best regards,
> > Vijay
> >
> >> rtems.configure(conf)
> >>
> >> def build(bld):
> >> --
> >> 2.26.2
> >>
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org <mailto:devel at rtems.org>
> > http://lists.rtems.org/mailman/listinfo/devel
> >
>
More information about the devel
mailing list