[PATCH rtems-net-legacy v3] nfsclient: Build nfsclient from the top level netlegacy script
Vijay Kumar Banerjee
vijay at rtems.org
Wed Apr 7 16:51:10 UTC 2021
---
netlegacy.py | 31 ++++++++++++++++++++++----
nfsclient/wscript | 56 -----------------------------------------------
wscript | 2 +-
3 files changed, 28 insertions(+), 61 deletions(-)
delete mode 100644 nfsclient/wscript
diff --git a/netlegacy.py b/netlegacy.py
index 89176e6..05cb78a 100644
--- a/netlegacy.py
+++ b/netlegacy.py
@@ -46,6 +46,14 @@ for root, dirs, files in os.walk("."):
if ext == '.h' and name not in exclude_headers:
include_files[root[2:]].append(os.path.join(root, name))
+def find_node(bld, *paths):
+ path = os.path.join(*paths)
+ return os.path.relpath(str(bld.path.find_node(path)))
+
+def install_file_list(*paths):
+ path = os.path.join(*paths)
+ file_list = [os.path.join(path, f) for f in os.listdir(path)]
+ return file_list
def build(bld):
include_path = []
@@ -55,6 +63,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)
+ nfs_source.append(os.path.join(src_root[0], src_root[1], name))
bsp_dirs, bsp_sources = bsp_drivers.bsp_files(bld)
@@ -67,12 +82,15 @@ 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,
arch_lib_path,
'include')))
- include_path.append('./bsps/include/libchip')
+ include_path.append(find_node(bld, 'bsps', 'include', 'libchip'))
+
+ bld.read_stlib('rtemsbsp', paths=[lib_path])
if bsp in bsp_dirs:
include_path.extend(bsp_dirs[bsp])
@@ -108,12 +126,17 @@ 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)
- for f in os.listdir('./bsps/include/libchip/')])
+ install_file_list('bsps', 'include', 'libchip'))
for i in include_files:
if 'include' in i.split('/'):
bld.install_files(os.path.join('${PREFIX}',
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