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

Vijay Kumar Banerjee vijay at rtems.org
Tue Apr 6 17:23:32 UTC 2021


---
 netlegacy.py      | 18 ++++++++++++++-
 nfsclient/wscript | 56 -----------------------------------------------
 wscript           |  2 +-
 3 files changed, 18 insertions(+), 58 deletions(-)
 delete mode 100644 nfsclient/wscript

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
deleted file mode 100644
index bc2f994..0000000
--- a/nfsclient/wscript
+++ /dev/null
@@ -1,56 +0,0 @@
-#
-# RTEMS Project (https://www.rtems.org/)
-#
-# Copyright (c) 2021 Vijay Kumar Banerjee <vijay at rtems.org>.
-# 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.
-
-from rtems_waf import rtems
-import os
-
-
-def init(ctx):
-    pass
-
-
-def configure(conf):
-    pass
-
-
-def build(bld):
-    source_files = []
-    include_path = ['./', '../', os.path.relpath(bld.env.PREFIX)]
-    arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,
-                                            bld.env.RTEMS_ARCH_BSP)
-    for root, dirs, files in os.walk('./nfsclient'):
-        for name in files:
-            if name[-2:] == '.c':
-                src_root = root.split('/')[2]
-                source_files.append(os.path.join(src_root, name))
-
-    bld.stlib(target='nfs',
-              features='c',
-              cflags=['-O2', '-g'],
-              includes=include_path,
-              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



More information about the devel mailing list