On Mon, Mar 15, 2021 at 6:02 AM Joel Sherrill <j...@rtems.org> wrote: > > > > On Mon, Mar 15, 2021, 5:53 AM Hesham Almatary <hesham.almat...@cl.cam.ac.uk> > wrote: >> >> Hello Gedare, >> >> Yeah adding Make support should be straightforward. I just assumed >> Make will be deprecated soon based on [1] and haven't bothered >> supporting it. >> >> [1] >> https://github.com/RTEMS/rtems-examples/blob/983926a7e519be85f630c620430e7e1ac3e0f4ea/README.Makefile#L32 > > > There are projects that use it. Although it is old and it would be nice to go > to something else, that something else isn't there. It's there.foenthe > foreseeable future. >
Makefile will always be an option for users (application level) to compile, and we should continue to provide/test that in our examples repo. It would be best to show a variety of build systems in examples, but limited bandwidth means we should at least show make and waf approaches. > --joel > >> >> >> >> >> On Sun, 14 Mar 2021 at 18:47, Gedare Bloom <ged...@rtems.org> wrote: >> > >> > Hi Hesham, >> > >> > Nice work getting this integrated in the upstream. I guess that the >> > git submodule instructions for building with waf will work for this, >> > but not Make. How hard would it be for you to integrate the submodule >> > with Make? >> > >> > This is fine with me as-is, I just want to know if we can keep it >> > supporting both build systems. >> > >> > On Sat, Mar 13, 2021 at 12:50 AM Hesham Almatary >> > <hesham.almat...@cl.cam.ac.uk> wrote: >> > > >> > > CoreMark's primary goals are simplicity and providing a method for >> > > testing only a processor's core features. It is used primarily here as >> > > a performance benchmark. >> > > >> > > Built and tested for RISC-V rv64imafdc_medany on QEMU and HW >> > > --- >> > > .gitmodules | 3 +++ >> > > benchmarks/coremark/coremark | 1 + >> > > benchmarks/coremark/wscript | 50 ++++++++++++++++++++++++++++++++++++ >> > > benchmarks/wscript | 2 +- >> > > 4 files changed, 55 insertions(+), 1 deletion(-) >> > > create mode 160000 benchmarks/coremark/coremark >> > > create mode 100644 benchmarks/coremark/wscript >> > > >> > > diff --git a/.gitmodules b/.gitmodules >> > > index ae86e49..d7e52b9 100644 >> > > --- a/.gitmodules >> > > +++ b/.gitmodules >> > > @@ -1,3 +1,6 @@ >> > > [submodule "rtems_waf"] >> > > path = rtems_waf >> > > url = git://git.rtems.org/rtems_waf.git >> > > +[submodule "benchmarks/coremark/coremark"] >> > > + path = benchmarks/coremark/coremark >> > > + url = g...@github.com:eembc/coremark.git >> > > diff --git a/benchmarks/coremark/coremark b/benchmarks/coremark/coremark >> > > new file mode 160000 >> > > index 0000000..1541482 >> > > --- /dev/null >> > > +++ b/benchmarks/coremark/coremark >> > > @@ -0,0 +1 @@ >> > > +Subproject commit 1541482bf3e6ef7f5c69f5be76b14537b60833d0 >> > > diff --git a/benchmarks/coremark/wscript b/benchmarks/coremark/wscript >> > > new file mode 100644 >> > > index 0000000..2ec5f1e >> > > --- /dev/null >> > > +++ b/benchmarks/coremark/wscript >> > > @@ -0,0 +1,50 @@ >> > > +#- >> > > +# SPDX-License-Identifier: BSD-2-Clause >> > > +# >> > > +# Copyright (c) 2021 Hesham Almatary >> > > +# >> > > +# This software was developed by SRI International and the University of >> > > +# Cambridge Computer Laboratory (Department of Computer Science and >> > > +# Technology) under DARPA contract HR0011-18-C-0016 ("ECATS"), as part >> > > of the >> > > +# DARPA SSITH research programme. >> > > +# >> > > +# 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 AUTHOR 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 AUTHOR 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 rtems_waf.rtems as rtems >> > > + >> > > +def build(bld): >> > > + rtems.build(bld) >> > > + >> > > + bld(features = 'c cprogram', >> > > + target = 'coremark.bin', >> > > + includes = ['coremark/', 'coremark/posix/'], >> > > + source = ['coremark/rtems/init.c', >> > > 'coremark/posix/core_portme.c', >> > > + 'coremark/core_list_join.c', 'coremark/core_main.c', >> > > + 'coremark/core_matrix.c', 'coremark/core_state.c', >> > > + 'coremark/core_util.c'], >> > > + >> > > + defines = [ >> > > + # FLAGS_STR is used within CoreMark to print the compiler flags >> > > used >> > > + 'FLAGS_STR="'+' '.join([str(flag) for flag in >> > > bld.env.CFLAGS])+'"' >> > > + ] >> > > + ) >> > > diff --git a/benchmarks/wscript b/benchmarks/wscript >> > > index 12741e7..0947060 100644 >> > > --- a/benchmarks/wscript >> > > +++ b/benchmarks/wscript >> > > @@ -7,4 +7,4 @@ import rtems_waf.rtems as rtems >> > > >> > > def build(bld): >> > > bld.recurse('nbench') >> > > - >> > > + bld.recurse('coremark') >> > >> > I think we usually keep the blank line at the end of the wscript file. >> > Not a hard rule. >> > >> > > -- >> > > 2.25.1 >> > > >> > > _______________________________________________ >> > > devel mailing list >> > > devel@rtems.org >> > > http://lists.rtems.org/mailman/listinfo/devel >> _______________________________________________ >> devel mailing list >> devel@rtems.org >> http://lists.rtems.org/mailman/listinfo/devel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel