[PATCH rtems-littlevgl] Allow to pass custom lv_conf.h and lv_drv_conf.h.
Vijay Kumar Banerjee
vijay at rtems.org
Thu Jul 9 17:58:59 UTC 2020
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> 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?
> 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?
Thanks for working on this feature, it was much needed.
Best regards,
Vijay
> rtems.configure(conf)
>
> def build(bld):
> --
> 2.26.2
>
More information about the devel
mailing list