Re: [PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-06 Thread Gedare Bloom
On Tue, Apr 6, 2021 at 4:26 PM Chris Johns  wrote:
>
> On 7/4/21 7:40 am, Gedare Bloom wrote:
> > On Tue, Apr 6, 2021 at 2:24 PM Chris Johns  wrote:
> >>
> >>
> >>
> >>> On 4 Apr 2021, at 11:06 am, Vijay Kumar Banerjee  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

Re: [PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-06 Thread Chris Johns
On 7/4/21 7:40 am, Gedare Bloom wrote:
> On Tue, Apr 6, 2021 at 2:24 PM Chris Johns  wrote:
>>
>>
>>
>>> On 4 Apr 2021, at 11:06 am, Vijay Kumar Banerjee  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.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-06 Thread Gedare Bloom
On Tue, Apr 6, 2021 at 2:24 PM Chris Johns  wrote:
>
>
>
> > On 4 Apr 2021, at 11:06 am, Vijay Kumar Banerjee  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...

> Chris
> ___
> 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

Re: [PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-06 Thread Chris Johns


> On 4 Apr 2021, at 11:06 am, Vijay Kumar Banerjee  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. 

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-06 Thread Vijay Kumar Banerjee
On Mon, Apr 5, 2021 at 10:34 AM Gedare Bloom  wrote:
>
> ok, push on Wednesday if no one complains
>
Thanks for the review. I think I found a complaint myself. :)

This patch builds the nfsclient from the netlegacy script, so the
nfsclient/wscript is not needed. I'll send a v2 of the patch with this
cleanup added.

> On Sat, Apr 3, 2021 at 7:06 PM Vijay Kumar Banerjee  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'):
> > +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))
> >
> >  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')
> >
> > +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)
> > diff --git a/nfsclient/wscript b/nfsclient/wscript
> > index bc2f994..c0fe420 100644
> > --- a/nfsclient/wscript
> > +++ b/nfsclient/wscript
> > @@ -52,5 +52,6 @@ def build(bld):
> >features='c',
> >cflags=['-O2', '-g'],
> >includes=include_path,
> > +  use=['networking'],
> >source=source_files)
> >  bld.install_files(os.path.join('${PREFIX}', arch_lib_path), 
> > ['libnfs.a'])
> > diff --git a/wscript b/wscript
> > index 07f774d..7af317d 100644
> > --- a/wscript
> > +++ b/wscript
> > @@ -33,7 +33,7 @@ import sys
> >  top = '.'
> >
> >  rtems_version = "6"
> > -subdirs = ['nfsclient', 'testsuites']
> > +subdirs = ['testsuites']
> >
> >  try:
> >  import rtems_waf.rtems as rtems
> > --
> > 2.26.2
> >
> > ___
> > 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


Re: [PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-05 Thread Gedare Bloom
ok, push on Wednesday if no one complains

On Sat, Apr 3, 2021 at 7:06 PM Vijay Kumar Banerjee  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'):
> +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))
>
>  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')
>
> +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)
> diff --git a/nfsclient/wscript b/nfsclient/wscript
> index bc2f994..c0fe420 100644
> --- a/nfsclient/wscript
> +++ b/nfsclient/wscript
> @@ -52,5 +52,6 @@ def build(bld):
>features='c',
>cflags=['-O2', '-g'],
>includes=include_path,
> +  use=['networking'],
>source=source_files)
>  bld.install_files(os.path.join('${PREFIX}', arch_lib_path), ['libnfs.a'])
> diff --git a/wscript b/wscript
> index 07f774d..7af317d 100644
> --- a/wscript
> +++ b/wscript
> @@ -33,7 +33,7 @@ import sys
>  top = '.'
>
>  rtems_version = "6"
> -subdirs = ['nfsclient', 'testsuites']
> +subdirs = ['testsuites']
>
>  try:
>  import rtems_waf.rtems as rtems
> --
> 2.26.2
>
> ___
> 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


[PATCH rtems-net-legacy] nfsclient: Build nfsclient from the top level netlegacy script

2021-04-03 Thread Vijay Kumar Banerjee
---
 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'):
+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))
 
 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')
 
+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)
diff --git a/nfsclient/wscript b/nfsclient/wscript
index bc2f994..c0fe420 100644
--- a/nfsclient/wscript
+++ b/nfsclient/wscript
@@ -52,5 +52,6 @@ def build(bld):
   features='c',
   cflags=['-O2', '-g'],
   includes=include_path,
+  use=['networking'],
   source=source_files)
 bld.install_files(os.path.join('${PREFIX}', arch_lib_path), ['libnfs.a'])
diff --git a/wscript b/wscript
index 07f774d..7af317d 100644
--- a/wscript
+++ b/wscript
@@ -33,7 +33,7 @@ import sys
 top = '.'
 
 rtems_version = "6"
-subdirs = ['nfsclient', 'testsuites']
+subdirs = ['testsuites']
 
 try:
 import rtems_waf.rtems as rtems
-- 
2.26.2

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel