summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVijay Kumar Banerjee <vijaykumar9597@gmail.com>2019-08-29 02:46:03 +0530
committerVijay Kumar Banerjee <vijaykumar9597@gmail.com>2019-08-29 02:46:03 +0530
commit399b4fa48f57f760376854c4c1b36cd07accb92a (patch)
tree4f87e364057eec7d19ddb26c3bad10f1a367fc4f
parentAdd conf headers (diff)
downloadrtems-littlevgl-399b4fa48f57f760376854c4c1b36cd07accb92a.tar.bz2
Add lvgl.py
+Added support to parse source and cflags from .mk file
-rw-r--r--.gitignore1
-rw-r--r--lvgl.py57
-rw-r--r--wscript39
3 files changed, 63 insertions, 34 deletions
diff --git a/.gitignore b/.gitignore
index 5f0edfd..2d8a88e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
.waf*
.lock-waf*
build
+*.pyc
diff --git a/lvgl.py b/lvgl.py
new file mode 100644
index 0000000..172e42f
--- /dev/null
+++ b/lvgl.py
@@ -0,0 +1,57 @@
+#
+# RTEMS Project (https://www.rtems.org/)
+#
+# Copyright (c) 2019 Vijay Kumar Banerjee <vijaykumar9597@gmail.com>.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import shlex
+import os
+
+
+def source_list():
+ mk_files = ['lvgl/src/lv_core/lv_core.mk',
+ 'lvgl/src/lv_hal/lv_hal.mk',
+ 'lvgl/src/lv_objx/lv_objx.mk',
+ 'lvgl/src/lv_font/lv_font.mk',
+ 'lvgl/src/lv_misc/lv_misc.mk',
+ 'lvgl/src/lv_themes/lv_themes.mk',
+ 'lvgl/src/lv_draw/lv_draw.mk',]
+ sources = []
+ cflags = []
+
+ for filename in mk_files:
+ lexer = shlex.shlex(file(filename, 'rt').read())
+ lexer.whitespace += '+='
+ lexer.whitespace_split = True
+
+ for token in lexer:
+ if token == 'CSRCS':
+ source_path = os.path.dirname(filename)
+ source_path = os.path.join(source_path, next(lexer))
+ sources.append(os.path.abspath(source_path))
+
+ if token == 'CFLAGS':
+ cflag = next(lexer).replace('$(LVGL_DIR)', str(os.getcwd()))
+ cflags.append(cflag)
+ return (sources, cflags)
diff --git a/wscript b/wscript
index 0f9ce45..23ae421 100644
--- a/wscript
+++ b/wscript
@@ -1,7 +1,8 @@
#
# RTEMS Project (https://www.rtems.org/)
#
-# Copyright (c) 2019 Vijay Kumar Banerjee. All rights reserved.
+# Copyright (c) 2019 Vijay Kumar Banerjee <vijaykumar9597@gmail.com>.
+# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -42,47 +43,17 @@ except:
import os.path
import runpy
import sys
-try:
- import configparser
-except ImportError:
- import ConfigParser as configparser
-import waflib.Options
-
-builders = {}
-
-def bsp_init(ctx, env, contexts):
- # This function generates the builders and adds build-xxx, clean-xxx and
- # install-xxx targets for them.
- # Transform the commands to per build variant commands
- commands = []
- for cmd in waflib.Options.commands:
- if cmd.startswith(('build', 'clean', 'install')):
- for builder in builders:
- commands += [cmd + '-' + builder]
- else:
- commands += [cmd]
- waflib.Options.commands = commands
+import waflib.Options
def init(ctx):
- rtems.init(ctx, version = rtems_version, long_commands = True,
- bsp_init = bsp_init)
+ rtems.init(ctx, version = rtems_version, long_commands = True)
def options(opt):
rtems.options(opt)
- opt.add_option("--enable-warnings",
- action = "store_true",
- default = False,
- dest = "warnings",
- help = "Enable all warnings. The default is quiet builds.")
-
-def bsp_configure(conf, arch_bsp):
- env = conf.env.derive()
def configure(conf):
- conf.env.WARNINGS = conf.options.warnings
-
- rtems.configure(conf, bsp_configure)
+ rtems.configure(conf)
def build(bld):
rtems.build(bld)