mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-25 06:53:15 +08:00
Add RTEMS version support, update all python to 2 and 3.
Add support to force the RTEMS version. This remove the need for using the --rtems-version command line option if the automatic detection fails. Update all python code to support python 2 and 3. Update rtems_waf to the latest version to support the RTEMS version, check environment variables and to display the CC version. Sort all tests. I think the unsorted list is dependent on the version of python and so would result in repo noise as if it regenerted.
This commit is contained in:
parent
891a7568e5
commit
97c5024a79
30
README.waf
30
README.waf
@ -105,3 +105,33 @@ Steps
|
||||
configuration information. If you have a few source trees working at any
|
||||
one time with different tool sets or configurations you can easly move
|
||||
between them safe in the knowledge that one build will not infect another.
|
||||
|
||||
|
||||
Updating RTEMS Waf Support
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you have a working libbsd repository and new changes to the `rtems_waf`
|
||||
submodule has been made, you will need update. A `git status` will indicate
|
||||
there are new commits with:
|
||||
|
||||
$ git status
|
||||
[ snip output ]
|
||||
modified: rtems_waf (new commits)
|
||||
[ snip output ]
|
||||
|
||||
To update:
|
||||
|
||||
$ git submodule update rtems_waf
|
||||
|
||||
Please make sure you use the exact command or you might find you are cloning
|
||||
the whole of the FreeBSD source tree. If that happens simply git ^C and try
|
||||
again.
|
||||
|
||||
The following is for developers only who need to move libbsd to a newer
|
||||
versions:
|
||||
|
||||
$ git submodule update rtems_waf
|
||||
$ cd rtems_waf
|
||||
$ git checkout master
|
||||
$ git pull
|
||||
$ git commit -m "Update rtems_waf" rtems_waf
|
||||
|
29
builder.py
29
builder.py
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
# Copyright (c) 2015-2016 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2009-2015 embedded brains GmbH. All rights reserved.
|
||||
#
|
||||
@ -34,6 +34,8 @@
|
||||
|
||||
# FreeBSD: http://svn.freebsd.org/base/releng/8.2/sys (revision 222485)
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import shutil
|
||||
import os
|
||||
import re
|
||||
@ -50,7 +52,14 @@ FreeBSD_DIR = "freebsd-org"
|
||||
isVerbose = False
|
||||
isDryRun = False
|
||||
isDiffMode = False
|
||||
filesProcessed = 0
|
||||
filesProcessedCount = 0
|
||||
filesProcessed = []
|
||||
|
||||
def changedFileSummary():
|
||||
if isDiffMode == False:
|
||||
print('%d file(s) were changed:' % (filesProcessedCount))
|
||||
for f in sorted(filesProcessed):
|
||||
print(' %s' % (f))
|
||||
|
||||
class error(Exception):
|
||||
"""Base class for exceptions."""
|
||||
@ -131,20 +140,22 @@ def header_paths():
|
||||
# + copy or diff depending on execution mode
|
||||
def processIfDifferent(new, old, src):
|
||||
|
||||
global filesProcessedCount
|
||||
global filesProcessed
|
||||
global isVerbose, isDryRun, isEarlyExit
|
||||
|
||||
if not os.path.exists(old) or \
|
||||
filecmp.cmp(new, old, shallow = False) == False:
|
||||
filesProcessed += 1
|
||||
filesProcessed += [old]
|
||||
filesProcessedCount += 1
|
||||
if isDiffMode == False:
|
||||
if isVerbose == True:
|
||||
print "Move " + src + " to " + old
|
||||
print("Move " + src + " to " + old)
|
||||
if isDryRun == False:
|
||||
shutil.move(new, old)
|
||||
else:
|
||||
if isVerbose == True:
|
||||
print "Diff %s => %s" % (src, new)
|
||||
print("Diff %s => %s" % (src, new))
|
||||
old_contents = open(old).readlines()
|
||||
new_contents = open(new).readlines()
|
||||
for line in \
|
||||
@ -191,14 +202,14 @@ def revertFixLocalIncludes(data):
|
||||
|
||||
def assertHeaderFile(path):
|
||||
if path[-2] != '.' or path[-1] != 'h':
|
||||
print "*** " + path + " does not end in .h"
|
||||
print "*** Move it to a C source file list"
|
||||
print("*** " + path + " does not end in .h")
|
||||
print("*** Move it to a C source file list")
|
||||
sys.exit(2)
|
||||
|
||||
def assertSourceFile(path):
|
||||
if path[-2] != '.' or (path[-1] != 'c' and path[-1] != 'S'):
|
||||
print "*** " + path + " does not end in .c"
|
||||
print "*** Move it to a header file list"
|
||||
print("*** " + path + " does not end in .c")
|
||||
print("*** Move it to a header file list")
|
||||
sys.exit(2)
|
||||
|
||||
class Converter(object):
|
||||
|
@ -1,6 +1,6 @@
|
||||
#! /usr/bin/env python
|
||||
#
|
||||
# Copyright (c) 2015 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
# Copyright (c) 2015-2016 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2009-2015 embedded brains GmbH. All rights reserved.
|
||||
#
|
||||
@ -35,51 +35,54 @@
|
||||
|
||||
# FreeBSD: http://svn.freebsd.org/base/releng/8.2/sys (revision 222485)
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import sys
|
||||
import getopt
|
||||
|
||||
import builder
|
||||
import makefile
|
||||
import waf_generator
|
||||
import libbsd
|
||||
|
||||
isForward = True
|
||||
isEarlyExit = False
|
||||
isOnlyMakefile = False
|
||||
isOnlyBuildScripts = False
|
||||
|
||||
def usage():
|
||||
print "freebsd-to-rtems.py [args]"
|
||||
print " -?|-h|--help print this and exit"
|
||||
print " -d|--dry-run run program but no modifications"
|
||||
print " -D|--diff provide diff of files between trees"
|
||||
print " -e|--early-exit evaluate arguments, print results, and exit"
|
||||
print " -m|--makefile just generate Makefile"
|
||||
print " -R|--reverse default FreeBSD -> RTEMS, reverse that"
|
||||
print " -r|--rtems RTEMS Libbsd directory (default: '.')"
|
||||
print " -f|--freebsd FreeBSD SVN directory (default: 'freebsd-org')"
|
||||
print " -v|--verbose enable verbose output mode"
|
||||
print("freebsd-to-rtems.py [args]")
|
||||
print(" -?|-h|--help print this and exit")
|
||||
print(" -d|--dry-run run program but no modifications")
|
||||
print(" -D|--diff provide diff of files between trees")
|
||||
print(" -e|--early-exit evaluate arguments, print results, and exit")
|
||||
print(" -m|--makefile Warning: depreciated and will be removed ")
|
||||
print(" -b|--buildscripts just generate the build scripts")
|
||||
print(" -R|--reverse default FreeBSD -> RTEMS, reverse that")
|
||||
print(" -r|--rtems RTEMS Libbsd directory (default: '.')")
|
||||
print(" -f|--freebsd FreeBSD SVN directory (default: 'freebsd-org')")
|
||||
print(" -v|--verbose enable verbose output mode")
|
||||
|
||||
# Parse the arguments
|
||||
def parseArguments():
|
||||
global isForward, isEarlyExit
|
||||
global isOnlyMakefile
|
||||
global isOnlyBuildScripts
|
||||
try:
|
||||
opts, args = getopt.getopt(sys.argv[1:],
|
||||
"?hdDemRr:f:v",
|
||||
"?hdDembRr:f:v",
|
||||
[ "help",
|
||||
"help",
|
||||
"dry-run"
|
||||
"diff"
|
||||
"early-exit"
|
||||
"makefile"
|
||||
"buildscripts"
|
||||
"reverse"
|
||||
"rtems="
|
||||
"freebsd="
|
||||
"verbose" ])
|
||||
except getopt.GetoptError, err:
|
||||
except getopt.GetoptError as err:
|
||||
# print help information and exit:
|
||||
print str(err) # will print something like "option -a not recognized"
|
||||
print(str(err)) # will print something like "option -a not recognized"
|
||||
usage()
|
||||
sys.exit(2)
|
||||
for o, a in opts:
|
||||
@ -94,8 +97,8 @@ def parseArguments():
|
||||
builder.isDiffMode = True
|
||||
elif o in ("-e", "--early-exit"):
|
||||
isEarlyExit = True
|
||||
elif o in ("-m", "--makefile"):
|
||||
isOnlyMakefile = True
|
||||
elif o in ("-b", "--buildscripts") or o in ("-m", "--makefile"):
|
||||
isOnlyBuildScripts = True
|
||||
elif o in ("-R", "--reverse"):
|
||||
isForward = False
|
||||
elif o in ("-r", "--rtems"):
|
||||
@ -107,22 +110,22 @@ def parseArguments():
|
||||
|
||||
parseArguments()
|
||||
|
||||
print "Verbose: " + ("no", "yes")[builder.isVerbose]
|
||||
print "Dry Run: " + ("no", "yes")[builder.isDryRun]
|
||||
print "Diff Mode Enabled: " + ("no", "yes")[builder.isDiffMode]
|
||||
print "Only Generate Makefile: " + ("no", "yes")[isOnlyMakefile]
|
||||
print "RTEMS Libbsd Directory: " + builder.RTEMS_DIR
|
||||
print "FreeBSD SVN Directory: " + builder.FreeBSD_DIR
|
||||
print "Direction: " + ("reverse", "forward")[isForward]
|
||||
print("Verbose: " + ("no", "yes")[builder.isVerbose])
|
||||
print("Dry Run: " + ("no", "yes")[builder.isDryRun])
|
||||
print("Diff Mode Enabled: " + ("no", "yes")[builder.isDiffMode])
|
||||
print("Only Generate Build Scripts: " + ("no", "yes")[isOnlyBuildScripts])
|
||||
print("RTEMS Libbsd Directory: " + builder.RTEMS_DIR)
|
||||
print("FreeBSD SVN Directory: " + builder.FreeBSD_DIR)
|
||||
print("Direction: " + ("reverse", "forward")[isForward])
|
||||
|
||||
# Check directory argument was set and exist
|
||||
def wasDirectorySet(desc, path):
|
||||
if path == "not_set":
|
||||
print "error:" + desc + " Directory was not specified on command line"
|
||||
print("error:" + desc + " Directory was not specified on command line")
|
||||
sys.exit(2)
|
||||
|
||||
if os.path.isdir( path ) != True:
|
||||
print "error:" + desc + " Directory (" + path + ") does not exist"
|
||||
print("error:" + desc + " Directory (" + path + ") does not exist")
|
||||
sys.exit(2)
|
||||
|
||||
# Were RTEMS and FreeBSD directories specified
|
||||
@ -131,33 +134,29 @@ wasDirectorySet( "FreeBSD", builder.FreeBSD_DIR )
|
||||
|
||||
# Are we generating or reverting?
|
||||
if isForward == True:
|
||||
print "Forward from FreeBSD GIT into ", builder.RTEMS_DIR
|
||||
print("Forward from FreeBSD GIT into ", builder.RTEMS_DIR)
|
||||
else:
|
||||
print "Reverting from ", builder.RTEMS_DIR
|
||||
if isOnlyMakefile == True:
|
||||
print "error: Makefile Mode and Reverse are contradictory"
|
||||
print("Reverting from ", builder.RTEMS_DIR)
|
||||
if isOnlyBuildScripts == True:
|
||||
print("error: Build Script generation and Reverse are contradictory")
|
||||
sys.exit(2)
|
||||
|
||||
if isEarlyExit == True:
|
||||
print "Early exit at user request"
|
||||
print("Early exit at user request")
|
||||
sys.exit(0)
|
||||
|
||||
try:
|
||||
makefile_gen = makefile.ModuleManager()
|
||||
waf_gen = waf_generator.ModuleManager()
|
||||
|
||||
libbsd.sources(makefile_gen)
|
||||
libbsd.sources(waf_gen)
|
||||
|
||||
# Perform the actual file manipulation
|
||||
if isForward:
|
||||
if not isOnlyMakefile:
|
||||
makefile_gen.copyFromFreeBSDToRTEMS()
|
||||
waf_gen.generate()
|
||||
if not isOnlyBuildScripts:
|
||||
waf_gen.copyFromFreeBSDToRTEMS()
|
||||
waf_gen.generate(libbsd.rtems_version())
|
||||
else:
|
||||
makefile_gen.copyFromRTEMSToFreeBSD()
|
||||
# Print a summary if changing files
|
||||
if builder.isDiffMode == False:
|
||||
print '%d file(s) were changed.' % (builder.filesProcessed)
|
||||
except IOError, ioe:
|
||||
print 'error: %s' % (ioe)
|
||||
waf_gen.copyFromRTEMSToFreeBSD()
|
||||
builder.changedFileSummary()
|
||||
except IOError as ioe:
|
||||
print('error: %s' % (ioe))
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
# Copyright (c) 2015-2016 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2009-2015 embedded brains GmbH. All rights reserved.
|
||||
#
|
||||
@ -34,6 +34,12 @@
|
||||
|
||||
import builder
|
||||
|
||||
#
|
||||
# RTEMS version
|
||||
#
|
||||
def rtems_version():
|
||||
return '4.12'
|
||||
|
||||
#
|
||||
# RTEMS
|
||||
#
|
||||
|
92
libbsd.txt
92
libbsd.txt
@ -32,26 +32,26 @@ Please help by adding to it.
|
||||
|
||||
=== Tool Chain ===
|
||||
|
||||
You need a tool chain for RTEMS based on at least
|
||||
|
||||
* Binutils 2.24, and
|
||||
* Newlib 2.1.0.
|
||||
|
||||
The Binutils version is required to ease the handling of linker command files.
|
||||
The Newlib version is required since some standard files like `<sys/types.h>`
|
||||
must be compatible enough for the files provided by the FreeBSD sources, e.g.
|
||||
`<sys/socket.h>`.
|
||||
|
||||
You need a tool chain for RTEMS based on at least RSB 4.12 April 2016 or later.
|
||||
=== Installation Overview ===
|
||||
|
||||
. You must configure your BSP with the +--disable-networking+ option to disable
|
||||
the old network stack. Make sure no header files of the old network stack are
|
||||
installed.
|
||||
|
||||
. Clone the Git repository +git clone git://git.rtems.org/rtems-libbsd.git+.
|
||||
. Change into the RTEMS BSD library root directory.
|
||||
. Edit the `config.inc` Makefile configuration file and adjust it to your environment.
|
||||
. Run +make clean+.
|
||||
. Run +make install+.
|
||||
. Edit the `config.inc` configuration file and adjust it to your environment.
|
||||
. Run +waf configure ...+.
|
||||
. Run +waf+.
|
||||
. Run +waf install+.
|
||||
|
||||
Refer to the README.waf for Waf building instructions.
|
||||
|
||||
Make sure the submodules have been initialised and are updated. If a 'git
|
||||
status' says `rtems_waf` need updating run the submodule update command:
|
||||
|
||||
$ git submodule rtems_waf update
|
||||
|
||||
=== Board Support Package Requirements ===
|
||||
|
||||
@ -115,15 +115,10 @@ devices (you can run multiple test instances on one virtual network).
|
||||
|
||||
=== BSD Library Configuration and Build ===
|
||||
|
||||
There are currently 2 build systems supported. The first is based on the RTEMS
|
||||
Makefile support in RTEMS and installed with the BSP and the second is a stand
|
||||
alone environment based on the Waf build system. The Makefile build system will
|
||||
be removed when RTEMS moves away from its existing build system and Waf will
|
||||
be the preferred build environment.
|
||||
The build system based on the Waf build system. To build with Waf please refer
|
||||
to the README.waf file.
|
||||
|
||||
To build with Waf please refer to the README.waf file.
|
||||
|
||||
===== Makefile Building =====
|
||||
===== Example Configuration =====
|
||||
|
||||
In the BSD library source directory edit the file `config.inc`. Continuing on
|
||||
the above, the `config.inc` used to match the above is:
|
||||
@ -146,36 +141,6 @@ NET_CFG_GATEWAY_IP = 10.0.0.1
|
||||
NET_TAP_INTERFACE = tap0
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Now you can build the BSD library and run the tests:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
make clean
|
||||
make
|
||||
make run_tests
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
You can only run the tests directly in case a test runner is available. The
|
||||
following tests run without an external network. It is strongly advised to run
|
||||
them.
|
||||
|
||||
* commands01
|
||||
* init01
|
||||
* loopback01
|
||||
* rwlock01
|
||||
* selectpollkqueue01
|
||||
* sleep01
|
||||
* swi01
|
||||
* syscalls01
|
||||
* thread01
|
||||
* timeout01
|
||||
* unix01
|
||||
|
||||
To install the BSD library use this:
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
make install
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
=== BSD Library Initialization ===
|
||||
|
||||
Use the following code to initialize the BSD library:
|
||||
@ -556,7 +521,7 @@ Do not format original FreeBSD code.
|
||||
=== What is in the Git Repository
|
||||
|
||||
There is a self-contained kit with FreeBSD and RTEMS components pre-merged. The
|
||||
Makefile in this kit is automatically generated.
|
||||
Waf wscript in this kit is automatically generated.
|
||||
|
||||
Any changes to source in the `freebsd` directories will need to be merged
|
||||
upstream into our master FreeBSD checkout, the `freebsd-org` submodule.
|
||||
@ -578,7 +543,7 @@ The top level directory contains a few directories and files. The following
|
||||
are important to understand
|
||||
|
||||
* `freebsd-to-rtems.py` - script to convert to and free FreeBSD and RTEMS trees,
|
||||
* `Makefile` - automatically generated,
|
||||
* `wscript` - automatically generated,
|
||||
* `freebsd/` - from FreeBSD by script,
|
||||
* `rtemsbsd/` - RTEMS specific implementations of FreeBSD kernel support routines,
|
||||
* `testsuite/` - RTEMS specific tests, and
|
||||
@ -593,20 +558,21 @@ on the FreeBSD code. Its command line arguments are shown below:
|
||||
|
||||
----
|
||||
freebsd-to-rtems.py [args]
|
||||
-?|-h|--help print this and exit
|
||||
-d|--dry-run run program but no modifications
|
||||
-D|--diff provide diff of files between trees
|
||||
-e|--early-exit evaluate arguments, print results, and exit
|
||||
-m|--makefile just generate Makefile
|
||||
-R|--reverse default FreeBSD -> RTEMS, reverse that
|
||||
-r|--rtems RTEMS directory
|
||||
-f|--freebsd FreeBSD directory
|
||||
-v|--verbose enable verbose output mode
|
||||
-?|-h|--help print this and exit
|
||||
-d|--dry-run run program but no modifications
|
||||
-D|--diff provide diff of files between trees
|
||||
-e|--early-exit evaluate arguments, print results, and exit
|
||||
-m|--makefile Warning: depreciated and will be removed
|
||||
-b|--buildscripts just generate the build scripts
|
||||
-R|--reverse default FreeBSD -> RTEMS, reverse that
|
||||
-r|--rtems RTEMS directory
|
||||
-f|--freebsd FreeBSD directory
|
||||
-v|--verbose enable verbose output mode
|
||||
----
|
||||
|
||||
In its default mode of operation, freebsd-to-rtems.py is used to copy code
|
||||
from FreeBSD to the rtems-libbsd tree and perform transformations. In forward
|
||||
mode, the script may be requested to just generate the Makefile and Waf script.
|
||||
mode, the script may be requested to just generate the Waf script.
|
||||
|
||||
In "reverse mode", this script undoes those transformations and copies
|
||||
the source code back to the FreeBSD SVN tree. This allows us to do
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit b548c77d81e390a40d4afba8afc35c8175191f0b
|
||||
Subproject commit 8220ad187c2570a758b666ba7dbd068361aec1a2
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2015 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
# Copyright (c) 2015-2016 Chris Johns <chrisj@rtems.org>. All rights reserved.
|
||||
#
|
||||
# Copyright (c) 2009-2015 embedded brains GmbH. All rights reserved.
|
||||
#
|
||||
@ -32,7 +32,10 @@
|
||||
# (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 __future__ import print_function
|
||||
|
||||
import os
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
import builder
|
||||
@ -146,7 +149,10 @@ class ModuleManager(builder.ModuleManager):
|
||||
def write(self):
|
||||
try:
|
||||
out = tempfile.NamedTemporaryFile(delete = False)
|
||||
out.write(self.script)
|
||||
try:
|
||||
out.write(bytes(self.script, sys.stdin.encoding))
|
||||
except:
|
||||
out.write(self.script)
|
||||
out.close()
|
||||
wscript = builder.RTEMS_DIR + '/wscript'
|
||||
builder.processIfDifferent(out.name, wscript, "wscript")
|
||||
@ -176,7 +182,7 @@ class ModuleManager(builder.ModuleManager):
|
||||
self.generator['lex'] = LexFragmentComposer
|
||||
self.generator['yacc'] = YaccFragmentComposer
|
||||
|
||||
def generate(self):
|
||||
def generate(self, rtems_version):
|
||||
|
||||
def _source_list(lhs, files, append = False):
|
||||
if append:
|
||||
@ -257,8 +263,12 @@ class ModuleManager(builder.ModuleManager):
|
||||
self.add('# To use see README.waf shipped with this file.')
|
||||
self.add('#')
|
||||
self.add('')
|
||||
self.add('from __future__ import print_function')
|
||||
self.add('')
|
||||
self.add('import os.path')
|
||||
self.add('')
|
||||
self.add('rtems_version = "%s"' % (rtems_version))
|
||||
self.add('')
|
||||
self.add('try:')
|
||||
self.add(' import rtems_waf.rtems as rtems')
|
||||
self.add('except:')
|
||||
@ -267,7 +277,7 @@ class ModuleManager(builder.ModuleManager):
|
||||
self.add(' sys.exit(1)')
|
||||
self.add('')
|
||||
self.add('def init(ctx):')
|
||||
self.add(' rtems.init(ctx)')
|
||||
self.add(' rtems.init(ctx, version = rtems_version)')
|
||||
self.add('')
|
||||
self.add('def options(opt):')
|
||||
self.add(' rtems.options(opt)')
|
||||
@ -569,7 +579,7 @@ class ModuleManager(builder.ModuleManager):
|
||||
|
||||
self.add(' # Tests')
|
||||
tests = data['tests']
|
||||
for test_name in tests:
|
||||
for test_name in sorted(tests):
|
||||
files = ['testsuite/%s/%s.c' % (test_name, f) for f in data['tests'][test_name]['all']['files']]
|
||||
_source_list(' test_%s' % (test_name), sorted(files))
|
||||
self.add(' bld.program(target = "%s.exe",' % (test_name))
|
||||
|
388
wscript
388
wscript
@ -6,8 +6,12 @@
|
||||
# To use see README.waf shipped with this file.
|
||||
#
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import os.path
|
||||
|
||||
rtems_version = "4.12"
|
||||
|
||||
try:
|
||||
import rtems_waf.rtems as rtems
|
||||
except:
|
||||
@ -16,7 +20,7 @@ except:
|
||||
sys.exit(1)
|
||||
|
||||
def init(ctx):
|
||||
rtems.init(ctx)
|
||||
rtems.init(ctx, version = rtems_version)
|
||||
|
||||
def options(opt):
|
||||
rtems.options(opt)
|
||||
@ -179,18 +183,6 @@ def build(bld):
|
||||
source = "freebsd/lib/libc/net/nslexer.c")
|
||||
libbsd_use += ["lex__nsyy"]
|
||||
|
||||
if bld.env.AUTO_REGEN:
|
||||
bld(target = "freebsd/lib/libipsec/policy_token.c",
|
||||
source = "freebsd/lib/libipsec/policy_token.l",
|
||||
rule = "${LEX} -P __libipsecyy -t ${SRC} | sed -e '/YY_BUF_SIZE/s/16384/1024/' > ${TGT}")
|
||||
bld.objects(target = "lex___libipsecyy",
|
||||
features = "c",
|
||||
cflags = cflags,
|
||||
includes = [] + includes,
|
||||
defines = [],
|
||||
source = "freebsd/lib/libipsec/policy_token.c")
|
||||
libbsd_use += ["lex___libipsecyy"]
|
||||
|
||||
if bld.env.AUTO_REGEN:
|
||||
bld(target = "freebsd/contrib/libpcap/scanner.c",
|
||||
source = "freebsd/contrib/libpcap/scanner.l",
|
||||
@ -203,6 +195,18 @@ def build(bld):
|
||||
source = "freebsd/contrib/libpcap/scanner.c")
|
||||
libbsd_use += ["lex_pcap"]
|
||||
|
||||
if bld.env.AUTO_REGEN:
|
||||
bld(target = "freebsd/lib/libipsec/policy_token.c",
|
||||
source = "freebsd/lib/libipsec/policy_token.l",
|
||||
rule = "${LEX} -P __libipsecyy -t ${SRC} | sed -e '/YY_BUF_SIZE/s/16384/1024/' > ${TGT}")
|
||||
bld.objects(target = "lex___libipsecyy",
|
||||
features = "c",
|
||||
cflags = cflags,
|
||||
includes = [] + includes,
|
||||
defines = [],
|
||||
source = "freebsd/lib/libipsec/policy_token.c")
|
||||
libbsd_use += ["lex___libipsecyy"]
|
||||
|
||||
# Yacc
|
||||
if bld.env.AUTO_REGEN:
|
||||
bld(target = "freebsd/lib/libipsec/policy_parse.c",
|
||||
@ -1131,153 +1135,22 @@ def build(bld):
|
||||
relative_trick = True)
|
||||
|
||||
# Tests
|
||||
test_init01 = ['testsuite/init01/test_main.c']
|
||||
bld.program(target = "init01.exe",
|
||||
test_arphole = ['testsuite/arphole/test_main.c']
|
||||
bld.program(target = "arphole.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_init01,
|
||||
source = test_arphole,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_syscalls01 = ['testsuite/syscalls01/test_main.c']
|
||||
bld.program(target = "syscalls01.exe",
|
||||
test_commands01 = ['testsuite/commands01/test_main.c']
|
||||
bld.program(target = "commands01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_syscalls01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_thread01 = ['testsuite/thread01/test_main.c']
|
||||
bld.program(target = "thread01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_thread01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_loopback01 = ['testsuite/loopback01/test_main.c']
|
||||
bld.program(target = "loopback01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_loopback01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_foobarclient = ['testsuite/foobarclient/test_main.c']
|
||||
bld.program(target = "foobarclient.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_foobarclient,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_lagg01 = ['testsuite/lagg01/test_main.c']
|
||||
bld.program(target = "lagg01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_lagg01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_timeout01 = ['testsuite/timeout01/init.c',
|
||||
'testsuite/timeout01/timeout_test.c']
|
||||
bld.program(target = "timeout01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_timeout01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_dhcpcd02 = ['testsuite/dhcpcd02/test_main.c']
|
||||
bld.program(target = "dhcpcd02.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_dhcpcd02,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_ftpd01 = ['testsuite/ftpd01/test_main.c']
|
||||
bld.program(target = "ftpd01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_ftpd01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_vlan01 = ['testsuite/vlan01/test_main.c']
|
||||
bld.program(target = "vlan01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_vlan01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_foobarserver = ['testsuite/foobarserver/test_main.c']
|
||||
bld.program(target = "foobarserver.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_foobarserver,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_selectpollkqueue01 = ['testsuite/selectpollkqueue01/test_main.c']
|
||||
bld.program(target = "selectpollkqueue01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_selectpollkqueue01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_zerocopy01 = ['testsuite/zerocopy01/test_main.c']
|
||||
bld.program(target = "zerocopy01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_zerocopy01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_smp01 = ['testsuite/smp01/test_main.c']
|
||||
bld.program(target = "smp01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_smp01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_media01 = ['testsuite/media01/test_main.c']
|
||||
bld.program(target = "media01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_media01,
|
||||
source = test_commands01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
@ -1292,33 +1165,102 @@ def build(bld):
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_telnetd01 = ['testsuite/telnetd01/test_main.c']
|
||||
bld.program(target = "telnetd01.exe",
|
||||
test_dhcpcd01 = ['testsuite/dhcpcd01/test_main.c']
|
||||
bld.program(target = "dhcpcd01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_telnetd01,
|
||||
source = test_dhcpcd01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_ppp01 = ['testsuite/ppp01/test_main.c']
|
||||
bld.program(target = "ppp01.exe",
|
||||
test_dhcpcd02 = ['testsuite/dhcpcd02/test_main.c']
|
||||
bld.program(target = "dhcpcd02.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_ppp01,
|
||||
source = test_dhcpcd02,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_swi01 = ['testsuite/swi01/init.c',
|
||||
'testsuite/swi01/swi_test.c']
|
||||
bld.program(target = "swi01.exe",
|
||||
test_foobarclient = ['testsuite/foobarclient/test_main.c']
|
||||
bld.program(target = "foobarclient.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_swi01,
|
||||
source = test_foobarclient,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_foobarserver = ['testsuite/foobarserver/test_main.c']
|
||||
bld.program(target = "foobarserver.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_foobarserver,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_ftpd01 = ['testsuite/ftpd01/test_main.c']
|
||||
bld.program(target = "ftpd01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_ftpd01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_init01 = ['testsuite/init01/test_main.c']
|
||||
bld.program(target = "init01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_init01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_lagg01 = ['testsuite/lagg01/test_main.c']
|
||||
bld.program(target = "lagg01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_lagg01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_loopback01 = ['testsuite/loopback01/test_main.c']
|
||||
bld.program(target = "loopback01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_loopback01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_media01 = ['testsuite/media01/test_main.c']
|
||||
bld.program(target = "media01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_media01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_mutex01 = ['testsuite/mutex01/test_main.c']
|
||||
bld.program(target = "mutex01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_mutex01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
@ -1334,6 +1276,26 @@ def build(bld):
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_ping01 = ['testsuite/ping01/test_main.c']
|
||||
bld.program(target = "ping01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_ping01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_ppp01 = ['testsuite/ppp01/test_main.c']
|
||||
bld.program(target = "ppp01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_ppp01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_rwlock01 = ['testsuite/rwlock01/test_main.c']
|
||||
bld.program(target = "rwlock01.exe",
|
||||
features = "cprogram",
|
||||
@ -1344,22 +1306,84 @@ def build(bld):
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_mutex01 = ['testsuite/mutex01/test_main.c']
|
||||
bld.program(target = "mutex01.exe",
|
||||
test_selectpollkqueue01 = ['testsuite/selectpollkqueue01/test_main.c']
|
||||
bld.program(target = "selectpollkqueue01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_mutex01,
|
||||
source = test_selectpollkqueue01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_dhcpcd01 = ['testsuite/dhcpcd01/test_main.c']
|
||||
bld.program(target = "dhcpcd01.exe",
|
||||
test_sleep01 = ['testsuite/sleep01/test_main.c']
|
||||
bld.program(target = "sleep01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_dhcpcd01,
|
||||
source = test_sleep01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_smp01 = ['testsuite/smp01/test_main.c']
|
||||
bld.program(target = "smp01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_smp01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_swi01 = ['testsuite/swi01/init.c',
|
||||
'testsuite/swi01/swi_test.c']
|
||||
bld.program(target = "swi01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_swi01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_syscalls01 = ['testsuite/syscalls01/test_main.c']
|
||||
bld.program(target = "syscalls01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_syscalls01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_telnetd01 = ['testsuite/telnetd01/test_main.c']
|
||||
bld.program(target = "telnetd01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_telnetd01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_thread01 = ['testsuite/thread01/test_main.c']
|
||||
bld.program(target = "thread01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_thread01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_timeout01 = ['testsuite/timeout01/init.c',
|
||||
'testsuite/timeout01/timeout_test.c']
|
||||
bld.program(target = "timeout01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_timeout01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
@ -1374,26 +1398,6 @@ def build(bld):
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_commands01 = ['testsuite/commands01/test_main.c']
|
||||
bld.program(target = "commands01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_commands01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_ping01 = ['testsuite/ping01/test_main.c']
|
||||
bld.program(target = "ping01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_ping01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_usb01 = ['testsuite/usb01/init.c',
|
||||
'testsuite/usb01/test-file-system.c']
|
||||
bld.program(target = "usb01.exe",
|
||||
@ -1405,22 +1409,22 @@ def build(bld):
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_arphole = ['testsuite/arphole/test_main.c']
|
||||
bld.program(target = "arphole.exe",
|
||||
test_vlan01 = ['testsuite/vlan01/test_main.c']
|
||||
bld.program(target = "vlan01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_arphole,
|
||||
source = test_vlan01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
||||
test_sleep01 = ['testsuite/sleep01/test_main.c']
|
||||
bld.program(target = "sleep01.exe",
|
||||
test_zerocopy01 = ['testsuite/zerocopy01/test_main.c']
|
||||
bld.program(target = "zerocopy01.exe",
|
||||
features = "cprogram",
|
||||
cflags = cflags,
|
||||
includes = includes,
|
||||
source = test_sleep01,
|
||||
source = test_zerocopy01,
|
||||
use = ["bsd"],
|
||||
lib = ["m", "z"],
|
||||
install_path = None)
|
||||
|
Loading…
x
Reference in New Issue
Block a user