On Tue, Apr 6, 2021 at 4:26 PM Chris Johns <chr...@rtems.org> wrote: > > On 7/4/21 7:40 am, Gedare Bloom wrote: > > On Tue, Apr 6, 2021 at 2:24 PM Chris Johns <chr...@rtems.org> wrote: > >> > >> > >> > >>> On 4 Apr 2021, at 11:06 am, Vijay Kumar Banerjee <vi...@rtems.org> wrote: > >>> > >>> --- > >>> netlegacy.py | 18 +++++++++++++++++- > >>> nfsclient/wscript | 1 + > >>> wscript | 2 +- > >>> 3 files changed, 19 insertions(+), 2 deletions(-) > >>> > >>> diff --git a/netlegacy.py b/netlegacy.py > >>> index 89176e6..f470da2 100644 > >>> --- a/netlegacy.py > >>> +++ b/netlegacy.py > >>> @@ -55,6 +55,13 @@ def build(bld): > >>> for s in os.listdir('./pppd') if s[-2:] == '.c'] > >>> telnetd_source = [os.path.join('./telnetd', s) > >>> for s in os.listdir('telnetd') if s[-2:] == '.c'] > >>> + nfs_source = [] > >>> + for root, dirs, files in os.walk('./nfsclient'): > >> > >> The `./` seems wrong to me. It may work on Windows if the path parsing can > >> handle / and \. > >> > >>> + for name in files: > >>> + ext = os.path.splitext(name)[1] > >>> + if ext == '.c': > >>> + src_root = os.path.split(root)[1] > >>> + nfs_source.append(os.path.join('./nfsclient', src_root, > >>> name)) > >> > >> And here where join() handles the separator but you have one embedded in > >> the path. > >> > >>> > >>> bsp_dirs, bsp_sources = bsp_drivers.bsp_files(bld) > >>> > >>> @@ -67,6 +74,7 @@ def build(bld): > >>> './bsps/include']) > >>> arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION, > >>> bld.env.RTEMS_ARCH_BSP) > >>> + lib_path = os.path.join(bld.env.PREFIX, arch_lib_path) > >>> include_path.append(os.path.relpath(os.path.join(bld.env.PREFIX, > >>> arch_lib_path))) > >>> include_path.append(os.path.relpath(os.path.join(bld.env.PREFIX, > >>> @@ -74,6 +82,8 @@ def build(bld): > >>> 'include'))) > >>> include_path.append('./bsps/include/libchip') > >> > >> Oh and here! > >> > >>> > >>> + bld.read_stlib('rtemsbsp', paths=[lib_path]) > >>> + > >>> if bsp in bsp_dirs: > >>> include_path.extend(bsp_dirs[bsp]) > >>> > >>> @@ -108,8 +118,14 @@ def build(bld): > >>> use='networking', > >>> source=telnetd_source) > >>> > >>> + bld.stlib(target='nfs', > >>> + features='c', > >>> + includes=ip, > >>> + use=['rtemsbsp', 'networking'], > >>> + source=nfs_source) > >>> + > >>> bld.install_files(os.path.join('${PREFIX}', arch_lib_path), > >>> - ["libnetworking.a", 'libpppd.a', 'libtelnetd.a']) > >>> + ["libnetworking.a", 'libpppd.a', 'libtelnetd.a', > >>> 'libnfs.a']) > >>> bld.install_files(os.path.join('${PREFIX}', arch_lib_path, > >>> 'include', 'libchip'), > >>> [os.path.join('./bsps/include/libchip/', f) > >> > >> You may need a wrapper or something else ... > >> > >> I think we touched on this once before when I suggested the waf Node > >> support (I think?). This is a hole you can end up heading down when you > >> manage paths explicitly. I suggest you step back and decide on a way to > >> handle this for all platforms. > >> > > Yes, thanks. I asked him to test on Windows, but he's getting bit the > > gdb tool won't build. We'll need to get this all sorted out before > > release hits... > > Ah yes that makes things harder. I have sort of had a look at that problem > but I > have been busy with other things. I think we need to look at moving RTEMS to > release GDB versions. I was hoping Sebastian could let us know why we are > using > git hashes. > > That aside I think embedding `/` in paths explicitly is problematic so testing > may only indicate it works in some cases and on Windows there are a lot more > way > to run waf than Unix. > Yes. I think sometimes the "/" gets converted automatically to "\" but we should not be relying on this. I noticed there is one such "/" in rtems-libbsd/wscript and several are in the rtems.git/wscript that should likely be made more path/OS shell agnostic.
> Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel