[PATCH v2 1/2] waf: Support building from libbsd.py directly from waf.

Chris Johns chrisj at rtems.org
Mon Mar 26 04:14:52 UTC 2018


Remove the need to generate a waf script.

Move various pieces of data from the builder code to libbsd.py and make
it configuration data.

Update #3351
---
 builder.py          |  158 +--
 freebsd-to-rtems.py |   18 +-
 libbsd.py           |  319 ++++--
 libbsd.txt          |   13 +-
 libbsd_waf.py       | 3084 ---------------------------------------------------
 waf_generator.py    |  693 ------------
 waf_libbsd.py       |  645 +++++++++++
 wscript             |   28 +-
 8 files changed, 919 insertions(+), 4039 deletions(-)
 delete mode 100644 libbsd_waf.py
 delete mode 100755 waf_generator.py
 create mode 100644 waf_libbsd.py

diff --git a/builder.py b/builder.py
index 133b7d7d..30d1513d 100755
--- a/builder.py
+++ b/builder.py
@@ -155,153 +155,6 @@ class diffRecord:
 #
 # This stuff needs to move to libbsd.py.
 #
-def commonFlags():
-    return ['-g',
-            '-fno-strict-aliasing',
-            '-ffreestanding',
-            '-fno-common']
-
-def commonWarnings():
-    return ['-Wall',
-            '-Wno-format',
-            '-Wno-pointer-sign']
-
-def commonNoWarnings():
-    return ['-w']
-
-def includes():
-    return ['-Irtemsbsd/include',
-            '-Ifreebsd/sys',
-            '-Ifreebsd/sys/contrib/pf',
-            '-Ifreebsd/crypto',
-            '-Ifreebsd/sys/net',
-            '-Ifreebsd/include',
-            '-Ifreebsd/lib',
-            '-Ifreebsd/lib/libbsdstat',
-            '-Ifreebsd/lib/libc/include',
-            '-Ifreebsd/lib/libc/isc/include',
-            '-Ifreebsd/lib/libc/resolv',
-            '-Ifreebsd/lib/libutil',
-            '-Ifreebsd/lib/libkvm',
-            '-Ifreebsd/lib/libmemstat',
-            '-Ifreebsd/lib/libipsec',
-            '-Ifreebsd/contrib/expat/lib',
-            '-Ifreebsd/contrib/libpcap',
-            '-Ifreebsd/contrib/libxo',
-            '-Ilinux/include',
-            '-Ilinux/drivers/net/ethernet/freescale/fman',
-            '-Irtemsbsd/sys',
-            '-ImDNSResponder/mDNSCore',
-            '-ImDNSResponder/mDNSShared',
-            '-ImDNSResponder/mDNSPosix',
-            '-Itestsuite/include']
-
-def buildInclude():
-    """ Returns the path where headers will be copied during build. """
-    return 'build-include'
-
-def cpuIncludes():
-    return ['-Irtemsbsd/@CPU@/include',
-            '-Ifreebsd/sys/@CPU@/include']
-
-def cflags():
-    return []
-
-def cxxflags():
-    return []
-
-def headerPaths():
-    """ Returns a list of information about what header files should be
-    installed.
-
-    The list is also used to find headers with a local path that doesn't match
-    it's dest path. Due to the difference in the path name such files are
-    problematic during the build if they are included using their later
-    installation path (dest path) name. Therefore they are copied into a
-    sub-directory of the build path so that they can be included with their
-    normal installation path. """
-
-    #         local path                      wildcard             dest path
-    return [('rtemsbsd/include',              '**/*.h',            ''),
-            ('rtemsbsd/\' + bld.env.RTEMS_ARCH + \'/include', '**/*.h', ''),
-            ('rtemsbsd/mghttpd',              'mongoose.h',        'mghttpd'),
-            ('freebsd/include',               '**/*.h',            ''),
-            ('freebsd/sys/bsm',               '**/*.h',            'bsm'),
-            ('freebsd/sys/cam',               '**/*.h',            'cam'),
-            ('freebsd/sys/net',               '**/*.h',            'net'),
-            ('freebsd/sys/net80211',          '**/*.h',            'net80211'),
-            ('freebsd/sys/netinet',           '**/*.h',            'netinet'),
-            ('freebsd/sys/netinet6',          '**/*.h',            'netinet6'),
-            ('freebsd/sys/netipsec',          '**/*.h',            'netipsec'),
-            ('freebsd/contrib/libpcap',       '*.h',               ''),
-            ('freebsd/contrib/libpcap/pcap',  '*.h',               'pcap'),
-            ('freebsd/crypto/openssl',        '*.h',               'openssl'),
-            ('freebsd/crypto/openssl/crypto', '*.h',               'openssl'),
-            ('freebsd/crypto/openssl/ssl',    '(ssl|kssl|ssl2).h', 'openssl'),
-            ('freebsd/crypto/openssl/crypto/aes', 'aes.h',         'openssl'),
-            ('freebsd/crypto/openssl/crypto/err', 'err.h',         'openssl'),
-            ('freebsd/crypto/openssl/crypto/bio', '*.h',           'openssl'),
-            ('freebsd/crypto/openssl/crypto/dsa', '*.h',           'openssl'),
-            ('freebsd/crypto/openssl/ssl',        '*.h',           'openssl'),
-            ('freebsd/crypto/openssl/crypto/bn',  'bn.h',          'openssl'),
-            ('freebsd/crypto/openssl/crypto/x509',  'x509.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/cast',  'cast.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/lhash', 'lhash.h',     'openssl'),
-            ('freebsd/crypto/openssl/crypto/ecdh',  'ecdh.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/ecdsa', 'ecdsa.h',     'openssl'),
-            ('freebsd/crypto/openssl/crypto/idea',  'idea.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/mdc2',  'mdc2.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/md4',   'md4.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/md5',   'md5.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/rc2',   'rc2.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/rc4',   'rc4.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/ripemd','ripemd.h',    'openssl'),
-            ('freebsd/crypto/openssl/crypto/seed',  'seed.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/sha',   'sha.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/x509v3','x509v3.h',    'openssl'),
-            ('freebsd/crypto/openssl/crypto/x509',  'x509_vfy.h',  'openssl'),
-            ('freebsd/crypto/openssl/crypto/buffer','buffer.h',    'openssl'),
-            ('freebsd/crypto/openssl/crypto/comp',  'comp.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/asn1',  'asn1_mac.h',  'openssl'),
-            ('freebsd/crypto/openssl/crypto/pem',  '(pem|pem2).h', 'openssl'),
-            ('freebsd/crypto/openssl/crypto/rsa',   'rsa.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/evp',   'evp.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/ec',    'ec.h',        'openssl'),
-            ('freebsd/crypto/openssl/crypto/engine', 'engine.h',   'openssl'),
-            ('freebsd/crypto/openssl/crypto/pkcs7', 'pkcs7.h',     'openssl'),
-            ('freebsd/crypto/openssl/crypto/hmac',  'hmac.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/pqueue', 'pqueue.h',   'openssl'),
-            ('freebsd/crypto/openssl/crypto/ocsp',  'ocsp.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/rand',  'rand.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/srp',   'srp.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/dh',    'dh.h',        'openssl'),
-            ('freebsd/crypto/openssl/crypto/dso',   'dso.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/krb5',  'krb5_asn.h',  'openssl'),
-            ('freebsd/crypto/openssl/crypto/cms',   'cms.h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/txt_db', 'txt_db.h',   'openssl'),
-            ('freebsd/crypto/openssl/crypto/ts',    'ts.h',        'openssl'),
-            ('freebsd/crypto/openssl/crypto/modes', 'modes.h',     'openssl'),
-            ('freebsd/crypto/openssl/crypto/pkcs12', 'pkcs12.h',   'openssl'),
-            ('freebsd/crypto/openssl/crypto/bf',    'blowfish.h',  'openssl'),
-            ('freebsd/crypto/openssl/crypto/cmac',  'cmac.h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/asn1',  '(asn1|asn1t).h',            'openssl'),
-            ('freebsd/crypto/openssl/crypto/camellia', 'camellia.h',             'openssl'),
-            ('freebsd/crypto/openssl/crypto/objects',  '(objects|obj_mac).h',    'openssl'),
-            ('freebsd/crypto/openssl/crypto/conf',     '(conf|conf_api).h',      'openssl'),
-            ('freebsd/crypto/openssl/crypto/des',      '(des|des_old).h',        'openssl'),
-            ('freebsd/crypto/openssl/crypto/ui',       '(ui_compat|ui).h',       'openssl'),
-            ('freebsd/crypto/openssl/crypto/whrlpool', 'whrlpool.h',             'openssl'),
-            ('freebsd/crypto/openssl/crypto/stack',    '(stack|safestack).h',    'openssl'),
-            ('freebsd/crypto/openssl/crypto', '(opensslconf|opensslv|crypto).h', 'openssl'),
-            ('freebsd/sys/rpc',               '**/*.h',            'rpc'),
-            ('freebsd/sys/sys',               '**/*.h',            'sys'),
-            ('freebsd/sys/vm',                '**/*.h',            'vm'),
-            ('freebsd/sys/dev/mii',           '**/*.h',            'dev/mii'),
-            ('linux/include',                 '**/*.h',            ''),
-            ('mDNSResponder/mDNSCore',        'mDNSDebug.h',       ''),
-            ('mDNSResponder/mDNSCore',        'mDNSEmbeddedAPI.h', ''),
-            ('mDNSResponder/mDNSShared',      'dns_sd.h',          ''),
-            ('mDNSResponder/mDNSPosix',       'mDNSPosix.h',       '')]
 
 # Move target dependent files under a machine directory
 def mapCPUDependentPath(path):
@@ -630,7 +483,7 @@ class File(object):
 #
 # Module - logical group of related files we can perform actions on
 #
-class Module:
+class Module(object):
     def __init__(self, name):
         self.name = name
         self.conditionalOn = "none"
@@ -774,10 +627,11 @@ class Module:
 #
 # Manager - a collection of modules.
 #
-class ModuleManager:
+class ModuleManager(object):
     def __init__(self):
         self.modules = {}
         self.generator = {}
+        self.configuration = {}
         self.setGenerators()
 
     def __getitem__(self, key):
@@ -796,3 +650,9 @@ class ModuleManager:
             print("process modules:")
         for m in sorted(self.modules):
             self.modules[m].processSource(direction)
+
+    def setConfiguration(self, config):
+        self.configuration = config
+
+    def getConfiguration(self):
+        return self.configuration
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py
index 443fa833..e5cdac50 100755
--- a/freebsd-to-rtems.py
+++ b/freebsd-to-rtems.py
@@ -42,12 +42,10 @@ import sys
 import getopt
 
 import builder
-import waf_generator
 import libbsd
 
 isForward = True
 isEarlyExit = False
-isOnlyBuildScripts = False
 statsReport = False
 
 def usage():
@@ -57,7 +55,6 @@ def usage():
     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("  -S|--stats        Print a statistics report")
     print("  -R|--reverse      default origin -> LibBSD, reverse that")
     print("  -r|--rtems        LibBSD directory (default: '.')")
@@ -67,7 +64,6 @@ def usage():
 # Parse the arguments
 def parseArguments():
     global isForward, isEarlyExit, statsReport
-    global isOnlyBuildScripts
     try:
         opts, args = getopt.getopt(sys.argv[1:],
                                    "?hdDembSRr:f:v",
@@ -100,8 +96,6 @@ def parseArguments():
             builder.isDiffMode = True
         elif o in ("-e", "--early-exit"):
             isEarlyExit = True
-        elif o in ("-b", "--buildscripts") or o in ("-m", "--makefile"):
-            isOnlyBuildScripts = True
         elif o in ("-S", "--stats"):
             statsReport = True
         elif o in ("-R", "--reverse"):
@@ -119,7 +113,6 @@ print("Verbose:                     %s (%d)" % (("no", "yes")[builder.verbose()]
                                                 builder.verboseLevel))
 print("Dry Run:                     %s" % (("no", "yes")[builder.isDryRun]))
 print("Diff Mode Enabled:           %s" % (("no", "yes")[builder.isDiffMode]))
-print("Only Generate Build Scripts: %s" % (("no", "yes")[isOnlyBuildScripts]))
 print("LibBSD Directory:            %s" % (builder.LIBBSD_DIR))
 print("FreeBSD Directory:           %s" % (builder.FreeBSD_DIR))
 print("Direction:                   %s" % (("reverse", "forward")[isForward]))
@@ -143,20 +136,15 @@ if isForward == True:
     print("Forward from", builder.FreeBSD_DIR, "into", builder.LIBBSD_DIR)
 else:
     print("Reverting from", builder.LIBBSD_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")
     sys.exit(0)
 
 try:
-    wafGen = waf_generator.ModuleManager()
-    libbsd.sources(wafGen)
-    if not isOnlyBuildScripts:
-        wafGen.processSource(isForward)
-    wafGen.generate(libbsd.rtems_version())
+    build = builder.ModuleManager()
+    libbsd.loadModules(build)
+    build.processSource(isForward)
     builder.changedFileSummary(statsReport)
 except IOError as ioe:
     print('error: %s' % (str(ioe)))
diff --git a/libbsd.py b/libbsd.py
index f70b4ead..21e9a127 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -1,5 +1,6 @@
 #
-#  Copyright (c) 2015-2016 Chris Johns <chrisj at rtems.org>. All rights reserved.
+#  Copyright (c) 2015-2016, 2018 Chris Johns <chrisj at rtems.org>.
+#  All rights reserved.
 #
 #  Copyright (c) 2009, 2018 embedded brains GmbH.  All rights reserved.
 #
@@ -35,10 +36,152 @@
 import builder
 
 #
-# RTEMS version
+# Default configuration.
 #
-def rtems_version():
-    return '4.12'
+_defaults = {
+    #
+    # Compile flags
+    #
+    'common-flags': ['-g',
+                     '-fno-strict-aliasing',
+                     '-ffreestanding',
+                     '-fno-common'],
+    'common-warnings' : ['-Wall',
+                         '-Wno-format',
+                         '-Wno-pointer-sign'],
+    'common-no-warnings': ['-w'],
+    'cflags': [],
+    'cxxflags': [],
+
+    #
+    # Includes
+    #
+    'include-paths': ['rtemsbsd/include',
+                      'freebsd/sys',
+                      'freebsd/sys/contrib/pf',
+                      'freebsd/crypto',
+                      'freebsd/sys/net',
+                      'freebsd/include',
+                      'freebsd/lib',
+                      'freebsd/lib/libbsdstat',
+                      'freebsd/lib/libc/include',
+                      'freebsd/lib/libc/isc/include',
+                      'freebsd/lib/libc/resolv',
+                      'freebsd/lib/libutil',
+                      'freebsd/lib/libkvm',
+                      'freebsd/lib/libmemstat',
+                      'freebsd/lib/libipsec',
+                      'freebsd/contrib/expat/lib',
+                      'freebsd/contrib/libpcap',
+                      'freebsd/contrib/libxo',
+                      'linux/include',
+                      'linux/drivers/net/ethernet/freescale/fman',
+                      'rtemsbsd/sys',
+                      'mDNSResponder/mDNSCore',
+                      'mDNSResponder/mDNSShared',
+                      'mDNSResponder/mDNSPosix',
+                      'testsuite/include'],
+    'cpu-include-paths': ['rtemsbsd/@CPU@/include',
+                          'freebsd/sys/@CPU@/include'],
+
+    # The path where headers will be copied during build.
+    'build-include-path': ['build-include'],
+
+    #
+    # Install headers
+    #
+    # A list of information about what header files should be installed.
+    #
+    # The list is also used to find headers with a local path that doesn't
+    # match it's dest path. Due to the difference in the path name such files
+    # are problematic during the build if they are included using their later
+    # installation path (dest path) name. Therefore they are copied into a
+    # sub-directory of the build path so that they can be included with their
+    # normal installation path.
+    #
+    'header-paths':
+    #  local path                               wildcard                           dest path
+    [('rtemsbsd/include',                       '**/*.h',                          ''),
+     ('rtemsbsd/@CPU@/include',                 '**/*.h',                          ''),
+     ('rtemsbsd/mghttpd',                       'mongoose.h',                      'mghttpd'),
+     ('freebsd/include',                        '**/*.h',                          ''),
+     ('freebsd/sys/bsm',                        '**/*.h',                          'bsm'),
+     ('freebsd/sys/cam',                        '**/*.h',                          'cam'),
+     ('freebsd/sys/net',                        '**/*.h',                          'net'),
+     ('freebsd/sys/net80211',                   '**/*.h',                          'net80211'),
+     ('freebsd/sys/netinet',                    '**/*.h',                          'netinet'),
+     ('freebsd/sys/netinet6',                   '**/*.h',                          'netinet6'),
+     ('freebsd/sys/netipsec',                   '**/*.h',                          'netipsec'),
+     ('freebsd/contrib/libpcap',                '*.h',                             ''),
+     ('freebsd/contrib/libpcap/pcap',           '*.h',                             'pcap'),
+     ('freebsd/crypto/openssl',                 '*.h',                             'openssl'),
+     ('freebsd/crypto/openssl/crypto',          '*.h',                             'openssl'),
+     ('freebsd/crypto/openssl/ssl',             '(ssl|kssl|ssl2).h',               'openssl'),
+     ('freebsd/crypto/openssl/crypto/aes',      'aes.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/err',      'err.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/bio',      '*.h',                             'openssl'),
+     ('freebsd/crypto/openssl/crypto/dsa',      '*.h',                             'openssl'),
+     ('freebsd/crypto/openssl/ssl',             '*.h',                             'openssl'),
+     ('freebsd/crypto/openssl/crypto/bn',       'bn.h',                            'openssl'),
+     ('freebsd/crypto/openssl/crypto/x509',     'x509.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/cast',     'cast.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/lhash',    'lhash.h',                         'openssl'),
+     ('freebsd/crypto/openssl/crypto/ecdh',     'ecdh.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/ecdsa',    'ecdsa.h',                         'openssl'),
+     ('freebsd/crypto/openssl/crypto/idea',     'idea.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/mdc2',     'mdc2.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/md4',      'md4.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/md5',      'md5.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/rc2',      'rc2.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/rc4',      'rc4.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/ripemd',   'ripemd.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/seed',     'seed.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/sha',      'sha.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/x509v3',   'x509v3.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/x509',     'x509_vfy.h',                      'openssl'),
+     ('freebsd/crypto/openssl/crypto/buffer',   'buffer.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/comp',     'comp.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/asn1',     'asn1_mac.h',                      'openssl'),
+     ('freebsd/crypto/openssl/crypto/pem',      '(pem|pem2).h',                    'openssl'),
+     ('freebsd/crypto/openssl/crypto/rsa',      'rsa.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/evp',      'evp.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/ec',       'ec.h',                            'openssl'),
+     ('freebsd/crypto/openssl/crypto/engine',   'engine.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/pkcs7',    'pkcs7.h',                         'openssl'),
+     ('freebsd/crypto/openssl/crypto/hmac',     'hmac.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/pqueue',   'pqueue.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/ocsp',     'ocsp.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/rand',     'rand.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/srp',      'srp.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/dh',       'dh.h',                            'openssl'),
+     ('freebsd/crypto/openssl/crypto/dso',      'dso.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/krb5',     'krb5_asn.h',                      'openssl'),
+     ('freebsd/crypto/openssl/crypto/cms',      'cms.h',                           'openssl'),
+     ('freebsd/crypto/openssl/crypto/txt_db',   'txt_db.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/ts',       'ts.h',                            'openssl'),
+     ('freebsd/crypto/openssl/crypto/modes',    'modes.h',                         'openssl'),
+     ('freebsd/crypto/openssl/crypto/pkcs12',   'pkcs12.h',                        'openssl'),
+     ('freebsd/crypto/openssl/crypto/bf',       'blowfish.h',                      'openssl'),
+     ('freebsd/crypto/openssl/crypto/cmac',     'cmac.h',                          'openssl'),
+     ('freebsd/crypto/openssl/crypto/asn1',     '(asn1|asn1t).h',                  'openssl'),
+     ('freebsd/crypto/openssl/crypto/camellia', 'camellia.h',                      'openssl'),
+     ('freebsd/crypto/openssl/crypto/objects',  '(objects|obj_mac).h',             'openssl'),
+     ('freebsd/crypto/openssl/crypto/conf',     '(conf|conf_api).h',               'openssl'),
+     ('freebsd/crypto/openssl/crypto/des',      '(des|des_old).h',                 'openssl'),
+     ('freebsd/crypto/openssl/crypto/ui',       '(ui_compat|ui).h',                'openssl'),
+     ('freebsd/crypto/openssl/crypto/whrlpool', 'whrlpool.h',                      'openssl'),
+     ('freebsd/crypto/openssl/crypto/stack',    '(stack|safestack).h',             'openssl'),
+     ('freebsd/crypto/openssl/crypto',          '(opensslconf|opensslv|crypto).h', 'openssl'),
+     ('freebsd/sys/rpc',                        '**/*.h',                          'rpc'),
+     ('freebsd/sys/sys',                        '**/*.h',                          'sys'),
+     ('freebsd/sys/vm',                         '**/*.h',                          'vm'),
+     ('freebsd/sys/dev/mii',                    '**/*.h',                          'dev/mii'),
+     ('linux/include',                          '**/*.h',                          ''),
+     ('mDNSResponder/mDNSCore',                 'mDNSDebug.h',                     ''),
+     ('mDNSResponder/mDNSCore',                 'mDNSEmbeddedAPI.h',               ''),
+     ('mDNSResponder/mDNSShared',               'dns_sd.h',                        ''),
+     ('mDNSResponder/mDNSPosix',                'mDNSPosix.h',                     '')]
+}
 
 #
 # RTEMS
@@ -4367,85 +4510,6 @@ def in_cksum(mm):
     )
     return mod
 
-#
-# Tests
-#
-def tests(mm):
-    mod = builder.Module('tests')
-    mod.addTest(mm.generator['test']('nfs01', ['test_main'], netTest = True))
-    mod.addTest(mm.generator['test']('foobarclient', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('foobarserver', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('dhcpcd01', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('dhcpcd02', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('arphole', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('telnetd01', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('unix01', ['test_main']))
-    mod.addTest(mm.generator['test']('ftpd01', ['test_main'], netTest = True))
-    mod.addTest(mm.generator['test']('ftpd02', ['test_main']))
-    mod.addTest(mm.generator['test']('ping01', ['test_main'], netTest = True))
-    mod.addTest(mm.generator['test']('selectpollkqueue01', ['test_main']))
-    mod.addTest(mm.generator['test']('rwlock01', ['test_main']))
-    mod.addTest(mm.generator['test']('sleep01', ['test_main']))
-    mod.addTest(mm.generator['test']('syscalls01', ['test_main']))
-    mod.addTest(mm.generator['test']('program01', ['test_main']))
-    mod.addTest(mm.generator['test']('commands01', ['test_main']))
-    mod.addTest(mm.generator['test']('usb01', ['init'], False))
-    mod.addTest(mm.generator['test']('usbserial01', ['init'], False))
-    mod.addTest(mm.generator['test']('usbkbd01', ['init'], False))
-    mod.addTest(mm.generator['test']('usbmouse01', ['init'], False))
-    mod.addTest(mm.generator['test']('evdev01', ['init'], False))
-    mod.addTest(mm.generator['test']('loopback01', ['test_main']))
-    mod.addTest(mm.generator['test']('netshell01', ['test_main', 'shellconfig'], False))
-    mod.addTest(mm.generator['test']('swi01', ['init', 'swi_test']))
-    mod.addTest(mm.generator['test']('timeout01', ['init', 'timeout_test']))
-    mod.addTest(mm.generator['test']('init01', ['test_main']))
-    mod.addTest(mm.generator['test']('thread01', ['test_main']))
-    mod.addTest(mm.generator['test']('mutex01', ['test_main']))
-    mod.addTest(mm.generator['test']('condvar01', ['test_main']))
-    mod.addTest(mm.generator['test']('ppp01', ['test_main'], runTest = False))
-    mod.addTest(mm.generator['test']('zerocopy01', ['test_main'],
-                                     runTest = False, netTest = True))
-    mod.addTest(mm.generator['test']('smp01', ['test_main']))
-    mod.addTest(mm.generator['test']('media01', ['test_main'], runTest = False))
-    mod.addTest(mm.generator['test']('vlan01', ['test_main'], netTest = True))
-    mod.addTest(mm.generator['test']('lagg01', ['test_main'], netTest = True))
-    mod.addTest(mm.generator['test']('log01', ['test_main']))
-    mod.addTest(mm.generator['test']('rcconf01', ['test_main']))
-    mod.addTest(mm.generator['test']('rcconf02', ['test_main']))
-    mod.addTest(mm.generator['test']('cdev01', ['test_main', 'test_cdev']))
-    mod.addTest(mm.generator['test']('pf01', ['test_main']))
-    mod.addTest(mm.generator['test']('pf02', ['test_main'], runTest = False))
-    mod.addTest(mm.generator['test']('termios', ['test_main',
-                                     'test_termios_driver',
-                                     'test_termios_utilities']))
-    mod.addTest(mm.generator['test']('termios01', ['test_main',
-                                     '../termios/test_termios_driver',
-                                     '../termios/test_termios_utilities']))
-    mod.addTest(mm.generator['test']('termios02', ['test_main',
-                                     '../termios/test_termios_driver',
-                                     '../termios/test_termios_utilities']))
-    mod.addTest(mm.generator['test']('termios03', ['test_main',
-                                     '../termios/test_termios_driver',
-                                     '../termios/test_termios_utilities']))
-    mod.addTest(mm.generator['test']('termios04', ['test_main',
-                                     '../termios/test_termios_driver',
-                                     '../termios/test_termios_utilities']))
-    mod.addTest(mm.generator['test']('termios05', ['test_main',
-                                     '../termios/test_termios_driver',
-                                     '../termios/test_termios_utilities']))
-    mod.addTest(mm.generator['test']('termios06', ['test_main',
-                                     '../termios/test_termios_driver',
-                                     '../termios/test_termios_utilities']))
-    mod.addTest(mm.generator['test-if-header']('debugger01', 'rtems/rtems-debugger.h',
-                                               ['test_main'], runTest = False, netTest = True))
-    return mod
-
 #
 # DHCP
 #
@@ -4588,7 +4652,91 @@ def dpaa(mm):
     )
     return mod
 
-def sources(mm):
+#
+# Tests
+#
+#  Note: Keep as the last module
+#
+def tests(mm):
+    mod = builder.Module('tests')
+    mod.addTest(mm.generator['test']('nfs01', ['test_main'], netTest = True))
+    mod.addTest(mm.generator['test']('foobarclient', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('foobarserver', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('dhcpcd01', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('dhcpcd02', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('arphole', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('telnetd01', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('unix01', ['test_main']))
+    mod.addTest(mm.generator['test']('ftpd01', ['test_main'], netTest = True))
+    mod.addTest(mm.generator['test']('ftpd02', ['test_main']))
+    mod.addTest(mm.generator['test']('ping01', ['test_main'], netTest = True))
+    mod.addTest(mm.generator['test']('selectpollkqueue01', ['test_main']))
+    mod.addTest(mm.generator['test']('rwlock01', ['test_main']))
+    mod.addTest(mm.generator['test']('sleep01', ['test_main']))
+    mod.addTest(mm.generator['test']('syscalls01', ['test_main']))
+    mod.addTest(mm.generator['test']('program01', ['test_main']))
+    mod.addTest(mm.generator['test']('commands01', ['test_main']))
+    mod.addTest(mm.generator['test']('usb01', ['init'], False))
+    mod.addTest(mm.generator['test']('usbserial01', ['init'], False))
+    mod.addTest(mm.generator['test']('usbkbd01', ['init'], False))
+    mod.addTest(mm.generator['test']('usbmouse01', ['init'], False))
+    mod.addTest(mm.generator['test']('evdev01', ['init'], False))
+    mod.addTest(mm.generator['test']('loopback01', ['test_main']))
+    mod.addTest(mm.generator['test']('netshell01', ['test_main', 'shellconfig'], False))
+    mod.addTest(mm.generator['test']('swi01', ['init', 'swi_test']))
+    mod.addTest(mm.generator['test']('timeout01', ['init', 'timeout_test']))
+    mod.addTest(mm.generator['test']('init01', ['test_main']))
+    mod.addTest(mm.generator['test']('thread01', ['test_main']))
+    mod.addTest(mm.generator['test']('mutex01', ['test_main']))
+    mod.addTest(mm.generator['test']('condvar01', ['test_main']))
+    mod.addTest(mm.generator['test']('ppp01', ['test_main'], runTest = False))
+    mod.addTest(mm.generator['test']('zerocopy01', ['test_main'],
+                                     runTest = False, netTest = True))
+    mod.addTest(mm.generator['test']('smp01', ['test_main']))
+    mod.addTest(mm.generator['test']('media01', ['test_main'], runTest = False))
+    mod.addTest(mm.generator['test']('vlan01', ['test_main'], netTest = True))
+    mod.addTest(mm.generator['test']('lagg01', ['test_main'], netTest = True))
+    mod.addTest(mm.generator['test']('log01', ['test_main']))
+    mod.addTest(mm.generator['test']('rcconf01', ['test_main']))
+    mod.addTest(mm.generator['test']('rcconf02', ['test_main']))
+    mod.addTest(mm.generator['test']('cdev01', ['test_main', 'test_cdev']))
+    mod.addTest(mm.generator['test']('pf01', ['test_main']))
+    mod.addTest(mm.generator['test']('pf02', ['test_main'], runTest = False))
+    mod.addTest(mm.generator['test']('termios', ['test_main',
+                                     'test_termios_driver',
+                                     'test_termios_utilities']))
+    mod.addTest(mm.generator['test']('termios01', ['test_main',
+                                     '../termios/test_termios_driver',
+                                     '../termios/test_termios_utilities']))
+    mod.addTest(mm.generator['test']('termios02', ['test_main',
+                                     '../termios/test_termios_driver',
+                                     '../termios/test_termios_utilities']))
+    mod.addTest(mm.generator['test']('termios03', ['test_main',
+                                     '../termios/test_termios_driver',
+                                     '../termios/test_termios_utilities']))
+    mod.addTest(mm.generator['test']('termios04', ['test_main',
+                                     '../termios/test_termios_driver',
+                                     '../termios/test_termios_utilities']))
+    mod.addTest(mm.generator['test']('termios05', ['test_main',
+                                     '../termios/test_termios_driver',
+                                     '../termios/test_termios_utilities']))
+    mod.addTest(mm.generator['test']('termios06', ['test_main',
+                                     '../termios/test_termios_driver',
+                                     '../termios/test_termios_utilities']))
+    mod.addTest(mm.generator['test-if-header']('debugger01', 'rtems/rtems-debugger.h',
+                                               ['test_main'], runTest = False, netTest = True))
+    return mod
+
+def load(mm):
+
+    mm.setConfiguration(_defaults)
+
     mm.addModule(dpaa(mm))
     mm.addModule(rtems(mm))
     mm.addModule(base(mm))
@@ -4658,10 +4806,11 @@ def sources(mm):
     mm.addModule(usr_sbin_wpa_supplicant(mm))
     mm.addModule(crypto_openssl(mm))
 
-    mm.addModule(tests(mm))
     mm.addModule(dhcpcd(mm))
     mm.addModule(mghttpd(mm))
     mm.addModule(mdnsresponder(mm))
 
+    mm.addModule(tests(mm))
+
     # XXX TODO Check that no file is also listed in empty
     # XXX TODO Check that no file in in two modules
diff --git a/libbsd.txt b/libbsd.txt
index 71d5cc8d..953f81c4 100644
--- a/libbsd.txt
+++ b/libbsd.txt
@@ -32,7 +32,7 @@ Please help by adding to it.
 
 === Tool Chain ===
 
-You need a tool chain for RTEMS based on at least RSB 4.12 April 2016 or later.
+You need a tool chain for RTEMS based on at least RSB 5 April 2016 or later.
 
 === Installation Overview ===
 
@@ -56,7 +56,7 @@ status' says `rtems_waf` need updating run the submodule update command:
 
 === Board Support Package Requirements ===
 
-The RTEMS version must be at least 4.12.  The Board Support Package (BSP)
+The RTEMS version must be at least 5.  The Board Support Package (BSP)
 should support the
 http://www.rtems.org/onlinedocs/doxygen/cpukit/html/group\__rtems\__interrupt__extension.html[Interrupt Manager Extension]
 // The first underscores have to be masked to stop asciidoc interpreting them
@@ -98,7 +98,7 @@ mkdir b-xilinx_zynq_a9_qemu
 cd b-xilinx_zynq_a9_qemu
 ${HOME}/git-rtems/configure \
         --prefix=${HOME}/sandbox/install \
-        --target=arm-rtems4.12 \
+        --target=arm-rtems5 \
         --enable-rtemsbsp=xilinx_zynq_a9_qemu \
         --disable-networking && \
         make && \
@@ -126,7 +126,7 @@ the above, the `config.inc` used to match the above is:
 
 -------------------------------------------------------------------------------
 # Mandatory: Select your BSP and installation prefix
-TARGET = arm-rtems4.12
+TARGET = arm-rtems5
 BSP = xilinx_zynq_a9_qemu
 PREFIX = $(HOME)/sandbox/install
 
@@ -139,7 +139,6 @@ NET_CFG_SELF_IP = 10.0.0.2
 NET_CFG_NETMASK = 255.255.0.0
 NET_CFG_PEER_IP = 10.0.0.1
 NET_CFG_GATEWAY_IP = 10.0.0.1
-NET_TAP_INTERFACE = tap0
 -------------------------------------------------------------------------------
 
 === BSD Library Initialization ===
@@ -394,7 +393,7 @@ qemu-system-arm \
 	-net nic,model=cadence_gem,macaddr=0e:b0:ba:5e:ba:11 \
 	-net tap,ifname=qtap1,script=no,downscript=no \
 	-m 256M \
-	-kernel build/arm-rtems4.12-xilinx_zynq_a9_qemu/media01.exe
+	-kernel build/arm-rtems5-xilinx_zynq_a9_qemu/media01.exe
 -------------------------------------------------------------------------------
 
 Make sure that each Qemu instance uses its own MAC address to avoid an address
@@ -458,7 +457,7 @@ To run qemu:
 	-net nic,model=cadence_gem,macaddr=0e:b0:ba:5e:ba:11 \
 	-net vde,id=vde0,sock=/tmp/vde1
 	-m 256M \
-	-kernel build/arm-rtems4.12-xilinx_zynq_a9_qemu/rcconf02.exe
+	-kernel build/arm-rtems5-xilinx_zynq_a9_qemu/rcconf02.exe
 
 == Issues and TODO
 
diff --git a/libbsd_waf.py b/libbsd_waf.py
deleted file mode 100644
index 7782bccb..00000000
--- a/libbsd_waf.py
+++ /dev/null
@@ -1,3084 +0,0 @@
-#
-# RTEMS Project (https://www.rtems.org)
-#
-# Generated waf script. Do not edit, run ./freebsd-to-rtems.py -m
-#
-# To use see README.waf shipped with this file.
-#
-
-from __future__ import print_function
-
-import os
-import os.path
-import rtems_waf.rtems as rtems
-
-windows = os.name == "nt"
-
-if windows:
-    host_shell = "sh -c "
-else:
-    host_shell = ""
-
-def init(ctx):
-    pass
-
-def options(opt):
-    pass
-
-def bsp_configure(conf, arch_bsp):
-    conf.check(header_name = "rtems/rtems-debugger.h", features = "c", includes = conf.env.IFLAGS, mandatory = False)
-
-def configure(conf):
-    rtems.configure(conf, bsp_configure)
-
-def build(bld):
-    # C/C++ flags
-    common_flags = []
-    common_flags += ["-O%s" % (bld.env.OPTIMIZATION)]
-    common_flags += ["-g"]
-    common_flags += ["-fno-strict-aliasing"]
-    common_flags += ["-ffreestanding"]
-    common_flags += ["-fno-common"]
-    if bld.env.WARNINGS:
-        common_flags += ["-Wall"]
-        common_flags += ["-Wno-format"]
-        common_flags += ["-Wno-pointer-sign"]
-    else:
-        common_flags += ["-w"]
-    cflags = [] + common_flags
-    cxxflags = [] + common_flags
-
-    # Defines
-    defines = []
-    if len(bld.env.FREEBSD_OPTIONS) > 0:
-        for o in bld.env.FREEBSD_OPTIONS.split(","):
-            defines += ["%s=1" % (o.strip().upper())]
-
-    # Include paths
-    includes = []
-    for i in ['-Irtemsbsd/@CPU@/include', '-Ifreebsd/sys/@CPU@/include']:
-        includes += ["%s" % (i[2:].replace("@CPU@", bld.get_env()["RTEMS_ARCH"]))]
-    if bld.get_env()["RTEMS_ARCH"] == "i386":
-        for i in ['-Irtemsbsd/@CPU@/include', '-Ifreebsd/sys/@CPU@/include']:
-            includes += ["%s" % (i[2:].replace("@CPU@", "x86"))]
-    includes += ["rtemsbsd/include"]
-    includes += ["freebsd/sys"]
-    includes += ["freebsd/sys/contrib/pf"]
-    includes += ["freebsd/crypto"]
-    includes += ["freebsd/sys/net"]
-    includes += ["freebsd/include"]
-    includes += ["freebsd/lib"]
-    includes += ["freebsd/lib/libbsdstat"]
-    includes += ["freebsd/lib/libc/include"]
-    includes += ["freebsd/lib/libc/isc/include"]
-    includes += ["freebsd/lib/libc/resolv"]
-    includes += ["freebsd/lib/libutil"]
-    includes += ["freebsd/lib/libkvm"]
-    includes += ["freebsd/lib/libmemstat"]
-    includes += ["freebsd/lib/libipsec"]
-    includes += ["freebsd/contrib/expat/lib"]
-    includes += ["freebsd/contrib/libpcap"]
-    includes += ["freebsd/contrib/libxo"]
-    includes += ["linux/include"]
-    includes += ["linux/drivers/net/ethernet/freescale/fman"]
-    includes += ["rtemsbsd/sys"]
-    includes += ["mDNSResponder/mDNSCore"]
-    includes += ["mDNSResponder/mDNSShared"]
-    includes += ["mDNSResponder/mDNSPosix"]
-    includes += ["testsuite/include"]
-    includes += ["build-include"]
-
-    # Collect the libbsd uses
-    libbsd_use = []
-
-    # Network test configuration
-    if not os.path.exists(bld.env.NET_CONFIG):
-        bld.fatal("network configuraiton '%s' not found" % (bld.env.NET_CONFIG))
-    net_cfg_self_ip = None
-    net_cfg_netmask = None
-    net_cfg_peer_ip = None
-    net_cfg_gateway_ip = None
-    net_tap_interface = None
-    try:
-        net_cfg_lines = open(bld.env.NET_CONFIG).readlines()
-    except:
-        bld.fatal("network configuraiton '%s' read failed" % (bld.env.NET_CONFIG))
-    lc = 0
-    for l in net_cfg_lines:
-        lc += 1
-        if l.strip().startswith("NET_CFG_"):
-            ls = l.split("=")
-            if len(ls) != 2:
-                bld.fatal("network configuraiton '%s' parse error: %d: %s" % (bld.env.NET_CONFIG, lc, l))
-            lhs = ls[0].strip()
-            rhs = ls[1].strip()
-            if lhs == "NET_CFG_SELF_IP":
-                net_cfg_self_ip = rhs
-            if lhs == "NET_CFG_NETMASK":
-                net_cfg_netmask = rhs
-            if lhs == "NET_CFG_PEER_IP":
-                net_cfg_peer_ip = rhs
-            if lhs == "NET_CFG_GATEWAY_IP":
-                net_cfg_gateway_ip = rhs
-            if lhs == "NET_TAP_INTERFACE":
-                net_tap_interface = rhs
-    bld(target = "testsuite/include/rtems/bsd/test/network-config.h",
-        source = "testsuite/include/rtems/bsd/test/network-config.h.in",
-        rule = "sed -e 's/@NET_CFG_SELF_IP@/%s/' -e 's/@NET_CFG_NETMASK@/%s/' -e 's/@NET_CFG_PEER_IP@/%s/' -e 's/@NET_CFG_GATEWAY_IP@/%s/' < ${SRC} > ${TGT}" % (net_cfg_self_ip, net_cfg_netmask, net_cfg_peer_ip, net_cfg_gateway_ip),
-        update_outputs = True)
-
-    # copy headers if necessary
-    header_build_copy_paths = [
-                               ('freebsd/crypto/openssl/crypto', '*.h', 'openssl'),
-                               ('freebsd/crypto/openssl/ssl', '(ssl|kssl|ssl2).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/aes', 'aes.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/err', 'err.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/bio', '*.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/dsa', '*.h', 'openssl'),
-                               ('freebsd/crypto/openssl/ssl', '*.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/bn', 'bn.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/x509', 'x509.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/cast', 'cast.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/lhash', 'lhash.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ecdh', 'ecdh.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ecdsa', 'ecdsa.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/idea', 'idea.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/mdc2', 'mdc2.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/md4', 'md4.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/md5', 'md5.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/rc2', 'rc2.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/rc4', 'rc4.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ripemd', 'ripemd.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/seed', 'seed.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/sha', 'sha.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/x509v3', 'x509v3.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/x509', 'x509_vfy.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/buffer', 'buffer.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/comp', 'comp.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/asn1', 'asn1_mac.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/pem', '(pem|pem2).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/rsa', 'rsa.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/evp', 'evp.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ec', 'ec.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/engine', 'engine.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/pkcs7', 'pkcs7.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/hmac', 'hmac.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/pqueue', 'pqueue.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ocsp', 'ocsp.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/rand', 'rand.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/srp', 'srp.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/dh', 'dh.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/dso', 'dso.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/krb5', 'krb5_asn.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/cms', 'cms.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/txt_db', 'txt_db.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ts', 'ts.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/modes', 'modes.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/pkcs12', 'pkcs12.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/bf', 'blowfish.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/cmac', 'cmac.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/asn1', '(asn1|asn1t).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/camellia', 'camellia.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/objects', '(objects|obj_mac).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/conf', '(conf|conf_api).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/des', '(des|des_old).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/ui', '(ui_compat|ui).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/whrlpool', 'whrlpool.h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto/stack', '(stack|safestack).h', 'openssl'),
-                               ('freebsd/crypto/openssl/crypto', '(opensslconf|opensslv|crypto).h', 'openssl'),
-                              ]
-    for headers in header_build_copy_paths:
-        target = os.path.join("build-include", headers[2])
-        start_dir = bld.path.find_dir(headers[0])
-        for header in start_dir.ant_glob(headers[1]):
-            relsourcepath = header.path_from(start_dir)
-            targetheader = os.path.join(target, relsourcepath)
-            bld(features = 'subst',
-                target = targetheader,
-                source = header,
-                is_copy = True)
-
-    # KVM Symbols
-    bld(target = "rtemsbsd/rtems/rtems-kernel-kvm-symbols.c",
-        source = "rtemsbsd/rtems/generate_kvm_symbols",
-        rule = host_shell + "./${SRC} > ${TGT}",
-        update_outputs = True)
-    bld.objects(target = "kvmsymbols",
-                features = "c",
-                cflags = cflags,
-                includes = ['rtemsbsd/rtems'] + includes,
-                source = "rtemsbsd/rtems/rtems-kernel-kvm-symbols.c")
-    libbsd_use += ["kvmsymbols"]
-
-    bld.add_group()
-    # RPC Generation
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/include/rpc/rpcb_prot.h",
-            source = "freebsd/include/rpc/rpcb_prot.x",
-            rule = host_shell + "${RPCGEN} -h -o ${TGT} ${SRC}")
-
-    # Route keywords
-    if bld.env.AUTO_REGEN:
-        rkw_rule = host_shell + "cat ${SRC} | awk 'BEGIN { r = 0 } { if (NF == 1) printf \"#define\\tK_%%s\\t%%d\\n\\t{\\\"%%s\\\", K_%%s},\\n\", toupper($1), ++r, $1, toupper($1)}' > ${TGT}"
-        bld(target = "freebsd/sbin/route/keywords.h",
-            source = "freebsd/sbin/route/keywords",
-            rule = rkw_rule)
-
-    # Lex
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/contrib/libpcap/scanner.c",
-            source = "freebsd/contrib/libpcap/scanner.l",
-            rule = host_shell + "${LEX} -P pcap -t ${SRC} | sed -e '/YY_BUF_SIZE/s/16384/1024/' > ${TGT}")
-    bld.objects(target = "lex_pcap",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['__FreeBSD__=1', 'BSD=1', 'INET6', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1', 'NEED_YYPARSE_WRAPPER=1', 'yylval=pcap_lval'],
-                source = "freebsd/contrib/libpcap/scanner.c")
-    libbsd_use += ["lex_pcap"]
-
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/lib/libc/net/nslexer.c",
-            source = "freebsd/lib/libc/net/nslexer.l",
-            rule = host_shell + "${LEX} -P _nsyy -t ${SRC} | sed -e '/YY_BUF_SIZE/s/16384/1024/' > ${TGT}")
-    bld.objects(target = "lex__nsyy",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + [],
-                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 = host_shell + "${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 = defines + [],
-                source = "freebsd/lib/libipsec/policy_token.c")
-    libbsd_use += ["lex___libipsecyy"]
-
-    # Yacc
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/contrib/libpcap/grammar.c",
-            source = "freebsd/contrib/libpcap/grammar.y",
-            rule = host_shell + "${YACC} -b pcap -d -p pcap ${SRC} && sed -e '/YY_BUF_SIZE/s/16384/1024/' < pcap.tab.c > ${TGT} && rm -f pcap.tab.c && mv pcap.tab.h freebsd/contrib/libpcap/tokdefs.h")
-    bld.objects(target = "yacc_pcap",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['__FreeBSD__=1', 'BSD=1', 'INET6', '_U_=__attribute__((unused))', 'HAVE_LIMITS_H=1', 'HAVE_INTTYPES=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SNPRINTF=1', 'HAVE_VSNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SYS_IOCCOM_H=1', 'NEED_YYPARSE_WRAPPER=1', 'yylval=pcap_lval'],
-                source = "freebsd/contrib/libpcap/grammar.c")
-    libbsd_use += ["yacc_pcap"]
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/lib/libc/net/nsparser.c",
-            source = "freebsd/lib/libc/net/nsparser.y",
-            rule = host_shell + "${YACC} -b _nsyy -d -p _nsyy ${SRC} && sed -e '/YY_BUF_SIZE/s/16384/1024/' < _nsyy.tab.c > ${TGT} && rm -f _nsyy.tab.c && mv _nsyy.tab.h freebsd/lib/libc/net/nsparser.h")
-    bld.objects(target = "yacc__nsyy",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + [],
-                source = "freebsd/lib/libc/net/nsparser.c")
-    libbsd_use += ["yacc__nsyy"]
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/lib/libipsec/policy_parse.c",
-            source = "freebsd/lib/libipsec/policy_parse.y",
-            rule = host_shell + "${YACC} -b __libipsecyy -d -p __libipsecyy ${SRC} && sed -e '/YY_BUF_SIZE/s/16384/1024/' < __libipsecyy.tab.c > ${TGT} && rm -f __libipsecyy.tab.c && mv __libipsecyy.tab.h freebsd/lib/libipsec/y.tab.h")
-    bld.objects(target = "yacc___libipsecyy",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + [],
-                source = "freebsd/lib/libipsec/policy_parse.c")
-    libbsd_use += ["yacc___libipsecyy"]
-    if bld.env.AUTO_REGEN:
-        bld(target = "freebsd/sbin/pfctl/parse.c",
-            source = "freebsd/sbin/pfctl/parse.y",
-            rule = host_shell + "${YACC} -b pfctly -d -p pfctly ${SRC} && sed -e '/YY_BUF_SIZE/s/16384/1024/' < pfctly.tab.c > ${TGT} && rm -f pfctly.tab.c && mv pfctly.tab.h freebsd/sbin/pfctl/parse.h")
-    bld.objects(target = "yacc_pfctly",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + [],
-                source = "freebsd/sbin/pfctl/parse.c")
-    libbsd_use += ["yacc_pfctly"]
-
-    # Objects built with different CFLAGS
-    objs01_source = ['freebsd/contrib/expat/lib/xmlparse.c',
-                     'freebsd/contrib/expat/lib/xmlrole.c',
-                     'freebsd/contrib/expat/lib/xmltok.c',
-                     'freebsd/contrib/expat/lib/xmltok_impl.c',
-                     'freebsd/contrib/expat/lib/xmltok_ns.c']
-    bld.objects(target = "objs01",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['HAVE_MEMMOVE=1'],
-                source = objs01_source)
-    libbsd_use += ["objs01"]
-
-    objs02_source = ['freebsd/bin/hostname/hostname.c',
-                     'freebsd/bin/stty/cchar.c',
-                     'freebsd/bin/stty/gfmt.c',
-                     'freebsd/bin/stty/key.c',
-                     'freebsd/bin/stty/modes.c',
-                     'freebsd/bin/stty/print.c',
-                     'freebsd/bin/stty/stty.c',
-                     'freebsd/bin/stty/util.c',
-                     'freebsd/contrib/libxo/libxo/libxo.c',
-                     'freebsd/contrib/libxo/libxo/xo_encoder.c',
-                     'freebsd/lib/lib80211/lib80211_ioctl.c',
-                     'freebsd/lib/lib80211/lib80211_regdomain.c',
-                     'freebsd/lib/libbsdstat/bsdstat.c',
-                     'freebsd/lib/libc/gen/err.c',
-                     'freebsd/lib/libc/gen/feature_present.c',
-                     'freebsd/lib/libc/gen/getdomainname.c',
-                     'freebsd/lib/libc/gen/gethostname.c',
-                     'freebsd/lib/libc/gen/sethostname.c',
-                     'freebsd/lib/libc/inet/inet_addr.c',
-                     'freebsd/lib/libc/inet/inet_cidr_ntop.c',
-                     'freebsd/lib/libc/inet/inet_cidr_pton.c',
-                     'freebsd/lib/libc/inet/inet_lnaof.c',
-                     'freebsd/lib/libc/inet/inet_makeaddr.c',
-                     'freebsd/lib/libc/inet/inet_net_ntop.c',
-                     'freebsd/lib/libc/inet/inet_net_pton.c',
-                     'freebsd/lib/libc/inet/inet_neta.c',
-                     'freebsd/lib/libc/inet/inet_netof.c',
-                     'freebsd/lib/libc/inet/inet_network.c',
-                     'freebsd/lib/libc/inet/inet_ntoa.c',
-                     'freebsd/lib/libc/inet/inet_ntop.c',
-                     'freebsd/lib/libc/inet/inet_pton.c',
-                     'freebsd/lib/libc/inet/nsap_addr.c',
-                     'freebsd/lib/libc/isc/ev_streams.c',
-                     'freebsd/lib/libc/isc/ev_timers.c',
-                     'freebsd/lib/libc/nameser/ns_name.c',
-                     'freebsd/lib/libc/nameser/ns_netint.c',
-                     'freebsd/lib/libc/nameser/ns_parse.c',
-                     'freebsd/lib/libc/nameser/ns_print.c',
-                     'freebsd/lib/libc/nameser/ns_samedomain.c',
-                     'freebsd/lib/libc/nameser/ns_ttl.c',
-                     'freebsd/lib/libc/net/base64.c',
-                     'freebsd/lib/libc/net/ether_addr.c',
-                     'freebsd/lib/libc/net/gai_strerror.c',
-                     'freebsd/lib/libc/net/getaddrinfo.c',
-                     'freebsd/lib/libc/net/gethostbydns.c',
-                     'freebsd/lib/libc/net/gethostbyht.c',
-                     'freebsd/lib/libc/net/gethostbynis.c',
-                     'freebsd/lib/libc/net/gethostnamadr.c',
-                     'freebsd/lib/libc/net/getifaddrs.c',
-                     'freebsd/lib/libc/net/getifmaddrs.c',
-                     'freebsd/lib/libc/net/getnameinfo.c',
-                     'freebsd/lib/libc/net/getnetbydns.c',
-                     'freebsd/lib/libc/net/getnetbyht.c',
-                     'freebsd/lib/libc/net/getnetbynis.c',
-                     'freebsd/lib/libc/net/getnetnamadr.c',
-                     'freebsd/lib/libc/net/getproto.c',
-                     'freebsd/lib/libc/net/getprotoent.c',
-                     'freebsd/lib/libc/net/getprotoname.c',
-                     'freebsd/lib/libc/net/getservent.c',
-                     'freebsd/lib/libc/net/if_indextoname.c',
-                     'freebsd/lib/libc/net/if_nameindex.c',
-                     'freebsd/lib/libc/net/if_nametoindex.c',
-                     'freebsd/lib/libc/net/ip6opt.c',
-                     'freebsd/lib/libc/net/linkaddr.c',
-                     'freebsd/lib/libc/net/map_v4v6.c',
-                     'freebsd/lib/libc/net/name6.c',
-                     'freebsd/lib/libc/net/nsdispatch.c',
-                     'freebsd/lib/libc/net/rcmd.c',
-                     'freebsd/lib/libc/net/recv.c',
-                     'freebsd/lib/libc/net/rthdr.c',
-                     'freebsd/lib/libc/net/send.c',
-                     'freebsd/lib/libc/net/vars.c',
-                     'freebsd/lib/libc/posix1e/mac.c',
-                     'freebsd/lib/libc/resolv/h_errno.c',
-                     'freebsd/lib/libc/resolv/herror.c',
-                     'freebsd/lib/libc/resolv/mtctxres.c',
-                     'freebsd/lib/libc/resolv/res_comp.c',
-                     'freebsd/lib/libc/resolv/res_data.c',
-                     'freebsd/lib/libc/resolv/res_debug.c',
-                     'freebsd/lib/libc/resolv/res_findzonecut.c',
-                     'freebsd/lib/libc/resolv/res_init.c',
-                     'freebsd/lib/libc/resolv/res_mkquery.c',
-                     'freebsd/lib/libc/resolv/res_mkupdate.c',
-                     'freebsd/lib/libc/resolv/res_query.c',
-                     'freebsd/lib/libc/resolv/res_send.c',
-                     'freebsd/lib/libc/resolv/res_state.c',
-                     'freebsd/lib/libc/resolv/res_update.c',
-                     'freebsd/lib/libc/rpc/auth_des.c',
-                     'freebsd/lib/libc/rpc/auth_none.c',
-                     'freebsd/lib/libc/rpc/auth_time.c',
-                     'freebsd/lib/libc/rpc/auth_unix.c',
-                     'freebsd/lib/libc/rpc/authdes_prot.c',
-                     'freebsd/lib/libc/rpc/authunix_prot.c',
-                     'freebsd/lib/libc/rpc/bindresvport.c',
-                     'freebsd/lib/libc/rpc/clnt_bcast.c',
-                     'freebsd/lib/libc/rpc/clnt_dg.c',
-                     'freebsd/lib/libc/rpc/clnt_generic.c',
-                     'freebsd/lib/libc/rpc/clnt_perror.c',
-                     'freebsd/lib/libc/rpc/clnt_raw.c',
-                     'freebsd/lib/libc/rpc/clnt_simple.c',
-                     'freebsd/lib/libc/rpc/clnt_vc.c',
-                     'freebsd/lib/libc/rpc/crypt_client.c',
-                     'freebsd/lib/libc/rpc/des_crypt.c',
-                     'freebsd/lib/libc/rpc/des_soft.c',
-                     'freebsd/lib/libc/rpc/getnetconfig.c',
-                     'freebsd/lib/libc/rpc/getnetpath.c',
-                     'freebsd/lib/libc/rpc/getpublickey.c',
-                     'freebsd/lib/libc/rpc/getrpcent.c',
-                     'freebsd/lib/libc/rpc/getrpcport.c',
-                     'freebsd/lib/libc/rpc/key_call.c',
-                     'freebsd/lib/libc/rpc/key_prot_xdr.c',
-                     'freebsd/lib/libc/rpc/mt_misc.c',
-                     'freebsd/lib/libc/rpc/netname.c',
-                     'freebsd/lib/libc/rpc/netnamer.c',
-                     'freebsd/lib/libc/rpc/pmap_clnt.c',
-                     'freebsd/lib/libc/rpc/pmap_getmaps.c',
-                     'freebsd/lib/libc/rpc/pmap_getport.c',
-                     'freebsd/lib/libc/rpc/pmap_prot.c',
-                     'freebsd/lib/libc/rpc/pmap_prot2.c',
-                     'freebsd/lib/libc/rpc/pmap_rmt.c',
-                     'freebsd/lib/libc/rpc/rpc_callmsg.c',
-                     'freebsd/lib/libc/rpc/rpc_commondata.c',
-                     'freebsd/lib/libc/rpc/rpc_dtablesize.c',
-                     'freebsd/lib/libc/rpc/rpc_generic.c',
-                     'freebsd/lib/libc/rpc/rpc_prot.c',
-                     'freebsd/lib/libc/rpc/rpc_soc.c',
-                     'freebsd/lib/libc/rpc/rpcb_clnt.c',
-                     'freebsd/lib/libc/rpc/rpcb_prot.c',
-                     'freebsd/lib/libc/rpc/rpcb_st_xdr.c',
-                     'freebsd/lib/libc/rpc/rpcdname.c',
-                     'freebsd/lib/libc/rpc/rpcsec_gss_stub.c',
-                     'freebsd/lib/libc/rpc/rtime.c',
-                     'freebsd/lib/libc/rpc/svc.c',
-                     'freebsd/lib/libc/rpc/svc_auth.c',
-                     'freebsd/lib/libc/rpc/svc_auth_des.c',
-                     'freebsd/lib/libc/rpc/svc_auth_unix.c',
-                     'freebsd/lib/libc/rpc/svc_dg.c',
-                     'freebsd/lib/libc/rpc/svc_generic.c',
-                     'freebsd/lib/libc/rpc/svc_raw.c',
-                     'freebsd/lib/libc/rpc/svc_run.c',
-                     'freebsd/lib/libc/rpc/svc_simple.c',
-                     'freebsd/lib/libc/rpc/svc_vc.c',
-                     'freebsd/lib/libc/stdio/fgetln.c',
-                     'freebsd/lib/libc/stdlib/strtonum.c',
-                     'freebsd/lib/libc/string/strsep.c',
-                     'freebsd/lib/libc/xdr/xdr.c',
-                     'freebsd/lib/libc/xdr/xdr_array.c',
-                     'freebsd/lib/libc/xdr/xdr_float.c',
-                     'freebsd/lib/libc/xdr/xdr_mem.c',
-                     'freebsd/lib/libc/xdr/xdr_rec.c',
-                     'freebsd/lib/libc/xdr/xdr_reference.c',
-                     'freebsd/lib/libc/xdr/xdr_sizeof.c',
-                     'freebsd/lib/libc/xdr/xdr_stdio.c',
-                     'freebsd/lib/libipsec/ipsec_dump_policy.c',
-                     'freebsd/lib/libipsec/ipsec_get_policylen.c',
-                     'freebsd/lib/libipsec/ipsec_strerror.c',
-                     'freebsd/lib/libipsec/pfkey.c',
-                     'freebsd/lib/libipsec/pfkey_dump.c',
-                     'freebsd/lib/libmemstat/memstat.c',
-                     'freebsd/lib/libmemstat/memstat_all.c',
-                     'freebsd/lib/libmemstat/memstat_malloc.c',
-                     'freebsd/lib/libmemstat/memstat_uma.c',
-                     'freebsd/lib/libutil/expand_number.c',
-                     'freebsd/lib/libutil/humanize_number.c',
-                     'freebsd/lib/libutil/trimdomain.c',
-                     'freebsd/sbin/dhclient/alloc.c',
-                     'freebsd/sbin/dhclient/bpf.c',
-                     'freebsd/sbin/dhclient/clparse.c',
-                     'freebsd/sbin/dhclient/conflex.c',
-                     'freebsd/sbin/dhclient/convert.c',
-                     'freebsd/sbin/dhclient/dhclient.c',
-                     'freebsd/sbin/dhclient/dispatch.c',
-                     'freebsd/sbin/dhclient/errwarn.c',
-                     'freebsd/sbin/dhclient/hash.c',
-                     'freebsd/sbin/dhclient/inet.c',
-                     'freebsd/sbin/dhclient/options.c',
-                     'freebsd/sbin/dhclient/packet.c',
-                     'freebsd/sbin/dhclient/parse.c',
-                     'freebsd/sbin/dhclient/privsep.c',
-                     'freebsd/sbin/dhclient/tables.c',
-                     'freebsd/sbin/dhclient/tree.c',
-                     'freebsd/sbin/ifconfig/af_inet.c',
-                     'freebsd/sbin/ifconfig/af_inet6.c',
-                     'freebsd/sbin/ifconfig/af_link.c',
-                     'freebsd/sbin/ifconfig/af_nd6.c',
-                     'freebsd/sbin/ifconfig/ifbridge.c',
-                     'freebsd/sbin/ifconfig/ifclone.c',
-                     'freebsd/sbin/ifconfig/ifconfig.c',
-                     'freebsd/sbin/ifconfig/ifgif.c',
-                     'freebsd/sbin/ifconfig/ifgre.c',
-                     'freebsd/sbin/ifconfig/ifgroup.c',
-                     'freebsd/sbin/ifconfig/ifieee80211.c',
-                     'freebsd/sbin/ifconfig/iflagg.c',
-                     'freebsd/sbin/ifconfig/ifmac.c',
-                     'freebsd/sbin/ifconfig/ifmedia.c',
-                     'freebsd/sbin/ifconfig/ifpfsync.c',
-                     'freebsd/sbin/ifconfig/ifvlan.c',
-                     'freebsd/sbin/ifconfig/sfp.c',
-                     'freebsd/sbin/pfctl/pf_print_state.c',
-                     'freebsd/sbin/pfctl/pfctl.c',
-                     'freebsd/sbin/pfctl/pfctl_altq.c',
-                     'freebsd/sbin/pfctl/pfctl_optimize.c',
-                     'freebsd/sbin/pfctl/pfctl_osfp.c',
-                     'freebsd/sbin/pfctl/pfctl_parser.c',
-                     'freebsd/sbin/pfctl/pfctl_qstats.c',
-                     'freebsd/sbin/pfctl/pfctl_radix.c',
-                     'freebsd/sbin/pfctl/pfctl_table.c',
-                     'freebsd/sbin/ping/ping.c',
-                     'freebsd/sbin/ping6/ping6.c',
-                     'freebsd/sbin/route/route.c',
-                     'freebsd/sbin/sysctl/sysctl.c',
-                     'freebsd/tools/tools/net80211/wlanstats/main.c',
-                     'freebsd/tools/tools/net80211/wlanstats/wlanstats.c',
-                     'freebsd/usr.bin/netstat/bpf.c',
-                     'freebsd/usr.bin/netstat/flowtable.c',
-                     'freebsd/usr.bin/netstat/if.c',
-                     'freebsd/usr.bin/netstat/inet.c',
-                     'freebsd/usr.bin/netstat/inet6.c',
-                     'freebsd/usr.bin/netstat/ipsec.c',
-                     'freebsd/usr.bin/netstat/main.c',
-                     'freebsd/usr.bin/netstat/mbuf.c',
-                     'freebsd/usr.bin/netstat/mroute.c',
-                     'freebsd/usr.bin/netstat/mroute6.c',
-                     'freebsd/usr.bin/netstat/nl_symbols.c',
-                     'freebsd/usr.bin/netstat/pfkey.c',
-                     'freebsd/usr.bin/netstat/route.c',
-                     'freebsd/usr.bin/netstat/sctp.c',
-                     'freebsd/usr.bin/netstat/unix.c',
-                     'freebsd/usr.bin/vmstat/vmstat.c',
-                     'freebsd/usr.sbin/arp/arp.c']
-    bld.objects(target = "objs02",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['INET', 'INET6'],
-                source = objs02_source)
-    libbsd_use += ["objs02"]
-
-    objs03_source = ['rtemsbsd/mghttpd/mongoose.c']
-    bld.objects(target = "objs03",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['NO_CGI', 'NO_POPEN', 'NO_SSL', 'USE_WEBSOCKET'],
-                source = objs03_source)
-    libbsd_use += ["objs03"]
-
-    objs04_source = ['freebsd/crypto/openssl/crypto/aes/aes_cbc.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_cfb.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_core.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_ctr.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_ecb.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_ige.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_misc.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_ofb.c',
-                     'freebsd/crypto/openssl/crypto/aes/aes_wrap.c',
-                     'freebsd/crypto/openssl/crypto/armcap.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_bitstr.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_bool.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_bytes.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_d2i_fp.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_digest.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_dup.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_enum.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_gentm.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_i2d_fp.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_int.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_mbstr.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_object.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_octet.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_print.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_set.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_sign.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_strex.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_strnid.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_time.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_type.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_utctm.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_utf8.c',
-                     'freebsd/crypto/openssl/crypto/asn1/a_verify.c',
-                     'freebsd/crypto/openssl/crypto/asn1/ameth_lib.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn1_err.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn1_gen.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn1_lib.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn1_par.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn_mime.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn_moid.c',
-                     'freebsd/crypto/openssl/crypto/asn1/asn_pack.c',
-                     'freebsd/crypto/openssl/crypto/asn1/bio_asn1.c',
-                     'freebsd/crypto/openssl/crypto/asn1/bio_ndef.c',
-                     'freebsd/crypto/openssl/crypto/asn1/d2i_pr.c',
-                     'freebsd/crypto/openssl/crypto/asn1/d2i_pu.c',
-                     'freebsd/crypto/openssl/crypto/asn1/evp_asn1.c',
-                     'freebsd/crypto/openssl/crypto/asn1/f_enum.c',
-                     'freebsd/crypto/openssl/crypto/asn1/f_int.c',
-                     'freebsd/crypto/openssl/crypto/asn1/f_string.c',
-                     'freebsd/crypto/openssl/crypto/asn1/i2d_pr.c',
-                     'freebsd/crypto/openssl/crypto/asn1/i2d_pu.c',
-                     'freebsd/crypto/openssl/crypto/asn1/n_pkey.c',
-                     'freebsd/crypto/openssl/crypto/asn1/nsseq.c',
-                     'freebsd/crypto/openssl/crypto/asn1/p5_pbe.c',
-                     'freebsd/crypto/openssl/crypto/asn1/p5_pbev2.c',
-                     'freebsd/crypto/openssl/crypto/asn1/p8_pkey.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_bitst.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_crl.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_pkey.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_req.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_spki.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_x509.c',
-                     'freebsd/crypto/openssl/crypto/asn1/t_x509a.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_dec.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_enc.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_fre.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_new.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_prn.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_typ.c',
-                     'freebsd/crypto/openssl/crypto/asn1/tasn_utl.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_algor.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_attrib.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_bignum.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_crl.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_exten.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_info.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_long.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_name.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_nx509.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_pkey.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_pubkey.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_req.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_sig.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_spki.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_val.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_x509.c',
-                     'freebsd/crypto/openssl/crypto/asn1/x_x509a.c',
-                     'freebsd/crypto/openssl/crypto/bf/bf_cfb64.c',
-                     'freebsd/crypto/openssl/crypto/bf/bf_ecb.c',
-                     'freebsd/crypto/openssl/crypto/bf/bf_enc.c',
-                     'freebsd/crypto/openssl/crypto/bf/bf_ofb64.c',
-                     'freebsd/crypto/openssl/crypto/bf/bf_opts.c',
-                     'freebsd/crypto/openssl/crypto/bf/bf_skey.c',
-                     'freebsd/crypto/openssl/crypto/bf/bfspeed.c',
-                     'freebsd/crypto/openssl/crypto/bf/bftest.c',
-                     'freebsd/crypto/openssl/crypto/bio/b_dump.c',
-                     'freebsd/crypto/openssl/crypto/bio/b_print.c',
-                     'freebsd/crypto/openssl/crypto/bio/b_sock.c',
-                     'freebsd/crypto/openssl/crypto/bio/bf_buff.c',
-                     'freebsd/crypto/openssl/crypto/bio/bf_lbuf.c',
-                     'freebsd/crypto/openssl/crypto/bio/bf_nbio.c',
-                     'freebsd/crypto/openssl/crypto/bio/bf_null.c',
-                     'freebsd/crypto/openssl/crypto/bio/bio_cb.c',
-                     'freebsd/crypto/openssl/crypto/bio/bio_err.c',
-                     'freebsd/crypto/openssl/crypto/bio/bio_lib.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_acpt.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_bio.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_conn.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_dgram.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_fd.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_file.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_log.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_mem.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_null.c',
-                     'freebsd/crypto/openssl/crypto/bio/bss_sock.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_add.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_asm.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_blind.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_const.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_ctx.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_depr.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_div.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_err.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_exp.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_exp2.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_gcd.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_gf2m.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_kron.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_lib.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_mod.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_mont.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_mpi.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_mul.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_nist.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_prime.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_print.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_rand.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_recp.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_shift.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_sqr.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_sqrt.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_word.c',
-                     'freebsd/crypto/openssl/crypto/bn/bn_x931p.c',
-                     'freebsd/crypto/openssl/crypto/bn/bnspeed.c',
-                     'freebsd/crypto/openssl/crypto/bn/bntest.c',
-                     'freebsd/crypto/openssl/crypto/bn/divtest.c',
-                     'freebsd/crypto/openssl/crypto/bn/expspeed.c',
-                     'freebsd/crypto/openssl/crypto/bn/exptest.c',
-                     'freebsd/crypto/openssl/crypto/bn/rsaz_exp.c',
-                     'freebsd/crypto/openssl/crypto/buffer/buf_err.c',
-                     'freebsd/crypto/openssl/crypto/buffer/buf_str.c',
-                     'freebsd/crypto/openssl/crypto/buffer/buffer.c',
-                     'freebsd/crypto/openssl/crypto/camellia/camellia.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_cbc.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_cfb.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_ctr.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_ecb.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_misc.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_ofb.c',
-                     'freebsd/crypto/openssl/crypto/camellia/cmll_utl.c',
-                     'freebsd/crypto/openssl/crypto/cast/c_cfb64.c',
-                     'freebsd/crypto/openssl/crypto/cast/c_ecb.c',
-                     'freebsd/crypto/openssl/crypto/cast/c_enc.c',
-                     'freebsd/crypto/openssl/crypto/cast/c_ofb64.c',
-                     'freebsd/crypto/openssl/crypto/cast/c_skey.c',
-                     'freebsd/crypto/openssl/crypto/cast/cast_spd.c',
-                     'freebsd/crypto/openssl/crypto/cast/castopts.c',
-                     'freebsd/crypto/openssl/crypto/cast/casttest.c',
-                     'freebsd/crypto/openssl/crypto/cmac/cm_ameth.c',
-                     'freebsd/crypto/openssl/crypto/cmac/cm_pmeth.c',
-                     'freebsd/crypto/openssl/crypto/cmac/cmac.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_asn1.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_att.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_cd.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_dd.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_enc.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_env.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_err.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_ess.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_io.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_kari.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_lib.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_pwri.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_sd.c',
-                     'freebsd/crypto/openssl/crypto/cms/cms_smime.c',
-                     'freebsd/crypto/openssl/crypto/comp/c_rle.c',
-                     'freebsd/crypto/openssl/crypto/comp/c_zlib.c',
-                     'freebsd/crypto/openssl/crypto/comp/comp_err.c',
-                     'freebsd/crypto/openssl/crypto/comp/comp_lib.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_api.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_def.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_err.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_lib.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_mall.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_mod.c',
-                     'freebsd/crypto/openssl/crypto/conf/conf_sap.c',
-                     'freebsd/crypto/openssl/crypto/constant_time_test.c',
-                     'freebsd/crypto/openssl/crypto/cpt_err.c',
-                     'freebsd/crypto/openssl/crypto/cryptlib.c',
-                     'freebsd/crypto/openssl/crypto/cversion.c',
-                     'freebsd/crypto/openssl/crypto/des/cbc3_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/cbc_cksm.c',
-                     'freebsd/crypto/openssl/crypto/des/cbc_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/cfb64ede.c',
-                     'freebsd/crypto/openssl/crypto/des/cfb64enc.c',
-                     'freebsd/crypto/openssl/crypto/des/cfb_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/des.c',
-                     'freebsd/crypto/openssl/crypto/des/des_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/des_old2.c',
-                     'freebsd/crypto/openssl/crypto/des/ecb3_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/ecb_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/ede_cbcm_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/enc_read.c',
-                     'freebsd/crypto/openssl/crypto/des/enc_writ.c',
-                     'freebsd/crypto/openssl/crypto/des/fcrypt.c',
-                     'freebsd/crypto/openssl/crypto/des/fcrypt_b.c',
-                     'freebsd/crypto/openssl/crypto/des/ncbc_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/ofb64ede.c',
-                     'freebsd/crypto/openssl/crypto/des/ofb64enc.c',
-                     'freebsd/crypto/openssl/crypto/des/ofb_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/pcbc_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/qud_cksm.c',
-                     'freebsd/crypto/openssl/crypto/des/rand_key.c',
-                     'freebsd/crypto/openssl/crypto/des/read2pwd.c',
-                     'freebsd/crypto/openssl/crypto/des/read_pwd.c',
-                     'freebsd/crypto/openssl/crypto/des/rpc_enc.c',
-                     'freebsd/crypto/openssl/crypto/des/rpw.c',
-                     'freebsd/crypto/openssl/crypto/des/set_key.c',
-                     'freebsd/crypto/openssl/crypto/des/speed.c',
-                     'freebsd/crypto/openssl/crypto/des/str2key.c',
-                     'freebsd/crypto/openssl/crypto/des/xcbc_enc.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_ameth.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_asn1.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_check.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_depr.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_err.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_gen.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_kdf.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_key.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_lib.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_pmeth.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_prn.c',
-                     'freebsd/crypto/openssl/crypto/dh/dh_rfc5114.c',
-                     'freebsd/crypto/openssl/crypto/dh/dhtest.c',
-                     'freebsd/crypto/openssl/crypto/dh/p1024.c',
-                     'freebsd/crypto/openssl/crypto/dh/p192.c',
-                     'freebsd/crypto/openssl/crypto/dh/p512.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_ameth.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_asn1.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_depr.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_err.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_gen.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_key.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_lib.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_ossl.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_pmeth.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_prn.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_sign.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsa_vrf.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsagen.c',
-                     'freebsd/crypto/openssl/crypto/dsa/dsatest.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_beos.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_dl.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_dlfcn.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_err.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_lib.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_null.c',
-                     'freebsd/crypto/openssl/crypto/dso/dso_openssl.c',
-                     'freebsd/crypto/openssl/crypto/ebcdic.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec2_mult.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec2_oct.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec2_smpl.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_ameth.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_asn1.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_check.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_curve.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_cvt.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_err.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_key.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_lib.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_mult.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_oct.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_pmeth.c',
-                     'freebsd/crypto/openssl/crypto/ec/ec_print.c',
-                     'freebsd/crypto/openssl/crypto/ec/eck_prn.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_mont.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_nist.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_nistp224.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_nistp256.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_nistp521.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_nistputil.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_nistz256.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_oct.c',
-                     'freebsd/crypto/openssl/crypto/ec/ecp_smpl.c',
-                     'freebsd/crypto/openssl/crypto/ec/ectest.c',
-                     'freebsd/crypto/openssl/crypto/ecdh/ecdhtest.c',
-                     'freebsd/crypto/openssl/crypto/ecdh/ech_err.c',
-                     'freebsd/crypto/openssl/crypto/ecdh/ech_kdf.c',
-                     'freebsd/crypto/openssl/crypto/ecdh/ech_key.c',
-                     'freebsd/crypto/openssl/crypto/ecdh/ech_lib.c',
-                     'freebsd/crypto/openssl/crypto/ecdh/ech_ossl.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecdsatest.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecs_asn1.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecs_err.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecs_lib.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecs_ossl.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecs_sign.c',
-                     'freebsd/crypto/openssl/crypto/ecdsa/ecs_vrf.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_all.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_cnf.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_cryptodev.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_ctrl.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_dyn.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_err.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_fat.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_init.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_lib.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_list.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_openssl.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_pkey.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_rdrand.c',
-                     'freebsd/crypto/openssl/crypto/engine/eng_table.c',
-                     'freebsd/crypto/openssl/crypto/engine/enginetest.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_asnmth.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_cipher.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_dh.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_digest.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_dsa.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_ecdh.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_ecdsa.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_pkmeth.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_rand.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_rsa.c',
-                     'freebsd/crypto/openssl/crypto/engine/tb_store.c',
-                     'freebsd/crypto/openssl/crypto/err/err.c',
-                     'freebsd/crypto/openssl/crypto/err/err_all.c',
-                     'freebsd/crypto/openssl/crypto/err/err_prn.c',
-                     'freebsd/crypto/openssl/crypto/evp/bio_b64.c',
-                     'freebsd/crypto/openssl/crypto/evp/bio_enc.c',
-                     'freebsd/crypto/openssl/crypto/evp/bio_md.c',
-                     'freebsd/crypto/openssl/crypto/evp/bio_ok.c',
-                     'freebsd/crypto/openssl/crypto/evp/c_all.c',
-                     'freebsd/crypto/openssl/crypto/evp/c_allc.c',
-                     'freebsd/crypto/openssl/crypto/evp/c_alld.c',
-                     'freebsd/crypto/openssl/crypto/evp/digest.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_aes.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha256.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_bf.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_camellia.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_cast.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_des.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_des3.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_idea.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_null.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_old.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_rc2.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_rc4.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_rc4_hmac_md5.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_rc5.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_seed.c',
-                     'freebsd/crypto/openssl/crypto/evp/e_xcbc_d.c',
-                     'freebsd/crypto/openssl/crypto/evp/encode.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_acnf.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_cnf.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_enc.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_err.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_extra_test.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_key.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_lib.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_pbe.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_pkey.c',
-                     'freebsd/crypto/openssl/crypto/evp/evp_test.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_dss.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_dss1.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_ecdsa.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_md2.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_md4.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_md5.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_mdc2.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_null.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_ripemd.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_sha.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_sha1.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_sigver.c',
-                     'freebsd/crypto/openssl/crypto/evp/m_wp.c',
-                     'freebsd/crypto/openssl/crypto/evp/names.c',
-                     'freebsd/crypto/openssl/crypto/evp/openbsd_hw.c',
-                     'freebsd/crypto/openssl/crypto/evp/p5_crpt.c',
-                     'freebsd/crypto/openssl/crypto/evp/p5_crpt2.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_dec.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_enc.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_lib.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_open.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_seal.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_sign.c',
-                     'freebsd/crypto/openssl/crypto/evp/p_verify.c',
-                     'freebsd/crypto/openssl/crypto/evp/pmeth_fn.c',
-                     'freebsd/crypto/openssl/crypto/evp/pmeth_gn.c',
-                     'freebsd/crypto/openssl/crypto/evp/pmeth_lib.c',
-                     'freebsd/crypto/openssl/crypto/ex_data.c',
-                     'freebsd/crypto/openssl/crypto/fips_ers.c',
-                     'freebsd/crypto/openssl/crypto/hmac/hm_ameth.c',
-                     'freebsd/crypto/openssl/crypto/hmac/hm_pmeth.c',
-                     'freebsd/crypto/openssl/crypto/hmac/hmac.c',
-                     'freebsd/crypto/openssl/crypto/hmac/hmactest.c',
-                     'freebsd/crypto/openssl/crypto/idea/i_cbc.c',
-                     'freebsd/crypto/openssl/crypto/idea/i_cfb64.c',
-                     'freebsd/crypto/openssl/crypto/idea/i_ecb.c',
-                     'freebsd/crypto/openssl/crypto/idea/i_ofb64.c',
-                     'freebsd/crypto/openssl/crypto/idea/i_skey.c',
-                     'freebsd/crypto/openssl/crypto/idea/idea_spd.c',
-                     'freebsd/crypto/openssl/crypto/idea/ideatest.c',
-                     'freebsd/crypto/openssl/crypto/krb5/krb5_asn.c',
-                     'freebsd/crypto/openssl/crypto/lhash/lhash.c',
-                     'freebsd/crypto/openssl/crypto/md4/md4.c',
-                     'freebsd/crypto/openssl/crypto/md4/md4_dgst.c',
-                     'freebsd/crypto/openssl/crypto/md4/md4_one.c',
-                     'freebsd/crypto/openssl/crypto/md4/md4test.c',
-                     'freebsd/crypto/openssl/crypto/md5/md5.c',
-                     'freebsd/crypto/openssl/crypto/md5/md5_dgst.c',
-                     'freebsd/crypto/openssl/crypto/md5/md5_one.c',
-                     'freebsd/crypto/openssl/crypto/md5/md5test.c',
-                     'freebsd/crypto/openssl/crypto/mdc2/mdc2_one.c',
-                     'freebsd/crypto/openssl/crypto/mdc2/mdc2dgst.c',
-                     'freebsd/crypto/openssl/crypto/mdc2/mdc2test.c',
-                     'freebsd/crypto/openssl/crypto/mem.c',
-                     'freebsd/crypto/openssl/crypto/mem_clr.c',
-                     'freebsd/crypto/openssl/crypto/mem_dbg.c',
-                     'freebsd/crypto/openssl/crypto/modes/cbc128.c',
-                     'freebsd/crypto/openssl/crypto/modes/ccm128.c',
-                     'freebsd/crypto/openssl/crypto/modes/cfb128.c',
-                     'freebsd/crypto/openssl/crypto/modes/ctr128.c',
-                     'freebsd/crypto/openssl/crypto/modes/cts128.c',
-                     'freebsd/crypto/openssl/crypto/modes/gcm128.c',
-                     'freebsd/crypto/openssl/crypto/modes/ofb128.c',
-                     'freebsd/crypto/openssl/crypto/modes/wrap128.c',
-                     'freebsd/crypto/openssl/crypto/modes/xts128.c',
-                     'freebsd/crypto/openssl/crypto/o_dir.c',
-                     'freebsd/crypto/openssl/crypto/o_dir_test.c',
-                     'freebsd/crypto/openssl/crypto/o_fips.c',
-                     'freebsd/crypto/openssl/crypto/o_init.c',
-                     'freebsd/crypto/openssl/crypto/o_str.c',
-                     'freebsd/crypto/openssl/crypto/o_time.c',
-                     'freebsd/crypto/openssl/crypto/objects/o_names.c',
-                     'freebsd/crypto/openssl/crypto/objects/obj_dat.c',
-                     'freebsd/crypto/openssl/crypto/objects/obj_err.c',
-                     'freebsd/crypto/openssl/crypto/objects/obj_lib.c',
-                     'freebsd/crypto/openssl/crypto/objects/obj_xref.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_asn.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_cl.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_err.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_ext.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_ht.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_lib.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_prn.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_srv.c',
-                     'freebsd/crypto/openssl/crypto/ocsp/ocsp_vfy.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_all.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_err.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_info.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_lib.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_oth.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_pk8.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_pkey.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_seal.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_sign.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_x509.c',
-                     'freebsd/crypto/openssl/crypto/pem/pem_xaux.c',
-                     'freebsd/crypto/openssl/crypto/pem/pvkfmt.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_add.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_asn.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_attr.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_crpt.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_crt.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_decr.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_init.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_key.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_kiss.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_mutl.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_npas.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_p8d.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_p8e.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/p12_utl.c',
-                     'freebsd/crypto/openssl/crypto/pkcs12/pk12err.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/bio_pk7.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_asn1.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_attr.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_dgst.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_doit.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_lib.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_mime.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pk7_smime.c',
-                     'freebsd/crypto/openssl/crypto/pkcs7/pkcs7err.c',
-                     'freebsd/crypto/openssl/crypto/ppccap.c',
-                     'freebsd/crypto/openssl/crypto/pqueue/pq_test.c',
-                     'freebsd/crypto/openssl/crypto/pqueue/pqueue.c',
-                     'freebsd/crypto/openssl/crypto/rand/md_rand.c',
-                     'freebsd/crypto/openssl/crypto/rand/rand_egd.c',
-                     'freebsd/crypto/openssl/crypto/rand/rand_err.c',
-                     'freebsd/crypto/openssl/crypto/rand/rand_lib.c',
-                     'freebsd/crypto/openssl/crypto/rand/rand_unix.c',
-                     'freebsd/crypto/openssl/crypto/rand/randfile.c',
-                     'freebsd/crypto/openssl/crypto/rand/randtest.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2_cbc.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2_ecb.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2_skey.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2cfb64.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2ofb64.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2speed.c',
-                     'freebsd/crypto/openssl/crypto/rc2/rc2test.c',
-                     'freebsd/crypto/openssl/crypto/rc2/tab.c',
-                     'freebsd/crypto/openssl/crypto/rc4/rc4_enc.c',
-                     'freebsd/crypto/openssl/crypto/rc4/rc4_skey.c',
-                     'freebsd/crypto/openssl/crypto/rc4/rc4_utl.c',
-                     'freebsd/crypto/openssl/crypto/rc4/rc4speed.c',
-                     'freebsd/crypto/openssl/crypto/rc4/rc4test.c',
-                     'freebsd/crypto/openssl/crypto/ripemd/rmd160.c',
-                     'freebsd/crypto/openssl/crypto/ripemd/rmd_dgst.c',
-                     'freebsd/crypto/openssl/crypto/ripemd/rmd_one.c',
-                     'freebsd/crypto/openssl/crypto/ripemd/rmdtest.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_ameth.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_asn1.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_chk.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_crpt.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_depr.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_eay.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_err.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_gen.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_lib.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_none.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_null.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_oaep.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_pk1.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_pmeth.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_prn.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_pss.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_saos.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_sign.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_ssl.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_test.c',
-                     'freebsd/crypto/openssl/crypto/rsa/rsa_x931.c',
-                     'freebsd/crypto/openssl/crypto/s390xcap.c',
-                     'freebsd/crypto/openssl/crypto/seed/seed.c',
-                     'freebsd/crypto/openssl/crypto/seed/seed_cbc.c',
-                     'freebsd/crypto/openssl/crypto/seed/seed_cfb.c',
-                     'freebsd/crypto/openssl/crypto/seed/seed_ecb.c',
-                     'freebsd/crypto/openssl/crypto/seed/seed_ofb.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha1.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha1_one.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha1dgst.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha1test.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha256.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha256t.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha512.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha512t.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha_dgst.c',
-                     'freebsd/crypto/openssl/crypto/sha/sha_one.c',
-                     'freebsd/crypto/openssl/crypto/sha/shatest.c',
-                     'freebsd/crypto/openssl/crypto/sparcv9cap.c',
-                     'freebsd/crypto/openssl/crypto/srp/srp_lib.c',
-                     'freebsd/crypto/openssl/crypto/srp/srp_vfy.c',
-                     'freebsd/crypto/openssl/crypto/srp/srptest.c',
-                     'freebsd/crypto/openssl/crypto/stack/stack.c',
-                     'freebsd/crypto/openssl/crypto/threads/mttest.c',
-                     'freebsd/crypto/openssl/crypto/threads/th-lock.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_asn1.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_conf.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_err.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_lib.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_req_print.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_req_utils.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_rsp_print.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_rsp_sign.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_rsp_utils.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_rsp_verify.c',
-                     'freebsd/crypto/openssl/crypto/ts/ts_verify_ctx.c',
-                     'freebsd/crypto/openssl/crypto/txt_db/txt_db.c',
-                     'freebsd/crypto/openssl/crypto/ui/ui_compat.c',
-                     'freebsd/crypto/openssl/crypto/ui/ui_err.c',
-                     'freebsd/crypto/openssl/crypto/ui/ui_lib.c',
-                     'freebsd/crypto/openssl/crypto/ui/ui_openssl.c',
-                     'freebsd/crypto/openssl/crypto/ui/ui_util.c',
-                     'freebsd/crypto/openssl/crypto/uid.c',
-                     'freebsd/crypto/openssl/crypto/whrlpool/wp_block.c',
-                     'freebsd/crypto/openssl/crypto/whrlpool/wp_dgst.c',
-                     'freebsd/crypto/openssl/crypto/whrlpool/wp_test.c',
-                     'freebsd/crypto/openssl/crypto/x509/by_dir.c',
-                     'freebsd/crypto/openssl/crypto/x509/by_file.c',
-                     'freebsd/crypto/openssl/crypto/x509/verify_extra_test.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_att.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_cmp.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_d2.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_def.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_err.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_ext.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_lu.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_obj.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_r2x.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_req.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_set.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_trs.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_txt.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_v3.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_vfy.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509_vpm.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509cset.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509name.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509rset.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509spki.c',
-                     'freebsd/crypto/openssl/crypto/x509/x509type.c',
-                     'freebsd/crypto/openssl/crypto/x509/x_all.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/pcy_cache.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/pcy_data.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/pcy_lib.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/pcy_map.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/pcy_node.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/pcy_tree.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/tabtest.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_addr.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_akey.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_akeya.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_alt.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_asid.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_bcons.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_bitst.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_conf.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_cpols.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_crld.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_enum.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_extku.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_genn.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_ia5.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_info.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_int.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_lib.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_ncons.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_ocsp.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_pci.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_pcia.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_pcons.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_pku.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_pmaps.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_prn.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_purp.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_scts.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_skey.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_sxnet.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3_utl.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3err.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3nametest.c',
-                     'freebsd/crypto/openssl/crypto/x509v3/v3prin.c',
-                     'freebsd/crypto/openssl/engines/ccgost/e_gost_err.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost2001.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost2001_keyx.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost89.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost94_keyx.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_ameth.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_asn1.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_crypt.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_ctl.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_eng.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_keywrap.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_md.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_params.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_pmeth.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gost_sign.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gosthash.c',
-                     'freebsd/crypto/openssl/engines/ccgost/gostsum.c',
-                     'freebsd/crypto/openssl/engines/e_4758cca.c',
-                     'freebsd/crypto/openssl/engines/e_4758cca_err.c',
-                     'freebsd/crypto/openssl/engines/e_aep.c',
-                     'freebsd/crypto/openssl/engines/e_aep_err.c',
-                     'freebsd/crypto/openssl/engines/e_atalla.c',
-                     'freebsd/crypto/openssl/engines/e_atalla_err.c',
-                     'freebsd/crypto/openssl/engines/e_capi.c',
-                     'freebsd/crypto/openssl/engines/e_capi_err.c',
-                     'freebsd/crypto/openssl/engines/e_chil.c',
-                     'freebsd/crypto/openssl/engines/e_chil_err.c',
-                     'freebsd/crypto/openssl/engines/e_cswift.c',
-                     'freebsd/crypto/openssl/engines/e_cswift_err.c',
-                     'freebsd/crypto/openssl/engines/e_gmp.c',
-                     'freebsd/crypto/openssl/engines/e_gmp_err.c',
-                     'freebsd/crypto/openssl/engines/e_nuron.c',
-                     'freebsd/crypto/openssl/engines/e_nuron_err.c',
-                     'freebsd/crypto/openssl/engines/e_padlock.c',
-                     'freebsd/crypto/openssl/engines/e_sureware.c',
-                     'freebsd/crypto/openssl/engines/e_sureware_err.c',
-                     'freebsd/crypto/openssl/engines/e_ubsec.c',
-                     'freebsd/crypto/openssl/engines/e_ubsec_err.c',
-                     'freebsd/crypto/openssl/ssl/bad_dtls_test.c',
-                     'freebsd/crypto/openssl/ssl/bio_ssl.c',
-                     'freebsd/crypto/openssl/ssl/clienthellotest.c',
-                     'freebsd/crypto/openssl/ssl/d1_both.c',
-                     'freebsd/crypto/openssl/ssl/d1_clnt.c',
-                     'freebsd/crypto/openssl/ssl/d1_lib.c',
-                     'freebsd/crypto/openssl/ssl/d1_meth.c',
-                     'freebsd/crypto/openssl/ssl/d1_pkt.c',
-                     'freebsd/crypto/openssl/ssl/d1_srtp.c',
-                     'freebsd/crypto/openssl/ssl/d1_srvr.c',
-                     'freebsd/crypto/openssl/ssl/kssl.c',
-                     'freebsd/crypto/openssl/ssl/s23_clnt.c',
-                     'freebsd/crypto/openssl/ssl/s23_lib.c',
-                     'freebsd/crypto/openssl/ssl/s23_meth.c',
-                     'freebsd/crypto/openssl/ssl/s23_pkt.c',
-                     'freebsd/crypto/openssl/ssl/s23_srvr.c',
-                     'freebsd/crypto/openssl/ssl/s2_clnt.c',
-                     'freebsd/crypto/openssl/ssl/s2_enc.c',
-                     'freebsd/crypto/openssl/ssl/s2_lib.c',
-                     'freebsd/crypto/openssl/ssl/s2_meth.c',
-                     'freebsd/crypto/openssl/ssl/s2_pkt.c',
-                     'freebsd/crypto/openssl/ssl/s2_srvr.c',
-                     'freebsd/crypto/openssl/ssl/s3_both.c',
-                     'freebsd/crypto/openssl/ssl/s3_cbc.c',
-                     'freebsd/crypto/openssl/ssl/s3_clnt.c',
-                     'freebsd/crypto/openssl/ssl/s3_enc.c',
-                     'freebsd/crypto/openssl/ssl/s3_lib.c',
-                     'freebsd/crypto/openssl/ssl/s3_meth.c',
-                     'freebsd/crypto/openssl/ssl/s3_pkt.c',
-                     'freebsd/crypto/openssl/ssl/s3_srvr.c',
-                     'freebsd/crypto/openssl/ssl/ssl_algs.c',
-                     'freebsd/crypto/openssl/ssl/ssl_asn1.c',
-                     'freebsd/crypto/openssl/ssl/ssl_cert.c',
-                     'freebsd/crypto/openssl/ssl/ssl_ciph.c',
-                     'freebsd/crypto/openssl/ssl/ssl_conf.c',
-                     'freebsd/crypto/openssl/ssl/ssl_err.c',
-                     'freebsd/crypto/openssl/ssl/ssl_err2.c',
-                     'freebsd/crypto/openssl/ssl/ssl_lib.c',
-                     'freebsd/crypto/openssl/ssl/ssl_rsa.c',
-                     'freebsd/crypto/openssl/ssl/ssl_sess.c',
-                     'freebsd/crypto/openssl/ssl/ssl_stat.c',
-                     'freebsd/crypto/openssl/ssl/ssl_txt.c',
-                     'freebsd/crypto/openssl/ssl/ssl_utst.c',
-                     'freebsd/crypto/openssl/ssl/ssltest.c',
-                     'freebsd/crypto/openssl/ssl/sslv2conftest.c',
-                     'freebsd/crypto/openssl/ssl/t1_clnt.c',
-                     'freebsd/crypto/openssl/ssl/t1_enc.c',
-                     'freebsd/crypto/openssl/ssl/t1_ext.c',
-                     'freebsd/crypto/openssl/ssl/t1_lib.c',
-                     'freebsd/crypto/openssl/ssl/t1_meth.c',
-                     'freebsd/crypto/openssl/ssl/t1_reneg.c',
-                     'freebsd/crypto/openssl/ssl/t1_srvr.c',
-                     'freebsd/crypto/openssl/ssl/t1_trce.c',
-                     'freebsd/crypto/openssl/ssl/tls_srp.c']
-    bld.objects(target = "objs04",
-                features = "c",
-                cflags = cflags,
-                includes = ['freebsd/crypto', 'freebsd/crypto/openssl', 'freebsd/crypto/openssl/crypto', 'freebsd/crypto/openssl/crypto/asn1', 'freebsd/crypto/openssl/crypto/evp', 'freebsd/crypto/openssl/crypto/modes'] + includes,
-                defines = defines + ['NO_WINDOWS_BRAINDEATH=1', 'OPENSSL_DISABLE_OLD_DES_SUPPORT=1', 'OPENSSL_NO_DEPRECATED=1', 'OPENSSL_NO_EC_NISTP_64_GCC_128=1', 'OPENSSL_NO_GMP=1', 'OPENSSL_NO_JPAKE=1', 'OPENSSL_NO_LIBUNBOUND=1', 'OPENSSL_NO_MD2=1', 'OPENSSL_NO_RC5=1', 'OPENSSL_NO_RFC3779=1', 'OPENSSL_NO_SCTP=1', 'OPENSSL_NO_SSL2=1', 'OPENSSL_NO_SSL_TRACE=1', 'OPENSSL_NO_STORE=1', 'OPENSSL_NO_UNIT_TEST=1', 'OPENSSL_NO_WEAK_SSL_CIPHERS=1'],
-                source = objs04_source)
-    libbsd_use += ["objs04"]
-
-    objs05_source = ['freebsd/lib/libc/db/btree/bt_close.c',
-                     'freebsd/lib/libc/db/btree/bt_conv.c',
-                     'freebsd/lib/libc/db/btree/bt_debug.c',
-                     'freebsd/lib/libc/db/btree/bt_delete.c',
-                     'freebsd/lib/libc/db/btree/bt_get.c',
-                     'freebsd/lib/libc/db/btree/bt_open.c',
-                     'freebsd/lib/libc/db/btree/bt_overflow.c',
-                     'freebsd/lib/libc/db/btree/bt_page.c',
-                     'freebsd/lib/libc/db/btree/bt_put.c',
-                     'freebsd/lib/libc/db/btree/bt_search.c',
-                     'freebsd/lib/libc/db/btree/bt_seq.c',
-                     'freebsd/lib/libc/db/btree/bt_split.c',
-                     'freebsd/lib/libc/db/btree/bt_utils.c',
-                     'freebsd/lib/libc/db/db/db.c',
-                     'freebsd/lib/libc/db/mpool/mpool-compat.c',
-                     'freebsd/lib/libc/db/mpool/mpool.c',
-                     'freebsd/lib/libc/db/recno/rec_close.c',
-                     'freebsd/lib/libc/db/recno/rec_delete.c',
-                     'freebsd/lib/libc/db/recno/rec_get.c',
-                     'freebsd/lib/libc/db/recno/rec_open.c',
-                     'freebsd/lib/libc/db/recno/rec_put.c',
-                     'freebsd/lib/libc/db/recno/rec_search.c',
-                     'freebsd/lib/libc/db/recno/rec_seq.c',
-                     'freebsd/lib/libc/db/recno/rec_utils.c']
-    bld.objects(target = "objs05",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['INET6', '__DBINTERFACE_PRIVATE'],
-                source = objs05_source)
-    libbsd_use += ["objs05"]
-
-    objs06_source = ['dhcpcd/arp.c',
-                     'dhcpcd/auth.c',
-                     'dhcpcd/bpf.c',
-                     'dhcpcd/common.c',
-                     'dhcpcd/compat/pselect.c',
-                     'dhcpcd/crypt/hmac_md5.c',
-                     'dhcpcd/dhcp-common.c',
-                     'dhcpcd/dhcp.c',
-                     'dhcpcd/dhcp6.c',
-                     'dhcpcd/dhcpcd-embedded.c',
-                     'dhcpcd/dhcpcd.c',
-                     'dhcpcd/duid.c',
-                     'dhcpcd/eloop.c',
-                     'dhcpcd/if-bsd.c',
-                     'dhcpcd/if-options.c',
-                     'dhcpcd/if-pref.c',
-                     'dhcpcd/ipv4.c',
-                     'dhcpcd/ipv4ll.c',
-                     'dhcpcd/ipv6.c',
-                     'dhcpcd/ipv6nd.c',
-                     'dhcpcd/net.c',
-                     'dhcpcd/platform-bsd.c']
-    bld.objects(target = "objs06",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['INET', 'INET6', 'MASTER_ONLY', 'THERE_IS_NO_FORK', '__FreeBSD__'],
-                source = objs06_source)
-    libbsd_use += ["objs06"]
-
-    objs07_source = ['freebsd/contrib/libpcap/bpf_image.c',
-                     'freebsd/contrib/libpcap/etherent.c',
-                     'freebsd/contrib/libpcap/fad-getad.c',
-                     'freebsd/contrib/libpcap/fad-helpers.c',
-                     'freebsd/contrib/libpcap/gencode.c',
-                     'freebsd/contrib/libpcap/inet.c',
-                     'freebsd/contrib/libpcap/nametoaddr.c',
-                     'freebsd/contrib/libpcap/optimize.c',
-                     'freebsd/contrib/libpcap/pcap-bpf.c',
-                     'freebsd/contrib/libpcap/pcap-common.c',
-                     'freebsd/contrib/libpcap/pcap.c',
-                     'freebsd/contrib/libpcap/savefile.c',
-                     'freebsd/contrib/libpcap/sf-pcap-ng.c',
-                     'freebsd/contrib/libpcap/sf-pcap.c']
-    bld.objects(target = "objs07",
-                features = "c",
-                cflags = cflags,
-                includes = [] + includes,
-                defines = defines + ['BSD=1', 'HAVE_INTTYPES=1', 'HAVE_LIMITS_H=1', 'HAVE_NET_IF_MEDIA_H=1', 'HAVE_SNPRINTF=1', 'HAVE_SOCKADDR_SA_LEN=1', 'HAVE_STDINT=1', 'HAVE_STRERROR=1', 'HAVE_STRLCPY=1', 'HAVE_SYS_IOCCOM_H=1', 'HAVE_VSNPRINTF=1', 'INET6', '_U_=__attribute__((unused))', '__FreeBSD__=1'],
-                source = objs07_source)
-    libbsd_use += ["objs07"]
-
-    objs08_source = ['freebsd/contrib/wpa/src/ap/ap_drv_ops.c',
-                     'freebsd/contrib/wpa/src/ap/hs20.c',
-                     'freebsd/contrib/wpa/src/ap/ieee802_11_shared.c',
-                     'freebsd/contrib/wpa/src/ap/wpa_auth.c',
-                     'freebsd/contrib/wpa/src/ap/wpa_auth_ft.c',
-                     'freebsd/contrib/wpa/src/common/gas.c',
-                     'freebsd/contrib/wpa/src/common/hw_features_common.c',
-                     'freebsd/contrib/wpa/src/common/ieee802_11_common.c',
-                     'freebsd/contrib/wpa/src/common/wpa_common.c',
-                     'freebsd/contrib/wpa/src/crypto/aes-ctr.c',
-                     'freebsd/contrib/wpa/src/crypto/aes-eax.c',
-                     'freebsd/contrib/wpa/src/crypto/aes-encblock.c',
-                     'freebsd/contrib/wpa/src/crypto/aes-omac1.c',
-                     'freebsd/contrib/wpa/src/crypto/aes-unwrap.c',
-                     'freebsd/contrib/wpa/src/crypto/crypto_openssl.c',
-                     'freebsd/contrib/wpa/src/crypto/ms_funcs.c',
-                     'freebsd/contrib/wpa/src/crypto/random.c',
-                     'freebsd/contrib/wpa/src/crypto/rc4.c',
-                     'freebsd/contrib/wpa/src/crypto/sha1-pbkdf2.c',
-                     'freebsd/contrib/wpa/src/crypto/sha1-prf.c',
-                     'freebsd/contrib/wpa/src/crypto/sha1.c',
-                     'freebsd/contrib/wpa/src/crypto/sha256-internal.c',
-                     'freebsd/contrib/wpa/src/crypto/sha256-prf.c',
-                     'freebsd/contrib/wpa/src/crypto/tls_internal.c',
-                     'freebsd/contrib/wpa/src/drivers/driver_bsd.c',
-                     'freebsd/contrib/wpa/src/drivers/driver_common.c',
-                     'freebsd/contrib/wpa/src/drivers/driver_ndis.c',
-                     'freebsd/contrib/wpa/src/drivers/driver_wired.c',
-                     'freebsd/contrib/wpa/src/drivers/drivers.c',
-                     'freebsd/contrib/wpa/src/eap_common/chap.c',
-                     'freebsd/contrib/wpa/src/eap_common/eap_common.c',
-                     'freebsd/contrib/wpa/src/eap_common/eap_peap_common.c',
-                     'freebsd/contrib/wpa/src/eap_common/eap_psk_common.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_gtc.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_leap.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_md5.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_methods.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_mschapv2.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_otp.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_peap.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_psk.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_tls.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_tls_common.c',
-                     'freebsd/contrib/wpa/src/eap_peer/eap_ttls.c',
-                     'freebsd/contrib/wpa/src/eap_peer/mschapv2.c',
-                     'freebsd/contrib/wpa/src/eapol_supp/eapol_supp_sm.c',
-                     'freebsd/contrib/wpa/src/l2_packet/l2_packet_freebsd.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/peerkey.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/pmksa_cache.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/preauth.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/tdls.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/wpa.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/wpa_ft.c',
-                     'freebsd/contrib/wpa/src/rsn_supp/wpa_ie.c',
-                     'freebsd/contrib/wpa/src/utils/base64.c',
-                     'freebsd/contrib/wpa/src/utils/common.c',
-                     'freebsd/contrib/wpa/src/utils/eloop.c',
-                     'freebsd/contrib/wpa/src/utils/os_unix.c',
-                     'freebsd/contrib/wpa/src/utils/uuid.c',
-                     'freebsd/contrib/wpa/src/utils/wpa_debug.c',
-                     'freebsd/contrib/wpa/src/utils/wpabuf.c',
-                     'freebsd/contrib/wpa/src/wps/http_client.c',
-                     'freebsd/contrib/wpa/src/wps/http_server.c',
-                     'freebsd/contrib/wpa/src/wps/httpread.c',
-                     'freebsd/contrib/wpa/src/wps/upnp_xml.c',
-                     'freebsd/contrib/wpa/src/wps/wps.c',
-                     'freebsd/contrib/wpa/src/wps/wps_attr_build.c',
-                     'freebsd/contrib/wpa/src/wps/wps_attr_parse.c',
-                     'freebsd/contrib/wpa/src/wps/wps_attr_process.c',
-                     'freebsd/contrib/wpa/src/wps/wps_common.c',
-                     'freebsd/contrib/wpa/src/wps/wps_dev_attr.c',
-                     'freebsd/contrib/wpa/src/wps/wps_enrollee.c',
-                     'freebsd/contrib/wpa/src/wps/wps_registrar.c',
-                     'freebsd/contrib/wpa/src/wps/wps_upnp.c',
-                     'freebsd/contrib/wpa/src/wps/wps_upnp_ap.c',
-                     'freebsd/contrib/wpa/src/wps/wps_upnp_event.c',
-                     'freebsd/contrib/wpa/src/wps/wps_upnp_ssdp.c',
-                     'freebsd/contrib/wpa/src/wps/wps_upnp_web.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/blacklist.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/bss.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/config.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/config_file.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/ctrl_iface.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/eap_register.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/events.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/gas_query.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/hs20_supplicant.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/interworking.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/main.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/notify.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/offchannel.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/scan.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/wmm_ac.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/wnm_sta.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/wpa_supplicant.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/wpas_glue.c',
-                     'freebsd/contrib/wpa/wpa_supplicant/wps_supplicant.c',
-                     'freebsd/usr.sbin/wpa/wpa_supplicant/Packet32.c']
-    bld.objects(target = "objs08",
-                features = "c",
-                cflags = cflags,
-                includes = ['freebsd/contrib/wpa/src', 'freebsd/contrib/wpa/src/eap_peer', 'freebsd/contrib/wpa/src/utils', 'freebsd/crypto/openssl/crypto', 'freebsd/usr.sbin/wpa/wpa_supplicant'] + includes,
-                defines = defines + ['CONFIG_BACKEND_FILE=1', 'CONFIG_CTRL_IFACE=1', 'CONFIG_CTRL_IFACE_UNIX=1', 'CONFIG_DEBUG_SYSLOG=1', 'CONFIG_DRIVER_BSD=1', 'CONFIG_DRIVER_NDIS=1', 'CONFIG_DRIVER_WIRED=1', 'CONFIG_GAS=1', 'CONFIG_HS20=1', 'CONFIG_IEEE80211R=1', 'CONFIG_INTERWORKING=1', 'CONFIG_PEERKEY=1', 'CONFIG_PRIVSEP=1', 'CONFIG_SHA256=1', 'CONFIG_SMARTCARD=1', 'CONFIG_TERMINATE_ONLASTIF=1', 'CONFIG_TLS=openssl', 'CONFIG_WPS2=1', 'CONFIG_WPS=1', 'CONFIG_WPS_UPNP=1', 'EAP_GTC=1', 'EAP_LEAP=1', 'EAP_MD5=1', 'EAP_MSCHAPv2=1', 'EAP_OTP=1', 'EAP_PEAP=1', 'EAP_PSK=1', 'EAP_TLS=1', 'EAP_TTLS=1', 'IEEE8021X_EAPOL=1', 'PKCS12_FUNCS=1', '__FreeBSD__=1'],
-                source = objs08_source)
-    libbsd_use += ["objs08"]
-
-    objs09_source = ['freebsd/contrib/tcpdump/addrtoname.c',
-                     'freebsd/contrib/tcpdump/addrtostr.c',
-                     'freebsd/contrib/tcpdump/af.c',
-                     'freebsd/contrib/tcpdump/ascii_strcasecmp.c',
-                     'freebsd/contrib/tcpdump/bpf_dump.c',
-                     'freebsd/contrib/tcpdump/checksum.c',
-                     'freebsd/contrib/tcpdump/cpack.c',
-                     'freebsd/contrib/tcpdump/gmpls.c',
-                     'freebsd/contrib/tcpdump/gmt2local.c',
-                     'freebsd/contrib/tcpdump/in_cksum.c',
-                     'freebsd/contrib/tcpdump/ipproto.c',
-                     'freebsd/contrib/tcpdump/l2vpn.c',
-                     'freebsd/contrib/tcpdump/machdep.c',
-                     'freebsd/contrib/tcpdump/netdissect.c',
-                     'freebsd/contrib/tcpdump/nlpid.c',
-                     'freebsd/contrib/tcpdump/oui.c',
-                     'freebsd/contrib/tcpdump/parsenfsfh.c',
-                     'freebsd/contrib/tcpdump/print-802_11.c',
-                     'freebsd/contrib/tcpdump/print-802_15_4.c',
-                     'freebsd/contrib/tcpdump/print-ah.c',
-                     'freebsd/contrib/tcpdump/print-ahcp.c',
-                     'freebsd/contrib/tcpdump/print-aodv.c',
-                     'freebsd/contrib/tcpdump/print-aoe.c',
-                     'freebsd/contrib/tcpdump/print-ap1394.c',
-                     'freebsd/contrib/tcpdump/print-arcnet.c',
-                     'freebsd/contrib/tcpdump/print-arp.c',
-                     'freebsd/contrib/tcpdump/print-ascii.c',
-                     'freebsd/contrib/tcpdump/print-atalk.c',
-                     'freebsd/contrib/tcpdump/print-atm.c',
-                     'freebsd/contrib/tcpdump/print-babel.c',
-                     'freebsd/contrib/tcpdump/print-beep.c',
-                     'freebsd/contrib/tcpdump/print-bfd.c',
-                     'freebsd/contrib/tcpdump/print-bgp.c',
-                     'freebsd/contrib/tcpdump/print-bootp.c',
-                     'freebsd/contrib/tcpdump/print-bt.c',
-                     'freebsd/contrib/tcpdump/print-calm-fast.c',
-                     'freebsd/contrib/tcpdump/print-carp.c',
-                     'freebsd/contrib/tcpdump/print-cdp.c',
-                     'freebsd/contrib/tcpdump/print-cfm.c',
-                     'freebsd/contrib/tcpdump/print-chdlc.c',
-                     'freebsd/contrib/tcpdump/print-cip.c',
-                     'freebsd/contrib/tcpdump/print-cnfp.c',
-                     'freebsd/contrib/tcpdump/print-dccp.c',
-                     'freebsd/contrib/tcpdump/print-decnet.c',
-                     'freebsd/contrib/tcpdump/print-dhcp6.c',
-                     'freebsd/contrib/tcpdump/print-domain.c',
-                     'freebsd/contrib/tcpdump/print-dtp.c',
-                     'freebsd/contrib/tcpdump/print-dvmrp.c',
-                     'freebsd/contrib/tcpdump/print-eap.c',
-                     'freebsd/contrib/tcpdump/print-egp.c',
-                     'freebsd/contrib/tcpdump/print-eigrp.c',
-                     'freebsd/contrib/tcpdump/print-enc.c',
-                     'freebsd/contrib/tcpdump/print-esp.c',
-                     'freebsd/contrib/tcpdump/print-ether.c',
-                     'freebsd/contrib/tcpdump/print-fddi.c',
-                     'freebsd/contrib/tcpdump/print-forces.c',
-                     'freebsd/contrib/tcpdump/print-fr.c',
-                     'freebsd/contrib/tcpdump/print-frag6.c',
-                     'freebsd/contrib/tcpdump/print-ftp.c',
-                     'freebsd/contrib/tcpdump/print-geneve.c',
-                     'freebsd/contrib/tcpdump/print-geonet.c',
-                     'freebsd/contrib/tcpdump/print-gre.c',
-                     'freebsd/contrib/tcpdump/print-hncp.c',
-                     'freebsd/contrib/tcpdump/print-hsrp.c',
-                     'freebsd/contrib/tcpdump/print-http.c',
-                     'freebsd/contrib/tcpdump/print-icmp.c',
-                     'freebsd/contrib/tcpdump/print-icmp6.c',
-                     'freebsd/contrib/tcpdump/print-igmp.c',
-                     'freebsd/contrib/tcpdump/print-igrp.c',
-                     'freebsd/contrib/tcpdump/print-ip.c',
-                     'freebsd/contrib/tcpdump/print-ip6.c',
-                     'freebsd/contrib/tcpdump/print-ip6opts.c',
-                     'freebsd/contrib/tcpdump/print-ipcomp.c',
-                     'freebsd/contrib/tcpdump/print-ipfc.c',
-                     'freebsd/contrib/tcpdump/print-ipnet.c',
-                     'freebsd/contrib/tcpdump/print-ipx.c',
-                     'freebsd/contrib/tcpdump/print-isakmp.c',
-                     'freebsd/contrib/tcpdump/print-isoclns.c',
-                     'freebsd/contrib/tcpdump/print-juniper.c',
-                     'freebsd/contrib/tcpdump/print-krb.c',
-                     'freebsd/contrib/tcpdump/print-l2tp.c',
-                     'freebsd/contrib/tcpdump/print-lane.c',
-                     'freebsd/contrib/tcpdump/print-ldp.c',
-                     'freebsd/contrib/tcpdump/print-lisp.c',
-                     'freebsd/contrib/tcpdump/print-llc.c',
-                     'freebsd/contrib/tcpdump/print-lldp.c',
-                     'freebsd/contrib/tcpdump/print-lmp.c',
-                     'freebsd/contrib/tcpdump/print-loopback.c',
-                     'freebsd/contrib/tcpdump/print-lspping.c',
-                     'freebsd/contrib/tcpdump/print-lwapp.c',
-                     'freebsd/contrib/tcpdump/print-lwres.c',
-                     'freebsd/contrib/tcpdump/print-m3ua.c',
-                     'freebsd/contrib/tcpdump/print-medsa.c',
-                     'freebsd/contrib/tcpdump/print-mobile.c',
-                     'freebsd/contrib/tcpdump/print-mobility.c',
-                     'freebsd/contrib/tcpdump/print-mpcp.c',
-                     'freebsd/contrib/tcpdump/print-mpls.c',
-                     'freebsd/contrib/tcpdump/print-mptcp.c',
-                     'freebsd/contrib/tcpdump/print-msdp.c',
-                     'freebsd/contrib/tcpdump/print-msnlb.c',
-                     'freebsd/contrib/tcpdump/print-nfs.c',
-                     'freebsd/contrib/tcpdump/print-nsh.c',
-                     'freebsd/contrib/tcpdump/print-ntp.c',
-                     'freebsd/contrib/tcpdump/print-null.c',
-                     'freebsd/contrib/tcpdump/print-olsr.c',
-                     'freebsd/contrib/tcpdump/print-openflow-1.0.c',
-                     'freebsd/contrib/tcpdump/print-openflow.c',
-                     'freebsd/contrib/tcpdump/print-ospf.c',
-                     'freebsd/contrib/tcpdump/print-ospf6.c',
-                     'freebsd/contrib/tcpdump/print-otv.c',
-                     'freebsd/contrib/tcpdump/print-pflog.c',
-                     'freebsd/contrib/tcpdump/print-pfsync.c',
-                     'freebsd/contrib/tcpdump/print-pgm.c',
-                     'freebsd/contrib/tcpdump/print-pim.c',
-                     'freebsd/contrib/tcpdump/print-pktap.c',
-                     'freebsd/contrib/tcpdump/print-ppi.c',
-                     'freebsd/contrib/tcpdump/print-ppp.c',
-                     'freebsd/contrib/tcpdump/print-pppoe.c',
-                     'freebsd/contrib/tcpdump/print-pptp.c',
-                     'freebsd/contrib/tcpdump/print-radius.c',
-                     'freebsd/contrib/tcpdump/print-raw.c',
-                     'freebsd/contrib/tcpdump/print-resp.c',
-                     'freebsd/contrib/tcpdump/print-rip.c',
-                     'freebsd/contrib/tcpdump/print-ripng.c',
-                     'freebsd/contrib/tcpdump/print-rpki-rtr.c',
-                     'freebsd/contrib/tcpdump/print-rrcp.c',
-                     'freebsd/contrib/tcpdump/print-rsvp.c',
-                     'freebsd/contrib/tcpdump/print-rt6.c',
-                     'freebsd/contrib/tcpdump/print-rtsp.c',
-                     'freebsd/contrib/tcpdump/print-rx.c',
-                     'freebsd/contrib/tcpdump/print-sctp.c',
-                     'freebsd/contrib/tcpdump/print-sflow.c',
-                     'freebsd/contrib/tcpdump/print-sip.c',
-                     'freebsd/contrib/tcpdump/print-sl.c',
-                     'freebsd/contrib/tcpdump/print-sll.c',
-                     'freebsd/contrib/tcpdump/print-slow.c',
-                     'freebsd/contrib/tcpdump/print-smb.c',
-                     'freebsd/contrib/tcpdump/print-smtp.c',
-                     'freebsd/contrib/tcpdump/print-snmp.c',
-                     'freebsd/contrib/tcpdump/print-stp.c',
-                     'freebsd/contrib/tcpdump/print-sunatm.c',
-                     'freebsd/contrib/tcpdump/print-symantec.c',
-                     'freebsd/contrib/tcpdump/print-syslog.c',
-                     'freebsd/contrib/tcpdump/print-tcp.c',
-                     'freebsd/contrib/tcpdump/print-telnet.c',
-                     'freebsd/contrib/tcpdump/print-tftp.c',
-                     'freebsd/contrib/tcpdump/print-timed.c',
-                     'freebsd/contrib/tcpdump/print-tipc.c',
-                     'freebsd/contrib/tcpdump/print-token.c',
-                     'freebsd/contrib/tcpdump/print-udld.c',
-                     'freebsd/contrib/tcpdump/print-udp.c',
-                     'freebsd/contrib/tcpdump/print-usb.c',
-                     'freebsd/contrib/tcpdump/print-vjc.c',
-                     'freebsd/contrib/tcpdump/print-vqp.c',
-                     'freebsd/contrib/tcpdump/print-vrrp.c',
-                     'freebsd/contrib/tcpdump/print-vtp.c',
-                     'freebsd/contrib/tcpdump/print-vxlan-gpe.c',
-                     'freebsd/contrib/tcpdump/print-vxlan.c',
-                     'freebsd/contrib/tcpdump/print-wb.c',
-                     'freebsd/contrib/tcpdump/print-zephyr.c',
-                     'freebsd/contrib/tcpdump/print-zeromq.c',
-                     'freebsd/contrib/tcpdump/print.c',
-                     'freebsd/contrib/tcpdump/setsignal.c',
-                     'freebsd/contrib/tcpdump/signature.c',
-                     'freebsd/contrib/tcpdump/smbutil.c',
-                     'freebsd/contrib/tcpdump/tcpdump.c',
-                     'freebsd/contrib/tcpdump/util-print.c']
-    bld.objects(target = "objs09",
-                features = "c",
-                cflags = cflags,
-                includes = ['freebsd/contrib/tcpdump', 'freebsd/usr.sbin/tcpdump/tcpdump'] + includes,
-                defines = defines + ['HAVE_CONFIG_H=1', 'HAVE_NET_PFVAR_H=1', 'INET6', '_U_=__attribute__((unused))', '__FreeBSD__=1'],
-                source = objs09_source)
-    libbsd_use += ["objs09"]
-
-    source = ['freebsd/sys/arm/at91/at91_mci.c',
-              'freebsd/sys/arm/lpc/if_lpe.c',
-              'freebsd/sys/arm/lpc/lpc_pwr.c',
-              'freebsd/sys/arm/ti/am335x/am335x_musb.c',
-              'freebsd/sys/arm/ti/am335x/am335x_prcm.c',
-              'freebsd/sys/arm/ti/am335x/am335x_usbss.c',
-              'freebsd/sys/arm/ti/ti_hwmods.c',
-              'freebsd/sys/arm/ti/ti_prcm.c',
-              'freebsd/sys/arm/ti/ti_scm.c',
-              'freebsd/sys/arm/ti/ti_sdhci.c',
-              'freebsd/sys/arm/xilinx/zy7_slcr.c',
-              'freebsd/sys/cam/cam.c',
-              'freebsd/sys/cam/scsi/scsi_all.c',
-              'freebsd/sys/crypto/blowfish/bf_ecb.c',
-              'freebsd/sys/crypto/blowfish/bf_enc.c',
-              'freebsd/sys/crypto/blowfish/bf_skey.c',
-              'freebsd/sys/crypto/camellia/camellia-api.c',
-              'freebsd/sys/crypto/camellia/camellia.c',
-              'freebsd/sys/crypto/des/des_ecb.c',
-              'freebsd/sys/crypto/des/des_enc.c',
-              'freebsd/sys/crypto/des/des_setkey.c',
-              'freebsd/sys/crypto/rc4/rc4.c',
-              'freebsd/sys/crypto/rijndael/rijndael-alg-fst.c',
-              'freebsd/sys/crypto/rijndael/rijndael-api-fst.c',
-              'freebsd/sys/crypto/rijndael/rijndael-api.c',
-              'freebsd/sys/crypto/sha1.c',
-              'freebsd/sys/crypto/sha2/sha256c.c',
-              'freebsd/sys/crypto/sha2/sha512c.c',
-              'freebsd/sys/crypto/siphash/siphash.c',
-              'freebsd/sys/crypto/skein/skein.c',
-              'freebsd/sys/crypto/skein/skein_block.c',
-              'freebsd/sys/dev/bce/if_bce.c',
-              'freebsd/sys/dev/bfe/if_bfe.c',
-              'freebsd/sys/dev/bge/if_bge.c',
-              'freebsd/sys/dev/cadence/if_cgem.c',
-              'freebsd/sys/dev/dc/dcphy.c',
-              'freebsd/sys/dev/dc/if_dc.c',
-              'freebsd/sys/dev/dc/pnphy.c',
-              'freebsd/sys/dev/dwc/if_dwc.c',
-              'freebsd/sys/dev/e1000/e1000_80003es2lan.c',
-              'freebsd/sys/dev/e1000/e1000_82540.c',
-              'freebsd/sys/dev/e1000/e1000_82541.c',
-              'freebsd/sys/dev/e1000/e1000_82542.c',
-              'freebsd/sys/dev/e1000/e1000_82543.c',
-              'freebsd/sys/dev/e1000/e1000_82571.c',
-              'freebsd/sys/dev/e1000/e1000_82575.c',
-              'freebsd/sys/dev/e1000/e1000_api.c',
-              'freebsd/sys/dev/e1000/e1000_i210.c',
-              'freebsd/sys/dev/e1000/e1000_ich8lan.c',
-              'freebsd/sys/dev/e1000/e1000_mac.c',
-              'freebsd/sys/dev/e1000/e1000_manage.c',
-              'freebsd/sys/dev/e1000/e1000_mbx.c',
-              'freebsd/sys/dev/e1000/e1000_nvm.c',
-              'freebsd/sys/dev/e1000/e1000_osdep.c',
-              'freebsd/sys/dev/e1000/e1000_phy.c',
-              'freebsd/sys/dev/e1000/e1000_vf.c',
-              'freebsd/sys/dev/e1000/em_txrx.c',
-              'freebsd/sys/dev/e1000/if_em.c',
-              'freebsd/sys/dev/e1000/igb_txrx.c',
-              'freebsd/sys/dev/evdev/cdev.c',
-              'freebsd/sys/dev/evdev/evdev.c',
-              'freebsd/sys/dev/evdev/evdev_mt.c',
-              'freebsd/sys/dev/evdev/evdev_utils.c',
-              'freebsd/sys/dev/evdev/uinput.c',
-              'freebsd/sys/dev/fdt/fdt_common.c',
-              'freebsd/sys/dev/fdt/simplebus.c',
-              'freebsd/sys/dev/ffec/if_ffec.c',
-              'freebsd/sys/dev/fxp/if_fxp.c',
-              'freebsd/sys/dev/gpio/gpiobus.c',
-              'freebsd/sys/dev/gpio/ofw_gpiobus.c',
-              'freebsd/sys/dev/kbd/kbd.c',
-              'freebsd/sys/dev/led/led.c',
-              'freebsd/sys/dev/mii/brgphy.c',
-              'freebsd/sys/dev/mii/e1000phy.c',
-              'freebsd/sys/dev/mii/icsphy.c',
-              'freebsd/sys/dev/mii/micphy.c',
-              'freebsd/sys/dev/mii/mii.c',
-              'freebsd/sys/dev/mii/mii_bitbang.c',
-              'freebsd/sys/dev/mii/mii_physubr.c',
-              'freebsd/sys/dev/mii/rgephy.c',
-              'freebsd/sys/dev/mii/ukphy.c',
-              'freebsd/sys/dev/mii/ukphy_subr.c',
-              'freebsd/sys/dev/mmc/mmc.c',
-              'freebsd/sys/dev/mmc/mmc_subr.c',
-              'freebsd/sys/dev/mmc/mmcsd.c',
-              'freebsd/sys/dev/ofw/ofw_bus_subr.c',
-              'freebsd/sys/dev/ofw/ofw_fdt.c',
-              'freebsd/sys/dev/ofw/ofw_subr.c',
-              'freebsd/sys/dev/ofw/ofwbus.c',
-              'freebsd/sys/dev/ofw/openfirm.c',
-              'freebsd/sys/dev/pci/pci.c',
-              'freebsd/sys/dev/pci/pci_pci.c',
-              'freebsd/sys/dev/pci/pci_user.c',
-              'freebsd/sys/dev/re/if_re.c',
-              'freebsd/sys/dev/rtwn/if_rtwn.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_beacon.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_calib.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_cam.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_efuse.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_fw.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_rx.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_task.c',
-              'freebsd/sys/dev/rtwn/if_rtwn_tx.c',
-              'freebsd/sys/dev/rtwn/pci/rtwn_pci_attach.c',
-              'freebsd/sys/dev/rtwn/pci/rtwn_pci_reg.c',
-              'freebsd/sys/dev/rtwn/pci/rtwn_pci_rx.c',
-              'freebsd/sys/dev/rtwn/pci/rtwn_pci_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_beacon.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_calib.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_chan.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_fw.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_init.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_led.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_rf.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_rom.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/r88e_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/usb/r88eu_init.c',
-              'freebsd/sys/dev/rtwn/rtl8188e/usb/r88eu_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_calib.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_fw.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_init.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_led.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/pci/r92ce_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_beacon.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_calib.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_chan.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_fw.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_init.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_llt.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_rf.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_rom.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/r92c_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_init.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_led.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8192c/usb/r92cu_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_chan.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_fw.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_init.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_led.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_rf.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_rom.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/r92e_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/usb/r92eu_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8192e/usb/r92eu_init.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_beacon.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_calib.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_caps.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_chan.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_fw.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_init.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_led.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_rf.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_rom.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/r12a_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_init.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8812a/usb/r12au_tx.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_beacon.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_calib.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_chan.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_fw.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_init.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_led.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_rom.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/r21a_rx.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c',
-              'freebsd/sys/dev/rtwn/rtl8821a/usb/r21au_init.c',
-              'freebsd/sys/dev/rtwn/usb/rtwn_usb_attach.c',
-              'freebsd/sys/dev/rtwn/usb/rtwn_usb_ep.c',
-              'freebsd/sys/dev/rtwn/usb/rtwn_usb_reg.c',
-              'freebsd/sys/dev/rtwn/usb/rtwn_usb_rx.c',
-              'freebsd/sys/dev/rtwn/usb/rtwn_usb_tx.c',
-              'freebsd/sys/dev/sdhci/sdhci.c',
-              'freebsd/sys/dev/sdhci/sdhci_fdt_gpio.c',
-              'freebsd/sys/dev/smc/if_smc.c',
-              'freebsd/sys/dev/tsec/if_tsec.c',
-              'freebsd/sys/dev/tsec/if_tsec_fdt.c',
-              'freebsd/sys/dev/usb/controller/dwc_otg.c',
-              'freebsd/sys/dev/usb/controller/dwc_otg_fdt.c',
-              'freebsd/sys/dev/usb/controller/ehci.c',
-              'freebsd/sys/dev/usb/controller/musb_otg.c',
-              'freebsd/sys/dev/usb/controller/ohci.c',
-              'freebsd/sys/dev/usb/controller/saf1761_otg.c',
-              'freebsd/sys/dev/usb/controller/saf1761_otg_fdt.c',
-              'freebsd/sys/dev/usb/controller/usb_controller.c',
-              'freebsd/sys/dev/usb/input/atp.c',
-              'freebsd/sys/dev/usb/input/uep.c',
-              'freebsd/sys/dev/usb/input/uhid.c',
-              'freebsd/sys/dev/usb/input/ukbd.c',
-              'freebsd/sys/dev/usb/input/ums.c',
-              'freebsd/sys/dev/usb/input/wsp.c',
-              'freebsd/sys/dev/usb/net/if_aue.c',
-              'freebsd/sys/dev/usb/net/if_axe.c',
-              'freebsd/sys/dev/usb/net/if_axge.c',
-              'freebsd/sys/dev/usb/net/if_cdce.c',
-              'freebsd/sys/dev/usb/net/if_cue.c',
-              'freebsd/sys/dev/usb/net/if_ipheth.c',
-              'freebsd/sys/dev/usb/net/if_kue.c',
-              'freebsd/sys/dev/usb/net/if_mos.c',
-              'freebsd/sys/dev/usb/net/if_rue.c',
-              'freebsd/sys/dev/usb/net/if_smsc.c',
-              'freebsd/sys/dev/usb/net/if_udav.c',
-              'freebsd/sys/dev/usb/net/if_ure.c',
-              'freebsd/sys/dev/usb/net/ruephy.c',
-              'freebsd/sys/dev/usb/net/usb_ethernet.c',
-              'freebsd/sys/dev/usb/quirk/usb_quirk.c',
-              'freebsd/sys/dev/usb/serial/u3g.c',
-              'freebsd/sys/dev/usb/serial/uark.c',
-              'freebsd/sys/dev/usb/serial/ubsa.c',
-              'freebsd/sys/dev/usb/serial/ubser.c',
-              'freebsd/sys/dev/usb/serial/uchcom.c',
-              'freebsd/sys/dev/usb/serial/ucycom.c',
-              'freebsd/sys/dev/usb/serial/ufoma.c',
-              'freebsd/sys/dev/usb/serial/uftdi.c',
-              'freebsd/sys/dev/usb/serial/ugensa.c',
-              'freebsd/sys/dev/usb/serial/uipaq.c',
-              'freebsd/sys/dev/usb/serial/ulpt.c',
-              'freebsd/sys/dev/usb/serial/umcs.c',
-              'freebsd/sys/dev/usb/serial/umct.c',
-              'freebsd/sys/dev/usb/serial/umodem.c',
-              'freebsd/sys/dev/usb/serial/umoscom.c',
-              'freebsd/sys/dev/usb/serial/uplcom.c',
-              'freebsd/sys/dev/usb/serial/usb_serial.c',
-              'freebsd/sys/dev/usb/serial/uslcom.c',
-              'freebsd/sys/dev/usb/serial/uvisor.c',
-              'freebsd/sys/dev/usb/serial/uvscom.c',
-              'freebsd/sys/dev/usb/storage/umass.c',
-              'freebsd/sys/dev/usb/usb_busdma.c',
-              'freebsd/sys/dev/usb/usb_core.c',
-              'freebsd/sys/dev/usb/usb_debug.c',
-              'freebsd/sys/dev/usb/usb_dev.c',
-              'freebsd/sys/dev/usb/usb_device.c',
-              'freebsd/sys/dev/usb/usb_dynamic.c',
-              'freebsd/sys/dev/usb/usb_error.c',
-              'freebsd/sys/dev/usb/usb_generic.c',
-              'freebsd/sys/dev/usb/usb_handle_request.c',
-              'freebsd/sys/dev/usb/usb_hid.c',
-              'freebsd/sys/dev/usb/usb_hub.c',
-              'freebsd/sys/dev/usb/usb_lookup.c',
-              'freebsd/sys/dev/usb/usb_mbuf.c',
-              'freebsd/sys/dev/usb/usb_msctest.c',
-              'freebsd/sys/dev/usb/usb_parse.c',
-              'freebsd/sys/dev/usb/usb_process.c',
-              'freebsd/sys/dev/usb/usb_request.c',
-              'freebsd/sys/dev/usb/usb_transfer.c',
-              'freebsd/sys/dev/usb/usb_util.c',
-              'freebsd/sys/dev/usb/wlan/if_rsu.c',
-              'freebsd/sys/dev/usb/wlan/if_rum.c',
-              'freebsd/sys/dev/usb/wlan/if_run.c',
-              'freebsd/sys/dev/usb/wlan/if_uath.c',
-              'freebsd/sys/dev/usb/wlan/if_upgt.c',
-              'freebsd/sys/dev/usb/wlan/if_ural.c',
-              'freebsd/sys/dev/usb/wlan/if_urtw.c',
-              'freebsd/sys/dev/usb/wlan/if_zyd.c',
-              'freebsd/sys/fs/devfs/devfs_vnops.c',
-              'freebsd/sys/kern/init_main.c',
-              'freebsd/sys/kern/kern_condvar.c',
-              'freebsd/sys/kern/kern_conf.c',
-              'freebsd/sys/kern/kern_event.c',
-              'freebsd/sys/kern/kern_hhook.c',
-              'freebsd/sys/kern/kern_intr.c',
-              'freebsd/sys/kern/kern_khelp.c',
-              'freebsd/sys/kern/kern_linker.c',
-              'freebsd/sys/kern/kern_mbuf.c',
-              'freebsd/sys/kern/kern_mib.c',
-              'freebsd/sys/kern/kern_module.c',
-              'freebsd/sys/kern/kern_mtxpool.c',
-              'freebsd/sys/kern/kern_osd.c',
-              'freebsd/sys/kern/kern_synch.c',
-              'freebsd/sys/kern/kern_sysctl.c',
-              'freebsd/sys/kern/kern_time.c',
-              'freebsd/sys/kern/kern_timeout.c',
-              'freebsd/sys/kern/kern_uuid.c',
-              'freebsd/sys/kern/subr_blist.c',
-              'freebsd/sys/kern/subr_bufring.c',
-              'freebsd/sys/kern/subr_bus.c',
-              'freebsd/sys/kern/subr_counter.c',
-              'freebsd/sys/kern/subr_eventhandler.c',
-              'freebsd/sys/kern/subr_firmware.c',
-              'freebsd/sys/kern/subr_hash.c',
-              'freebsd/sys/kern/subr_hints.c',
-              'freebsd/sys/kern/subr_kobj.c',
-              'freebsd/sys/kern/subr_lock.c',
-              'freebsd/sys/kern/subr_module.c',
-              'freebsd/sys/kern/subr_pcpu.c',
-              'freebsd/sys/kern/subr_prf.c',
-              'freebsd/sys/kern/subr_rman.c',
-              'freebsd/sys/kern/subr_sbuf.c',
-              'freebsd/sys/kern/subr_sleepqueue.c',
-              'freebsd/sys/kern/subr_taskqueue.c',
-              'freebsd/sys/kern/subr_uio.c',
-              'freebsd/sys/kern/subr_unit.c',
-              'freebsd/sys/kern/sys_generic.c',
-              'freebsd/sys/kern/sys_pipe.c',
-              'freebsd/sys/kern/sys_socket.c',
-              'freebsd/sys/kern/tty.c',
-              'freebsd/sys/kern/tty_inq.c',
-              'freebsd/sys/kern/tty_outq.c',
-              'freebsd/sys/kern/tty_ttydisc.c',
-              'freebsd/sys/kern/uipc_accf.c',
-              'freebsd/sys/kern/uipc_domain.c',
-              'freebsd/sys/kern/uipc_mbuf.c',
-              'freebsd/sys/kern/uipc_mbuf2.c',
-              'freebsd/sys/kern/uipc_mbufhash.c',
-              'freebsd/sys/kern/uipc_sockbuf.c',
-              'freebsd/sys/kern/uipc_socket.c',
-              'freebsd/sys/kern/uipc_syscalls.c',
-              'freebsd/sys/kern/uipc_usrreq.c',
-              'freebsd/sys/libkern/bcd.c',
-              'freebsd/sys/libkern/crc32.c',
-              'freebsd/sys/libkern/inet_ntoa.c',
-              'freebsd/sys/libkern/jenkins_hash.c',
-              'freebsd/sys/libkern/murmur3_32.c',
-              'freebsd/sys/libkern/random.c',
-              'freebsd/sys/net/altq/altq_cbq.c',
-              'freebsd/sys/net/altq/altq_cdnr.c',
-              'freebsd/sys/net/altq/altq_codel.c',
-              'freebsd/sys/net/altq/altq_fairq.c',
-              'freebsd/sys/net/altq/altq_hfsc.c',
-              'freebsd/sys/net/altq/altq_priq.c',
-              'freebsd/sys/net/altq/altq_red.c',
-              'freebsd/sys/net/altq/altq_rio.c',
-              'freebsd/sys/net/altq/altq_rmclass.c',
-              'freebsd/sys/net/altq/altq_subr.c',
-              'freebsd/sys/net/bpf.c',
-              'freebsd/sys/net/bpf_buffer.c',
-              'freebsd/sys/net/bpf_filter.c',
-              'freebsd/sys/net/bpf_jitter.c',
-              'freebsd/sys/net/bridgestp.c',
-              'freebsd/sys/net/ieee8023ad_lacp.c',
-              'freebsd/sys/net/if.c',
-              'freebsd/sys/net/if_arcsubr.c',
-              'freebsd/sys/net/if_atmsubr.c',
-              'freebsd/sys/net/if_bridge.c',
-              'freebsd/sys/net/if_clone.c',
-              'freebsd/sys/net/if_dead.c',
-              'freebsd/sys/net/if_disc.c',
-              'freebsd/sys/net/if_edsc.c',
-              'freebsd/sys/net/if_enc.c',
-              'freebsd/sys/net/if_epair.c',
-              'freebsd/sys/net/if_ethersubr.c',
-              'freebsd/sys/net/if_fddisubr.c',
-              'freebsd/sys/net/if_fwsubr.c',
-              'freebsd/sys/net/if_gif.c',
-              'freebsd/sys/net/if_gre.c',
-              'freebsd/sys/net/if_iso88025subr.c',
-              'freebsd/sys/net/if_lagg.c',
-              'freebsd/sys/net/if_llatbl.c',
-              'freebsd/sys/net/if_loop.c',
-              'freebsd/sys/net/if_media.c',
-              'freebsd/sys/net/if_mib.c',
-              'freebsd/sys/net/if_spppfr.c',
-              'freebsd/sys/net/if_spppsubr.c',
-              'freebsd/sys/net/if_stf.c',
-              'freebsd/sys/net/if_tap.c',
-              'freebsd/sys/net/if_tun.c',
-              'freebsd/sys/net/if_vlan.c',
-              'freebsd/sys/net/netisr.c',
-              'freebsd/sys/net/pfil.c',
-              'freebsd/sys/net/radix.c',
-              'freebsd/sys/net/radix_mpath.c',
-              'freebsd/sys/net/raw_cb.c',
-              'freebsd/sys/net/raw_usrreq.c',
-              'freebsd/sys/net/route.c',
-              'freebsd/sys/net/rtsock.c',
-              'freebsd/sys/net/slcompress.c',
-              'freebsd/sys/net80211/ieee80211.c',
-              'freebsd/sys/net80211/ieee80211_acl.c',
-              'freebsd/sys/net80211/ieee80211_action.c',
-              'freebsd/sys/net80211/ieee80211_adhoc.c',
-              'freebsd/sys/net80211/ieee80211_ageq.c',
-              'freebsd/sys/net80211/ieee80211_amrr.c',
-              'freebsd/sys/net80211/ieee80211_crypto.c',
-              'freebsd/sys/net80211/ieee80211_crypto_ccmp.c',
-              'freebsd/sys/net80211/ieee80211_crypto_none.c',
-              'freebsd/sys/net80211/ieee80211_crypto_tkip.c',
-              'freebsd/sys/net80211/ieee80211_crypto_wep.c',
-              'freebsd/sys/net80211/ieee80211_ddb.c',
-              'freebsd/sys/net80211/ieee80211_dfs.c',
-              'freebsd/sys/net80211/ieee80211_freebsd.c',
-              'freebsd/sys/net80211/ieee80211_hostap.c',
-              'freebsd/sys/net80211/ieee80211_ht.c',
-              'freebsd/sys/net80211/ieee80211_hwmp.c',
-              'freebsd/sys/net80211/ieee80211_input.c',
-              'freebsd/sys/net80211/ieee80211_ioctl.c',
-              'freebsd/sys/net80211/ieee80211_mesh.c',
-              'freebsd/sys/net80211/ieee80211_monitor.c',
-              'freebsd/sys/net80211/ieee80211_node.c',
-              'freebsd/sys/net80211/ieee80211_output.c',
-              'freebsd/sys/net80211/ieee80211_phy.c',
-              'freebsd/sys/net80211/ieee80211_power.c',
-              'freebsd/sys/net80211/ieee80211_proto.c',
-              'freebsd/sys/net80211/ieee80211_radiotap.c',
-              'freebsd/sys/net80211/ieee80211_ratectl.c',
-              'freebsd/sys/net80211/ieee80211_ratectl_none.c',
-              'freebsd/sys/net80211/ieee80211_regdomain.c',
-              'freebsd/sys/net80211/ieee80211_rssadapt.c',
-              'freebsd/sys/net80211/ieee80211_scan.c',
-              'freebsd/sys/net80211/ieee80211_scan_sta.c',
-              'freebsd/sys/net80211/ieee80211_scan_sw.c',
-              'freebsd/sys/net80211/ieee80211_sta.c',
-              'freebsd/sys/net80211/ieee80211_superg.c',
-              'freebsd/sys/net80211/ieee80211_tdma.c',
-              'freebsd/sys/net80211/ieee80211_vht.c',
-              'freebsd/sys/net80211/ieee80211_wds.c',
-              'freebsd/sys/net80211/ieee80211_xauth.c',
-              'freebsd/sys/netinet/accf_data.c',
-              'freebsd/sys/netinet/accf_dns.c',
-              'freebsd/sys/netinet/accf_http.c',
-              'freebsd/sys/netinet/cc/cc.c',
-              'freebsd/sys/netinet/cc/cc_newreno.c',
-              'freebsd/sys/netinet/if_atm.c',
-              'freebsd/sys/netinet/if_ether.c',
-              'freebsd/sys/netinet/igmp.c',
-              'freebsd/sys/netinet/in.c',
-              'freebsd/sys/netinet/in_fib.c',
-              'freebsd/sys/netinet/in_gif.c',
-              'freebsd/sys/netinet/in_mcast.c',
-              'freebsd/sys/netinet/in_pcb.c',
-              'freebsd/sys/netinet/in_proto.c',
-              'freebsd/sys/netinet/in_rmx.c',
-              'freebsd/sys/netinet/ip_carp.c',
-              'freebsd/sys/netinet/ip_divert.c',
-              'freebsd/sys/netinet/ip_ecn.c',
-              'freebsd/sys/netinet/ip_encap.c',
-              'freebsd/sys/netinet/ip_fastfwd.c',
-              'freebsd/sys/netinet/ip_gre.c',
-              'freebsd/sys/netinet/ip_icmp.c',
-              'freebsd/sys/netinet/ip_id.c',
-              'freebsd/sys/netinet/ip_input.c',
-              'freebsd/sys/netinet/ip_mroute.c',
-              'freebsd/sys/netinet/ip_options.c',
-              'freebsd/sys/netinet/ip_output.c',
-              'freebsd/sys/netinet/ip_reass.c',
-              'freebsd/sys/netinet/libalias/alias.c',
-              'freebsd/sys/netinet/libalias/alias_cuseeme.c',
-              'freebsd/sys/netinet/libalias/alias_db.c',
-              'freebsd/sys/netinet/libalias/alias_dummy.c',
-              'freebsd/sys/netinet/libalias/alias_ftp.c',
-              'freebsd/sys/netinet/libalias/alias_irc.c',
-              'freebsd/sys/netinet/libalias/alias_mod.c',
-              'freebsd/sys/netinet/libalias/alias_nbt.c',
-              'freebsd/sys/netinet/libalias/alias_pptp.c',
-              'freebsd/sys/netinet/libalias/alias_proxy.c',
-              'freebsd/sys/netinet/libalias/alias_sctp.c',
-              'freebsd/sys/netinet/libalias/alias_skinny.c',
-              'freebsd/sys/netinet/libalias/alias_smedia.c',
-              'freebsd/sys/netinet/libalias/alias_util.c',
-              'freebsd/sys/netinet/raw_ip.c',
-              'freebsd/sys/netinet/sctp_asconf.c',
-              'freebsd/sys/netinet/sctp_auth.c',
-              'freebsd/sys/netinet/sctp_bsd_addr.c',
-              'freebsd/sys/netinet/sctp_cc_functions.c',
-              'freebsd/sys/netinet/sctp_crc32.c',
-              'freebsd/sys/netinet/sctp_indata.c',
-              'freebsd/sys/netinet/sctp_input.c',
-              'freebsd/sys/netinet/sctp_output.c',
-              'freebsd/sys/netinet/sctp_pcb.c',
-              'freebsd/sys/netinet/sctp_peeloff.c',
-              'freebsd/sys/netinet/sctp_sysctl.c',
-              'freebsd/sys/netinet/sctp_timer.c',
-              'freebsd/sys/netinet/sctp_usrreq.c',
-              'freebsd/sys/netinet/sctputil.c',
-              'freebsd/sys/netinet/tcp_debug.c',
-              'freebsd/sys/netinet/tcp_hostcache.c',
-              'freebsd/sys/netinet/tcp_input.c',
-              'freebsd/sys/netinet/tcp_lro.c',
-              'freebsd/sys/netinet/tcp_offload.c',
-              'freebsd/sys/netinet/tcp_output.c',
-              'freebsd/sys/netinet/tcp_reass.c',
-              'freebsd/sys/netinet/tcp_sack.c',
-              'freebsd/sys/netinet/tcp_subr.c',
-              'freebsd/sys/netinet/tcp_syncache.c',
-              'freebsd/sys/netinet/tcp_timer.c',
-              'freebsd/sys/netinet/tcp_timewait.c',
-              'freebsd/sys/netinet/tcp_usrreq.c',
-              'freebsd/sys/netinet/udp_usrreq.c',
-              'freebsd/sys/netinet6/dest6.c',
-              'freebsd/sys/netinet6/frag6.c',
-              'freebsd/sys/netinet6/icmp6.c',
-              'freebsd/sys/netinet6/in6.c',
-              'freebsd/sys/netinet6/in6_cksum.c',
-              'freebsd/sys/netinet6/in6_fib.c',
-              'freebsd/sys/netinet6/in6_gif.c',
-              'freebsd/sys/netinet6/in6_ifattach.c',
-              'freebsd/sys/netinet6/in6_mcast.c',
-              'freebsd/sys/netinet6/in6_pcb.c',
-              'freebsd/sys/netinet6/in6_proto.c',
-              'freebsd/sys/netinet6/in6_rmx.c',
-              'freebsd/sys/netinet6/in6_src.c',
-              'freebsd/sys/netinet6/ip6_fastfwd.c',
-              'freebsd/sys/netinet6/ip6_forward.c',
-              'freebsd/sys/netinet6/ip6_id.c',
-              'freebsd/sys/netinet6/ip6_input.c',
-              'freebsd/sys/netinet6/ip6_mroute.c',
-              'freebsd/sys/netinet6/ip6_output.c',
-              'freebsd/sys/netinet6/mld6.c',
-              'freebsd/sys/netinet6/nd6.c',
-              'freebsd/sys/netinet6/nd6_nbr.c',
-              'freebsd/sys/netinet6/nd6_rtr.c',
-              'freebsd/sys/netinet6/raw_ip6.c',
-              'freebsd/sys/netinet6/route6.c',
-              'freebsd/sys/netinet6/scope6.c',
-              'freebsd/sys/netinet6/sctp6_usrreq.c',
-              'freebsd/sys/netinet6/udp6_usrreq.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw2.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_bpf.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_dynamic.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_eaction.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_iface.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_log.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_nat.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_pfil.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_sockopt.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_table.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_table_algo.c',
-              'freebsd/sys/netpfil/ipfw/ip_fw_table_value.c',
-              'freebsd/sys/netpfil/ipfw/nat64/ip_fw_nat64.c',
-              'freebsd/sys/netpfil/ipfw/nat64/nat64_translate.c',
-              'freebsd/sys/netpfil/ipfw/nat64/nat64lsn.c',
-              'freebsd/sys/netpfil/ipfw/nat64/nat64lsn_control.c',
-              'freebsd/sys/netpfil/ipfw/nat64/nat64stl.c',
-              'freebsd/sys/netpfil/ipfw/nat64/nat64stl_control.c',
-              'freebsd/sys/netpfil/ipfw/nptv6/ip_fw_nptv6.c',
-              'freebsd/sys/netpfil/ipfw/nptv6/nptv6.c',
-              'freebsd/sys/netpfil/pf/if_pflog.c',
-              'freebsd/sys/netpfil/pf/if_pfsync.c',
-              'freebsd/sys/netpfil/pf/in4_cksum.c',
-              'freebsd/sys/netpfil/pf/pf.c',
-              'freebsd/sys/netpfil/pf/pf_if.c',
-              'freebsd/sys/netpfil/pf/pf_ioctl.c',
-              'freebsd/sys/netpfil/pf/pf_lb.c',
-              'freebsd/sys/netpfil/pf/pf_norm.c',
-              'freebsd/sys/netpfil/pf/pf_osfp.c',
-              'freebsd/sys/netpfil/pf/pf_ruleset.c',
-              'freebsd/sys/netpfil/pf/pf_table.c',
-              'freebsd/sys/opencrypto/cast.c',
-              'freebsd/sys/opencrypto/criov.c',
-              'freebsd/sys/opencrypto/crypto.c',
-              'freebsd/sys/opencrypto/cryptodeflate.c',
-              'freebsd/sys/opencrypto/cryptosoft.c',
-              'freebsd/sys/opencrypto/gfmult.c',
-              'freebsd/sys/opencrypto/gmac.c',
-              'freebsd/sys/opencrypto/rmd160.c',
-              'freebsd/sys/opencrypto/skipjack.c',
-              'freebsd/sys/opencrypto/xform.c',
-              'freebsd/sys/vm/uma_core.c',
-              'freebsd/sys/vm/uma_dbg.c',
-              'mDNSResponder/mDNSCore/CryptoAlg.c',
-              'mDNSResponder/mDNSCore/DNSCommon.c',
-              'mDNSResponder/mDNSCore/DNSDigest.c',
-              'mDNSResponder/mDNSCore/anonymous.c',
-              'mDNSResponder/mDNSCore/mDNS.c',
-              'mDNSResponder/mDNSCore/uDNS.c',
-              'mDNSResponder/mDNSPosix/mDNSPosix.c',
-              'mDNSResponder/mDNSPosix/mDNSUNP.c',
-              'mDNSResponder/mDNSShared/GenLinkedList.c',
-              'mDNSResponder/mDNSShared/PlatformCommon.c',
-              'mDNSResponder/mDNSShared/dnssd_clientshim.c',
-              'mDNSResponder/mDNSShared/mDNSDebug.c',
-              'rtemsbsd/ftpd/ftpd-init.c',
-              'rtemsbsd/ftpd/ftpd-service.c',
-              'rtemsbsd/ftpd/ftpd.c',
-              'rtemsbsd/ftpfs/ftpfs.c',
-              'rtemsbsd/local/bus_if.c',
-              'rtemsbsd/local/cryptodev_if.c',
-              'rtemsbsd/local/device_if.c',
-              'rtemsbsd/local/gpio_if.c',
-              'rtemsbsd/local/gpiobus_if.c',
-              'rtemsbsd/local/if_dwc_if.c',
-              'rtemsbsd/local/ifdi_if.c',
-              'rtemsbsd/local/miibus_if.c',
-              'rtemsbsd/local/mmcbr_if.c',
-              'rtemsbsd/local/mmcbus_if.c',
-              'rtemsbsd/local/ofw_bus_if.c',
-              'rtemsbsd/local/ofw_if.c',
-              'rtemsbsd/local/pci_if.c',
-              'rtemsbsd/local/pcib_if.c',
-              'rtemsbsd/local/rtwn-rtl8188eufw.c',
-              'rtemsbsd/local/rtwn-rtl8192cfwT.c',
-              'rtemsbsd/local/runfw.c',
-              'rtemsbsd/local/sdhci_if.c',
-              'rtemsbsd/local/usb_if.c',
-              'rtemsbsd/mdns/mdns-hostname-default.c',
-              'rtemsbsd/mdns/mdns.c',
-              'rtemsbsd/nfsclient/mount_prot_xdr.c',
-              'rtemsbsd/nfsclient/nfs.c',
-              'rtemsbsd/nfsclient/nfs_prot_xdr.c',
-              'rtemsbsd/nfsclient/rpcio.c',
-              'rtemsbsd/pppd/auth.c',
-              'rtemsbsd/pppd/ccp.c',
-              'rtemsbsd/pppd/chap.c',
-              'rtemsbsd/pppd/chap_ms.c',
-              'rtemsbsd/pppd/chat.c',
-              'rtemsbsd/pppd/demand.c',
-              'rtemsbsd/pppd/fsm.c',
-              'rtemsbsd/pppd/ipcp.c',
-              'rtemsbsd/pppd/lcp.c',
-              'rtemsbsd/pppd/magic.c',
-              'rtemsbsd/pppd/options.c',
-              'rtemsbsd/pppd/rtemsmain.c',
-              'rtemsbsd/pppd/rtemspppd.c',
-              'rtemsbsd/pppd/sys-rtems.c',
-              'rtemsbsd/pppd/upap.c',
-              'rtemsbsd/pppd/utils.c',
-              'rtemsbsd/rtems/ipsec_get_policylen.c',
-              'rtemsbsd/rtems/ofw_machdep.c',
-              'rtemsbsd/rtems/rtems-bsd-allocator-domain-size.c',
-              'rtemsbsd/rtems/rtems-bsd-arp-processor.c',
-              'rtemsbsd/rtems/rtems-bsd-get-allocator-domain-size.c',
-              'rtemsbsd/rtems/rtems-bsd-get-ethernet-addr.c',
-              'rtemsbsd/rtems/rtems-bsd-get-mac-address.c',
-              'rtemsbsd/rtems/rtems-bsd-get-task-priority.c',
-              'rtemsbsd/rtems/rtems-bsd-get-task-stack-size.c',
-              'rtemsbsd/rtems/rtems-bsd-ifconfig-lo0.c',
-              'rtemsbsd/rtems/rtems-bsd-ifconfig.c',
-              'rtemsbsd/rtems/rtems-bsd-init-dhcp.c',
-              'rtemsbsd/rtems/rtems-bsd-rc-conf-net.c',
-              'rtemsbsd/rtems/rtems-bsd-rc-conf-pf.c',
-              'rtemsbsd/rtems/rtems-bsd-rc-conf.c',
-              'rtemsbsd/rtems/rtems-bsd-regdomain.c',
-              'rtemsbsd/rtems/rtems-bsd-set-if-input.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-arp.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-dhcpcd.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-ifconfig.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-netstat.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-pfctl.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-ping.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-route.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-stty.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-sysctl.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-tcpdump.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-vmstat.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-wlanstats.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-wpa_supplicant.c',
-              'rtemsbsd/rtems/rtems-bsd-shell-wpa_supplicant_fork.c',
-              'rtemsbsd/rtems/rtems-bsd-syscall-api.c',
-              'rtemsbsd/rtems/rtems-kernel-assert.c',
-              'rtemsbsd/rtems/rtems-kernel-autoconf.c',
-              'rtemsbsd/rtems/rtems-kernel-bus-dma-mbuf.c',
-              'rtemsbsd/rtems/rtems-kernel-bus-dma.c',
-              'rtemsbsd/rtems/rtems-kernel-bus-root.c',
-              'rtemsbsd/rtems/rtems-kernel-cam.c',
-              'rtemsbsd/rtems/rtems-kernel-chunk.c',
-              'rtemsbsd/rtems/rtems-kernel-configintrhook.c',
-              'rtemsbsd/rtems/rtems-kernel-delay.c',
-              'rtemsbsd/rtems/rtems-kernel-get-file.c',
-              'rtemsbsd/rtems/rtems-kernel-init.c',
-              'rtemsbsd/rtems/rtems-kernel-irqs.c',
-              'rtemsbsd/rtems/rtems-kernel-jail.c',
-              'rtemsbsd/rtems/rtems-kernel-malloc.c',
-              'rtemsbsd/rtems/rtems-kernel-mbuf.c',
-              'rtemsbsd/rtems/rtems-kernel-mutex.c',
-              'rtemsbsd/rtems/rtems-kernel-muteximpl.c',
-              'rtemsbsd/rtems/rtems-kernel-nexus.c',
-              'rtemsbsd/rtems/rtems-kernel-page.c',
-              'rtemsbsd/rtems/rtems-kernel-panic.c',
-              'rtemsbsd/rtems/rtems-kernel-pci_bus.c',
-              'rtemsbsd/rtems/rtems-kernel-pci_cfgreg.c',
-              'rtemsbsd/rtems/rtems-kernel-program.c',
-              'rtemsbsd/rtems/rtems-kernel-rwlock.c',
-              'rtemsbsd/rtems/rtems-kernel-signal.c',
-              'rtemsbsd/rtems/rtems-kernel-sx.c',
-              'rtemsbsd/rtems/rtems-kernel-sysctl.c',
-              'rtemsbsd/rtems/rtems-kernel-sysctlbyname.c',
-              'rtemsbsd/rtems/rtems-kernel-sysctlnametomib.c',
-              'rtemsbsd/rtems/rtems-kernel-termioskqueuepoll.c',
-              'rtemsbsd/rtems/rtems-kernel-thread.c',
-              'rtemsbsd/rtems/rtems-kernel-timesupport.c',
-              'rtemsbsd/rtems/rtems-kernel-vprintf.c',
-              'rtemsbsd/rtems/rtems-kernel-wpa-supplicant.c',
-              'rtemsbsd/rtems/rtems-kvm.c',
-              'rtemsbsd/rtems/rtems-legacy-mii.c',
-              'rtemsbsd/rtems/rtems-legacy-newproc.c',
-              'rtemsbsd/rtems/rtems-legacy-rtrequest.c',
-              'rtemsbsd/rtems/rtems-program-socket.c',
-              'rtemsbsd/rtems/rtems-program.c',
-              'rtemsbsd/rtems/rtems-routes.c',
-              'rtemsbsd/rtems/rtems-wpa_supplicant_mutex.c',
-              'rtemsbsd/rtems/syslog.c',
-              'rtemsbsd/sys/dev/atsam/if_atsam.c',
-              'rtemsbsd/sys/dev/atsam/if_atsam_media.c',
-              'rtemsbsd/sys/dev/dw_mmc/dw_mmc.c',
-              'rtemsbsd/sys/dev/ffec/if_ffec_mcf548x.c',
-              'rtemsbsd/sys/dev/input/touchscreen/tsc_lpc32xx.c',
-              'rtemsbsd/sys/dev/smc/if_smc_nexus.c',
-              'rtemsbsd/sys/dev/tsec/if_tsec_nexus.c',
-              'rtemsbsd/sys/dev/usb/controller/ehci_mpc83xx.c',
-              'rtemsbsd/sys/dev/usb/controller/ohci_lpc.c',
-              'rtemsbsd/sys/dev/usb/controller/ohci_lpc32xx.c',
-              'rtemsbsd/sys/dev/usb/controller/usb_otg_transceiver.c',
-              'rtemsbsd/sys/dev/usb/controller/usb_otg_transceiver_dump.c',
-              'rtemsbsd/sys/fs/devfs/devfs_devs.c',
-              'rtemsbsd/sys/net/if_ppp.c',
-              'rtemsbsd/sys/net/ppp_tty.c',
-              'rtemsbsd/telnetd/check_passwd.c',
-              'rtemsbsd/telnetd/des.c',
-              'rtemsbsd/telnetd/pty.c',
-              'rtemsbsd/telnetd/telnetd-init.c',
-              'rtemsbsd/telnetd/telnetd-service.c',
-              'rtemsbsd/telnetd/telnetd.c']
-    if bld.env["HAVE_RTEMS_RTEMS_DEBUGGER_H"]:
-        source += ['rtemsbsd/debugger/rtems-debugger-remote-tcp.c']
-    if bld.get_env()["RTEMS_ARCH"] == "arm":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "avr":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "bfin":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "cflags":
-        source += ['default']
-    if bld.get_env()["RTEMS_ARCH"] == "h8300":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "i386":
-        source += ['freebsd/sys/i386/i386/in_cksum.c',
-                   'freebsd/sys/i386/i386/legacy.c',
-                   'freebsd/sys/x86/pci/pci_bus.c']
-    if bld.get_env()["RTEMS_ARCH"] == "lm32":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "m32c":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "m32r":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "m68k":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "mips":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "nios2":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "powerpc":
-        source += ['freebsd/sys/powerpc/powerpc/in_cksum.c',
-                   'linux/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c',
-                   'linux/drivers/net/ethernet/freescale/fman/fman.c',
-                   'linux/drivers/net/ethernet/freescale/fman/fman_dtsec.c',
-                   'linux/drivers/net/ethernet/freescale/fman/fman_memac.c',
-                   'linux/drivers/net/ethernet/freescale/fman/fman_port.c',
-                   'linux/drivers/net/ethernet/freescale/fman/fman_sp.c',
-                   'linux/drivers/net/ethernet/freescale/fman/fman_tgec.c',
-                   'linux/drivers/net/ethernet/freescale/fman/mac.c',
-                   'linux/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.c',
-                   'linux/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_macless.c',
-                   'linux/drivers/soc/fsl/qbman/bman.c',
-                   'linux/drivers/soc/fsl/qbman/bman_ccsr.c',
-                   'linux/drivers/soc/fsl/qbman/bman_test_api.c',
-                   'linux/drivers/soc/fsl/qbman/qman.c',
-                   'linux/drivers/soc/fsl/qbman/qman_ccsr.c',
-                   'linux/drivers/soc/fsl/qbman/qman_portal.c',
-                   'linux/drivers/soc/fsl/qbman/qman_test_api.c',
-                   'linux/drivers/soc/fsl/qbman/qman_test_stash.c',
-                   'rtemsbsd/sys/powerpc/compat.c',
-                   'rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c',
-                   'rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/sdk_dpaa/if_ml.c',
-                   'rtemsbsd/sys/powerpc/fdt_phy.c',
-                   'rtemsbsd/sys/powerpc/fman_muram.c',
-                   'rtemsbsd/sys/powerpc/linux_compat.c']
-    if bld.get_env()["RTEMS_ARCH"] == "sh":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "sparc":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "sparc64":
-        source += ['freebsd/sys/sparc64/sparc64/in_cksum.c']
-    if bld.get_env()["RTEMS_ARCH"] == "v850":
-        source += ['freebsd/sys/mips/mips/in_cksum.c']
-    bld.stlib(target = "bsd",
-              features = "c cxx",
-              cflags = cflags,
-              cxxflags = cxxflags,
-              includes = includes,
-              defines = defines,
-              source = source,
-              use = libbsd_use)
-
-    # Installs.    
-    bld.install_files("${PREFIX}/" + rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION, bld.env.RTEMS_ARCH_BSP), ["libbsd.a"])
-    header_paths = [('rtemsbsd/include', '**/*.h', ''),
-                     ('rtemsbsd/' + bld.env.RTEMS_ARCH + '/include', '**/*.h', ''),
-                     ('rtemsbsd/mghttpd', 'mongoose.h', 'mghttpd'),
-                     ('freebsd/include', '**/*.h', ''),
-                     ('freebsd/sys/bsm', '**/*.h', 'bsm'),
-                     ('freebsd/sys/cam', '**/*.h', 'cam'),
-                     ('freebsd/sys/net', '**/*.h', 'net'),
-                     ('freebsd/sys/net80211', '**/*.h', 'net80211'),
-                     ('freebsd/sys/netinet', '**/*.h', 'netinet'),
-                     ('freebsd/sys/netinet6', '**/*.h', 'netinet6'),
-                     ('freebsd/sys/netipsec', '**/*.h', 'netipsec'),
-                     ('freebsd/contrib/libpcap', '*.h', ''),
-                     ('freebsd/contrib/libpcap/pcap', '*.h', 'pcap'),
-                     ('freebsd/crypto/openssl', '*.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto', '*.h', 'openssl'),
-                     ('freebsd/crypto/openssl/ssl', '(ssl|kssl|ssl2).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/aes', 'aes.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/err', 'err.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/bio', '*.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/dsa', '*.h', 'openssl'),
-                     ('freebsd/crypto/openssl/ssl', '*.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/bn', 'bn.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/x509', 'x509.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/cast', 'cast.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/lhash', 'lhash.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ecdh', 'ecdh.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ecdsa', 'ecdsa.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/idea', 'idea.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/mdc2', 'mdc2.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/md4', 'md4.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/md5', 'md5.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/rc2', 'rc2.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/rc4', 'rc4.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ripemd', 'ripemd.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/seed', 'seed.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/sha', 'sha.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/x509v3', 'x509v3.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/x509', 'x509_vfy.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/buffer', 'buffer.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/comp', 'comp.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/asn1', 'asn1_mac.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/pem', '(pem|pem2).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/rsa', 'rsa.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/evp', 'evp.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ec', 'ec.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/engine', 'engine.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/pkcs7', 'pkcs7.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/hmac', 'hmac.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/pqueue', 'pqueue.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ocsp', 'ocsp.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/rand', 'rand.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/srp', 'srp.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/dh', 'dh.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/dso', 'dso.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/krb5', 'krb5_asn.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/cms', 'cms.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/txt_db', 'txt_db.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ts', 'ts.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/modes', 'modes.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/pkcs12', 'pkcs12.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/bf', 'blowfish.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/cmac', 'cmac.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/asn1', '(asn1|asn1t).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/camellia', 'camellia.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/objects', '(objects|obj_mac).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/conf', '(conf|conf_api).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/des', '(des|des_old).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/ui', '(ui_compat|ui).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/whrlpool', 'whrlpool.h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto/stack', '(stack|safestack).h', 'openssl'),
-                     ('freebsd/crypto/openssl/crypto', '(opensslconf|opensslv|crypto).h', 'openssl'),
-                     ('freebsd/sys/rpc', '**/*.h', 'rpc'),
-                     ('freebsd/sys/sys', '**/*.h', 'sys'),
-                     ('freebsd/sys/vm', '**/*.h', 'vm'),
-                     ('freebsd/sys/dev/mii', '**/*.h', 'dev/mii'),
-                     ('linux/include', '**/*.h', ''),
-                     ('mDNSResponder/mDNSCore', 'mDNSDebug.h', ''),
-                     ('mDNSResponder/mDNSCore', 'mDNSEmbeddedAPI.h', ''),
-                     ('mDNSResponder/mDNSShared', 'dns_sd.h', ''),
-                     ('mDNSResponder/mDNSPosix', 'mDNSPosix.h', '')]
-    for headers in header_paths:
-        ipath = os.path.join(rtems.arch_bsp_include_path(bld.env.RTEMS_VERSION, bld.env.RTEMS_ARCH_BSP), headers[2])
-        start_dir = bld.path.find_dir(headers[0])
-        if start_dir != None:
-            bld.install_files("${PREFIX}/" + ipath,
-                              start_dir.ant_glob(headers[1]),
-                              cwd = start_dir,
-                              relative_trick = True)
-
-    # Tests
-    test_arphole = ['testsuite/arphole/test_main.c']
-    bld.program(target = "arphole.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_arphole,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_cdev01 = ['testsuite/cdev01/test_cdev.c',
-                   'testsuite/cdev01/test_main.c']
-    bld.program(target = "cdev01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_cdev01,
-                use = ["bsd"],
-                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_condvar01 = ['testsuite/condvar01/test_main.c']
-    bld.program(target = "condvar01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_condvar01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    if bld.env["HAVE_RTEMS_RTEMS_DEBUGGER_H"]:
-        test_debugger01 = ['testsuite/debugger01/test_main.c']
-        bld.program(target = "debugger01.exe",
-                    features = "cprogram",
-                    cflags = cflags,
-                    includes = includes,
-                    source = test_debugger01,
-                    use = ["bsd"],
-                    lib = ["m", "z"],
-                    install_path = None)
-
-    test_dhcpcd01 = ['testsuite/dhcpcd01/test_main.c']
-    bld.program(target = "dhcpcd01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_dhcpcd01,
-                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_evdev01 = ['testsuite/evdev01/init.c']
-    bld.program(target = "evdev01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_evdev01,
-                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_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_ftpd02 = ['testsuite/ftpd02/test_main.c']
-    bld.program(target = "ftpd02.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_ftpd02,
-                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_log01 = ['testsuite/log01/test_main.c']
-    bld.program(target = "log01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_log01,
-                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)
-
-    test_netshell01 = ['testsuite/netshell01/shellconfig.c',
-                       'testsuite/netshell01/test_main.c']
-    bld.program(target = "netshell01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_netshell01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_nfs01 = ['testsuite/nfs01/test_main.c']
-    bld.program(target = "nfs01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_nfs01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_pf01 = ['testsuite/pf01/test_main.c']
-    bld.program(target = "pf01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_pf01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_pf02 = ['testsuite/pf02/test_main.c']
-    bld.program(target = "pf02.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_pf02,
-                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_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_program01 = ['testsuite/program01/test_main.c']
-    bld.program(target = "program01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_program01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_rcconf01 = ['testsuite/rcconf01/test_main.c']
-    bld.program(target = "rcconf01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_rcconf01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_rcconf02 = ['testsuite/rcconf02/test_main.c']
-    bld.program(target = "rcconf02.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_rcconf02,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_rwlock01 = ['testsuite/rwlock01/test_main.c']
-    bld.program(target = "rwlock01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_rwlock01,
-                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_sleep01 = ['testsuite/sleep01/test_main.c']
-    bld.program(target = "sleep01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                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_termios = ['testsuite/termios/test_main.c',
-                    'testsuite/termios/test_termios_driver.c',
-                    'testsuite/termios/test_termios_utilities.c']
-    bld.program(target = "termios.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_termios01 = ['testsuite/termios01/../termios/test_termios_driver.c',
-                      'testsuite/termios01/../termios/test_termios_utilities.c',
-                      'testsuite/termios01/test_main.c']
-    bld.program(target = "termios01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_termios02 = ['testsuite/termios02/../termios/test_termios_driver.c',
-                      'testsuite/termios02/../termios/test_termios_utilities.c',
-                      'testsuite/termios02/test_main.c']
-    bld.program(target = "termios02.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios02,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_termios03 = ['testsuite/termios03/../termios/test_termios_driver.c',
-                      'testsuite/termios03/../termios/test_termios_utilities.c',
-                      'testsuite/termios03/test_main.c']
-    bld.program(target = "termios03.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios03,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_termios04 = ['testsuite/termios04/../termios/test_termios_driver.c',
-                      'testsuite/termios04/../termios/test_termios_utilities.c',
-                      'testsuite/termios04/test_main.c']
-    bld.program(target = "termios04.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios04,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_termios05 = ['testsuite/termios05/../termios/test_termios_driver.c',
-                      'testsuite/termios05/../termios/test_termios_utilities.c',
-                      'testsuite/termios05/test_main.c']
-    bld.program(target = "termios05.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios05,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_termios06 = ['testsuite/termios06/../termios/test_termios_driver.c',
-                      'testsuite/termios06/../termios/test_termios_utilities.c',
-                      'testsuite/termios06/test_main.c']
-    bld.program(target = "termios06.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_termios06,
-                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)
-
-    test_unix01 = ['testsuite/unix01/test_main.c']
-    bld.program(target = "unix01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_unix01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_usb01 = ['testsuite/usb01/init.c']
-    bld.program(target = "usb01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_usb01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_usbkbd01 = ['testsuite/usbkbd01/init.c']
-    bld.program(target = "usbkbd01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_usbkbd01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_usbmouse01 = ['testsuite/usbmouse01/init.c']
-    bld.program(target = "usbmouse01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_usbmouse01,
-                use = ["bsd"],
-                lib = ["m", "z"],
-                install_path = None)
-
-    test_usbserial01 = ['testsuite/usbserial01/init.c']
-    bld.program(target = "usbserial01.exe",
-                features = "cprogram",
-                cflags = cflags,
-                includes = includes,
-                source = test_usbserial01,
-                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_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)
-
diff --git a/waf_generator.py b/waf_generator.py
deleted file mode 100755
index 73b02a83..00000000
--- a/waf_generator.py
+++ /dev/null
@@ -1,693 +0,0 @@
-#
-#  Copyright (c) 2015-2016 Chris Johns <chrisj at rtems.org>. All rights reserved.
-#
-#  Copyright (c) 2009-2015 embedded brains GmbH.  All rights reserved.
-#
-#   embedded brains GmbH
-#   Dornierstr. 4
-#   82178 Puchheim
-#   Germany
-#   <info at embedded-brains.de>
-#
-#  Copyright (c) 2012 OAR Corporation. 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 __future__ import print_function
-
-import os
-import sys
-import tempfile
-
-import builder
-
-#
-# Dump the data created from the fragments returned from the builder composers.
-#
-trace = False
-
-data = { }
-
-def _addFiles(name, files):
-    if type(files) is not list:
-        files = [files]
-    if name not in data:
-        data[name] = []
-    data[name] += files
-
-def _cflagsIncludes(cflags, includes):
-    if type(cflags) is not list:
-        if cflags is not None:
-            _cflags = cflags.split(' ')
-        else:
-            _cflags = [None]
-    else:
-        _cflags = cflags
-    if type(includes) is not list:
-        _includes = [includes]
-    else:
-        _includes = includes
-    return _cflags, _includes
-
-class SourceFileFragmentComposer(builder.BuildSystemFragmentComposer):
-
-    def __init__(self, cflags = "default", includes = None):
-        self.cflags, self.includes = _cflagsIncludes(cflags, includes)
-
-    def compose(self, path):
-        if None in self.includes:
-            flags = self.cflags
-        else:
-            flags = self.cflags + self.includes
-        return ['sources', flags, ('default', None)], [path], self.cflags, self.includes
-
-class SourceFileIfHeaderComposer(SourceFileFragmentComposer):
-
-    def __init__(self, headers, cflags = "default", includes = None):
-        if headers is not list:
-            headers = [headers]
-        self.headers = headers
-        super(SourceFileIfHeaderComposer, self).__init__(cflags = cflags, includes = includes)
-
-    def compose(self, path):
-        r = SourceFileFragmentComposer.compose(self, path)
-        define_keys = ''
-        for h in self.headers:
-            h = h.upper()
-            for c in '\/-.':
-                h = h.replace(c, '_')
-            define_keys += ' ' + h
-        r[0][2] = (define_keys.strip(), self.headers)
-        return r
-
-class TestFragementComposer(builder.BuildSystemFragmentComposer):
-
-    def __init__(self, testName, fileFragments, runTest = True, netTest = False):
-        self.testName = testName
-        self.fileFragments = fileFragments
-        self.runTest = runTest
-        self.netTest = netTest
-
-    def compose(self, path):
-        return ['tests', self.testName, ('default', None)], { 'files': self.fileFragments,
-                                                              'run': self.runTest,
-                                                              'net': self.netTest }
-
-class TestIfHeaderComposer(TestFragementComposer):
-
-    def __init__(self, testName, headers, fileFragments, runTest = True, netTest = False):
-        if headers is not list:
-            headers = [headers]
-        self.headers = headers
-        super(TestIfHeaderComposer, self).__init__(testName, fileFragments,
-                                                   runTest = runTest, netTest = netTest)
-
-    def compose(self, path):
-        r = TestFragementComposer.compose(self, path)
-        define_keys = ''
-        for h in self.headers:
-            h = h.upper()
-            for c in '\/-.':
-                h = h.replace(c, '_')
-            define_keys += ' ' + h
-        r[0][2] = (define_keys.strip(), self.headers)
-        return r
-
-class KVMSymbolsFragmentComposer(builder.BuildSystemFragmentComposer):
-
-    def compose(self, path):
-        return ['KVMSymbols', 'files', ('default', None)], [path], self.includes
-
-class RPCGENFragmentComposer(builder.BuildSystemFragmentComposer):
-
-    def compose(self, path):
-        return ['RPCGen', 'files', ('default', None)], [path]
-
-class RouteKeywordsFragmentComposer(builder.BuildSystemFragmentComposer):
-
-    def compose(self, path):
-        return ['RouteKeywords', 'files', ('default', None)], [path]
-
-class LexFragmentComposer(builder.BuildSystemFragmentComposer):
-
-    def __init__(self, sym, dep, cflags = None, includes = None):
-        self.sym = sym
-        self.dep = dep
-        self.cflags, self.includes = _cflagsIncludes(cflags, includes)
-
-    def compose(self, path):
-        d = { 'file': path,
-              'sym': self.sym,
-              'dep': self.dep }
-        if None not in self.cflags:
-            d['cflags'] = self.cflags
-        if None not in self.includes:
-            d['includes'] = self.includes
-        return ['lex', path, ('default', None)], d
-
-class YaccFragmentComposer(builder.BuildSystemFragmentComposer):
-
-    def __init__(self, sym, header, cflags = None, includes = None):
-        self.sym = sym
-        self.header = header
-        self.cflags, self.includes = _cflagsIncludes(cflags, includes)
-
-    def compose(self, path):
-        d = { 'file': path,
-              'sym': self.sym,
-              'header': self.header }
-        if None not in self.cflags:
-            d['cflags'] = self.cflags
-        if None not in self.includes:
-            d['includes'] = self.includes
-        return ['yacc', path, ('default', None)], d
-
-def headerPathSpec(headerPath):
-    return '(\'%s\', \'%s\', \'%s\')' % (headerPath[0], headerPath[1], headerPath[2])
-
-# Module Manager - Collection of Modules
-class ModuleManager(builder.ModuleManager):
-
-    def restart(self):
-        self.script = ''
-
-    def add(self, line = ''):
-        self.script += line + os.linesep
-
-    def write(self):
-        name = os.path.join(builder.LIBBSD_DIR, 'libbsd_waf.py')
-        converter = builder.Converter()
-        converter.convert(name, name, srcContents = self.script)
-
-    def setGenerators(self):
-        self.generator['convert'] = builder.Converter
-        self.generator['no-convert'] = builder.NoConverter
-        self.generator['from-FreeBSD-to-RTEMS-UserSpaceSourceConverter'] = builder.FromFreeBSDToRTEMSUserSpaceSourceConverter
-        self.generator['from-RTEMS-To-FreeBSD-SourceConverter'] = builder.FromRTEMSToFreeBSDSourceConverter
-        self.generator['buildSystemFragmentComposer'] = builder.BuildSystemFragmentComposer
-
-        self.generator['file'] = builder.File
-
-        self.generator['path'] = builder.PathComposer
-        self.generator['freebsd-path'] = builder.FreeBSDPathComposer
-        self.generator['rtems-path'] = builder.RTEMSPathComposer
-        self.generator['cpu-path'] = builder.CPUDependentFreeBSDPathComposer
-        self.generator['target-src-cpu--path'] = builder.TargetSourceCPUDependentPathComposer
-
-        self.generator['source'] = SourceFileFragmentComposer
-        self.generator['test'] = TestFragementComposer
-        self.generator['kvm-symbols'] = KVMSymbolsFragmentComposer
-        self.generator['rpc-gen'] = RPCGENFragmentComposer
-        self.generator['route-keywords'] = RouteKeywordsFragmentComposer
-        self.generator['lex'] = LexFragmentComposer
-        self.generator['yacc'] = YaccFragmentComposer
-
-        self.generator['source-if-header'] = SourceFileIfHeaderComposer
-        self.generator['test-if-header'] = TestIfHeaderComposer
-
-    def generate(self, rtems_version):
-
-        def _sourceListSources(lhs, sources, append = False, block = 0):
-            indent = block * 4
-            if append:
-                adder = '+'
-                adderSpace = ' '
-            else:
-                adder = ''
-                adderSpace = ''
-            ll = len(lhs)
-            if len(sources) == 1:
-                self.add('%s%s %s= [%r]' % (' ' * indent, lhs, adder, sources[0]))
-            elif len(sources) == 2:
-                self.add('%s%s %s= [%r,' % (' ' * indent, lhs, adder, sources[0]))
-                self.add('%s%s %s   %r]' % (' ' * indent, ' ' * ll, adderSpace, sources[-1]))
-            elif len(sources) > 0:
-                self.add('%s%s %s= [%r,' % (' ' * indent, lhs, adder, sources[0]))
-                for f in sources[1:-1]:
-                    self.add('%s%s %s   %r,' % (' ' * indent, ' ' * ll, adderSpace, f))
-                self.add('%s%s %s   %r]' % (' ' * indent, ' ' * ll, adderSpace, sources[-1]))
-
-        def _sourceList(lhs, files, append = False):
-            if type(files) is dict:
-                appending = False
-                for cfg in files:
-                    if cfg in ['cflags', 'includes']:
-                        continue
-                    if cfg != 'default':
-                        cs = ''
-                        ors = ''
-                        for c in cfg.split(' '):
-                            cs += '%s bld.env["HAVE_%s"]' % (ors, c)
-                            ors = ' and'
-                        self.add('    if%s:' % (cs))
-                        _sourceListSources(lhs, sorted(files[cfg]), append = appending, block = 1)
-                    else:
-                        _sourceListSources(lhs, sorted(files[cfg]), append)
-                    appending = True
-            else:
-                _sourceListSources(lhs, sorted(files), append)
-
-        def _dataInsert(data, cpu, frag):
-            #
-            # The default handler returns an empty string. Skip it.
-            #
-            if type(frag) is not str:
-                # Start at the top of the tree
-                d = data
-                path = frag[0]
-                if path[0] not in d:
-                    d[path[0]] = {}
-                # Select the sub-part of the tree as the compile options
-                # specialise how files are built.
-                d = d[path[0]]
-                if type(path[1]) is list:
-                    p = ' '.join(path[1])
-                else:
-                    p = path[1]
-                if p not in d:
-                    d[p] = {}
-                d = d[p]
-                if cpu not in d:
-                    d[cpu] = { }
-                config = frag[0][2][0]
-                if config != 'default':
-                    if 'configure' not in data:
-                        data['configure'] = { }
-                    data['configure'][config] = frag[0][2][1]
-                if type(frag[1]) is list:
-                    if config not in d[cpu]:
-                        d[cpu][config] = []
-                    d[cpu][config] += frag[1]
-                else:
-                    d[cpu][config] = frag[1]
-                #
-                # The CPU is for files and the flags and includes are common.
-                #
-                if len(frag) > 3:
-                    if 'cflags' not in d:
-                        d['cflags'] = []
-                    d['cflags'] += frag[2]
-                    d['cflags'] = list(set(d['cflags']))
-                if len(frag) >= 3 and None not in frag[-1]:
-                    if 'includes' not in d:
-                        d['includes'] = []
-                    d['includes'] += frag[-1]
-                    d['includes'] = list(set(d['includes']))
-
-        data = { }
-
-        for mn in self.getModules():
-            m = self[mn]
-            if m.conditionalOn == "none":
-                for f in m.files:
-                    _dataInsert(data, 'all', f.getFragment())
-            for cpu, files in sorted(m.cpuDependentSourceFiles.items()):
-                for f in files:
-                    _dataInsert(data, cpu, f.getFragment())
-
-        if trace:
-            import pprint
-            pprint.pprint(data)
-
-        self.restart()
-
-        self.add('#')
-        self.add('# RTEMS Project (https://www.rtems.org)')
-        self.add('#')
-        self.add('# Generated waf script. Do not edit, run ./freebsd-to-rtems.py -m')
-        self.add('#')
-        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')
-        self.add('import os.path')
-        # Import check done in the top level wscript file.
-        self.add('import rtems_waf.rtems as rtems')
-        self.add('')
-        self.add('windows = os.name == "nt"')
-        self.add('')
-        self.add('if windows:')
-        self.add('    host_shell = "sh -c "')
-        self.add('else:')
-        self.add('    host_shell = ""')
-        self.add('')
-        self.add('def init(ctx):')
-        self.add('    pass')
-        self.add('')
-        self.add('def options(opt):')
-        self.add('    pass')
-        self.add('')
-        self.add('def bsp_configure(conf, arch_bsp):')
-
-        if 'configure' in data:
-            for cfg in data['configure']:
-                for h in data['configure'][cfg]:
-                    self.add('    conf.check(header_name = "%s", features = "c", includes = conf.env.IFLAGS, mandatory = False)' % h)
-        else:
-            self.add('    pass')
-
-        self.add('')
-        self.add('def configure(conf):')
-        self.add('    rtems.configure(conf, bsp_configure)')
-        self.add('')
-        self.add('def build(bld):')
-        self.add('    # C/C++ flags')
-        self.add('    common_flags = []')
-        self.add('    common_flags += ["-O%s" % (bld.env.OPTIMIZATION)]')
-        for f in builder.commonFlags():
-            self.add('    common_flags += ["%s"]' % (f))
-        self.add('    if bld.env.WARNINGS:')
-        for f in builder.commonWarnings():
-            self.add('        common_flags += ["%s"]' % (f))
-        self.add('    else:')
-        for f in builder.commonNoWarnings():
-            self.add('        common_flags += ["%s"]' % (f))
-        self.add('    cflags = %r + common_flags' % (builder.cflags()))
-        self.add('    cxxflags = %r + common_flags' % (builder.cxxflags()))
-        self.add('')
-        self.add('    # Defines')
-        self.add('    defines = []')
-        self.add('    if len(bld.env.FREEBSD_OPTIONS) > 0:')
-        self.add('        for o in bld.env.FREEBSD_OPTIONS.split(","):')
-        self.add('            defines += ["%s=1" % (o.strip().upper())]')
-        self.add('')
-        self.add('    # Include paths')
-        self.add('    includes = []')
-        self.add('    for i in %r:' % (builder.cpuIncludes()))
-        self.add('        includes += ["%s" % (i[2:].replace("@CPU@", bld.get_env()["RTEMS_ARCH"]))]')
-        self.add('    if bld.get_env()["RTEMS_ARCH"] == "i386":')
-        self.add('        for i in %r:' % (builder.cpuIncludes()))
-        self.add('            includes += ["%s" % (i[2:].replace("@CPU@", "x86"))]')
-        for i in builder.includes() + ['-I' + builder.buildInclude()]:
-            self.add('    includes += ["%s"]' % (i[2:]))
-        self.add('')
-        self.add('    # Collect the libbsd uses')
-        self.add('    libbsd_use = []')
-        self.add('')
-
-        #
-        # Support the existing Makefile based network configuration file.
-        #
-        self.add('    # Network test configuration')
-        self.add('    if not os.path.exists(bld.env.NET_CONFIG):')
-        self.add('        bld.fatal("network configuraiton \'%s\' not found" % (bld.env.NET_CONFIG))')
-        self.add('    net_cfg_self_ip = None')
-        self.add('    net_cfg_netmask = None')
-        self.add('    net_cfg_peer_ip = None')
-        self.add('    net_cfg_gateway_ip = None')
-        self.add('    net_tap_interface = None')
-        self.add('    try:')
-        self.add('        net_cfg_lines = open(bld.env.NET_CONFIG).readlines()')
-        self.add('    except:')
-        self.add('        bld.fatal("network configuraiton \'%s\' read failed" % (bld.env.NET_CONFIG))')
-        self.add('    lc = 0')
-        self.add('    for l in net_cfg_lines:')
-        self.add('        lc += 1')
-        self.add('        if l.strip().startswith("NET_CFG_"):')
-        self.add('            ls = l.split("=")')
-        self.add('            if len(ls) != 2:')
-        self.add('                bld.fatal("network configuraiton \'%s\' parse error: %d: %s" % ' + \
-                 '(bld.env.NET_CONFIG, lc, l))')
-        self.add('            lhs = ls[0].strip()')
-        self.add('            rhs = ls[1].strip()')
-        self.add('            if lhs == "NET_CFG_SELF_IP":')
-        self.add('                net_cfg_self_ip = rhs')
-        self.add('            if lhs == "NET_CFG_NETMASK":')
-        self.add('                net_cfg_netmask = rhs')
-        self.add('            if lhs == "NET_CFG_PEER_IP":')
-        self.add('                net_cfg_peer_ip = rhs')
-        self.add('            if lhs == "NET_CFG_GATEWAY_IP":')
-        self.add('                net_cfg_gateway_ip = rhs')
-        self.add('            if lhs == "NET_TAP_INTERFACE":')
-        self.add('                net_tap_interface = rhs')
-        self.add('    bld(target = "testsuite/include/rtems/bsd/test/network-config.h",')
-        self.add('        source = "testsuite/include/rtems/bsd/test/network-config.h.in",')
-        self.add('        rule = "sed -e \'s/@NET_CFG_SELF_IP@/%s/\' ' + \
-                 '-e \'s/@NET_CFG_NETMASK@/%s/\' ' + \
-                 '-e \'s/@NET_CFG_PEER_IP@/%s/\' ' + \
-                 '-e \'s/@NET_CFG_GATEWAY_IP@/%s/\' < ${SRC} > ${TGT}" % ' + \
-                 '(net_cfg_self_ip, net_cfg_netmask, net_cfg_peer_ip, net_cfg_gateway_ip),')
-        self.add('        update_outputs = True)')
-        self.add('')
-
-        #
-        # Add a copy rule for all headers where the install path and the source
-        # path are not the same.
-        #
-        self.add('    # copy headers if necessary')
-        self.add('    header_build_copy_paths = [')
-        for hp in builder.headerPaths():
-            if hp[2] != '' and not hp[0].endswith(hp[2]):
-                self.add('                               %s,' % (str(hp)))
-        self.add('                              ]')
-        self.add('    for headers in header_build_copy_paths:')
-        self.add('        target = os.path.join("%s", headers[2])' % (builder.buildInclude()))
-        self.add('        start_dir = bld.path.find_dir(headers[0])')
-        self.add('        for header in start_dir.ant_glob(headers[1]):')
-        self.add('            relsourcepath = header.path_from(start_dir)')
-        self.add('            targetheader = os.path.join(target, relsourcepath)')
-        self.add('            bld(features = \'subst\',')
-        self.add('                target = targetheader,')
-        self.add('                source = header,')
-        self.add('                is_copy = True)')
-        self.add('')
-
-        #
-        # Add the specific rule based builders for generating files.
-        #
-        if 'KVMSymbols' in data:
-            kvmsymbols = data['KVMSymbols']
-            if 'includes' in kvmsymbols['files']:
-                includes = kvmsymbols['files']['includes']
-            else:
-                includes = []
-            self.add('    # KVM Symbols')
-            self.add('    bld(target = "%s",' % (kvmsymbols['files']['all']['default'][0]))
-            self.add('        source = "rtemsbsd/rtems/generate_kvm_symbols",')
-            self.add('        rule = host_shell + "./${SRC} > ${TGT}",')
-            self.add('        update_outputs = True)')
-            self.add('    bld.objects(target = "kvmsymbols",')
-            self.add('                features = "c",')
-            self.add('                cflags = cflags,')
-            self.add('                includes = %r + includes,' % (includes))
-            self.add('                source = "%s")' % (kvmsymbols['files']['all']['default'][0]))
-            self.add('    libbsd_use += ["kvmsymbols"]')
-            self.add('')
-
-        self.add('    bld.add_group()')
-
-        if 'RPCGen' in data:
-            rpcgen = data['RPCGen']
-            rpcname = rpcgen['files']['all']['default'][0][:-2]
-            self.add('    # RPC Generation')
-            self.add('    if bld.env.AUTO_REGEN:')
-            self.add('        bld(target = "%s.h",' % (rpcname))
-            self.add('            source = "%s.x",' % (rpcname))
-            self.add('            rule = host_shell + "${RPCGEN} -h -o ${TGT} ${SRC}")')
-            self.add('')
-
-        if 'RouteKeywords' in data:
-            routekw = data['RouteKeywords']
-            rkwname = routekw['files']['all']['default'][0]
-            self.add('    # Route keywords')
-            self.add('    if bld.env.AUTO_REGEN:')
-            self.add('        rkw_rule = host_shell + "cat ${SRC} | ' + \
-                     'awk \'BEGIN { r = 0 } { if (NF == 1) ' + \
-                     'printf \\"#define\\\\tK_%%s\\\\t%%d\\\\n\\\\t{\\\\\\"%%s\\\\\\", K_%%s},\\\\n\\", ' + \
-                     'toupper($1), ++r, $1, toupper($1)}\' > ${TGT}"')
-            self.add('        bld(target = "%s.h",' % (rkwname))
-            self.add('            source = "%s",' % (rkwname))
-            self.add('            rule = rkw_rule)')
-            self.add('')
-
-        if 'lex' in data:
-            lexes = data['lex']
-            self.add('    # Lex')
-            for l in sorted(lexes.keys()):
-                lex = lexes[l]['all']['default']
-                if 'cflags' in lex:
-                    lexDefines = [d[2:] for d in lex['cflags']]
-                else:
-                    lexDefines = []
-                if 'includes' in lex:
-                    lexIncludes = lex['includes']
-                else:
-                    lexIncludes = []
-                self.add('    if bld.env.AUTO_REGEN:')
-                self.add('        bld(target = "%s.c",' % (lex['file'][:-2]))
-                self.add('            source = "%s",' % (lex['file']))
-                self.add('            rule = host_shell + "${LEX} -P %s -t ${SRC} | ' % (lex['sym']) + \
-                         'sed -e \'/YY_BUF_SIZE/s/16384/1024/\' > ${TGT}")')
-                self.add('    bld.objects(target = "lex_%s",' % (lex['sym']))
-                self.add('                features = "c",')
-                self.add('                cflags = cflags,')
-                self.add('                includes = %r + includes,' % (lexIncludes))
-                self.add('                defines = defines + %r,' % (lexDefines))
-                self.add('                source = "%s.c")' % (lex['file'][:-2]))
-                self.add('    libbsd_use += ["lex_%s"]' % (lex['sym']))
-                self.add('')
-
-        if 'yacc' in data:
-            yaccs = data['yacc']
-            self.add('    # Yacc')
-            for y in sorted(yaccs.keys()):
-                yacc = yaccs[y]['all']['default']
-                yaccFile = yacc['file']
-                if yacc['sym'] is not None:
-                    yaccSym = yacc['sym']
-                else:
-                    yaccSym = os.path.basename(yaccFile)[:-2]
-                yaccHeader = '%s/%s' % (os.path.dirname(yaccFile), yacc['header'])
-                if 'cflags' in yacc:
-                    yaccDefines = [d[2:] for d in yacc['cflags']]
-                else:
-                    yaccDefines = []
-                if 'includes' in yacc:
-                    yaccIncludes = yacc['includes']
-                else:
-                    yaccIncludes = []
-                self.add('    if bld.env.AUTO_REGEN:')
-                self.add('        bld(target = "%s.c",' % (yaccFile[:-2]))
-                self.add('            source = "%s",' % (yaccFile))
-                self.add('            rule = host_shell + "${YACC} -b %s -d -p %s ${SRC} && ' % \
-                         (yaccSym, yaccSym) + \
-                         'sed -e \'/YY_BUF_SIZE/s/16384/1024/\' < %s.tab.c > ${TGT} && ' % (yaccSym) + \
-                         'rm -f %s.tab.c && mv %s.tab.h %s")' % (yaccSym, yaccSym, yaccHeader))
-                self.add('    bld.objects(target = "yacc_%s",' % (yaccSym))
-                self.add('                features = "c",')
-                self.add('                cflags = cflags,')
-                self.add('                includes = %r + includes,' % (yaccIncludes))
-                self.add('                defines = defines + %r,' % (yaccDefines))
-                self.add('                source = "%s.c")' % (yaccFile[:-2]))
-                self.add('    libbsd_use += ["yacc_%s"]' % (yaccSym))
-            self.add('')
-
-        #
-        # We have 'm' different sets of flags and there can be 'n' cpus
-        # specific files for those flags.
-        #
-        objs = 0
-        self.add('    # Objects built with different CFLAGS')
-        sources = sorted(data['sources'])
-        if 'default' in sources:
-            sources.remove('default')
-        for flags in sources:
-            objs += 1
-            build = data['sources'][flags]
-            _sourceList('    objs%02d_source' % objs, build['all'])
-            archs = sorted(build)
-            for i in ['all', 'cflags', 'includes']:
-                if i in archs:
-                    archs.remove(i)
-            for arch in archs:
-                self.add('    if bld.get_env()["RTEMS_ARCH"] == "%s":' % arch)
-                _sourceList('        objs%02d_source' % objs, build[arch], append = True)
-            if 'cflags' in build:
-                defines = [d[2:] for d in build['cflags']]
-            else:
-                defines = []
-            if 'includes' in build:
-                includes = build['includes']
-            else:
-                includes = []
-            self.add('    bld.objects(target = "objs%02d",' % (objs))
-            self.add('                features = "c",')
-            self.add('                cflags = cflags,')
-            self.add('                includes = %r + includes,' % (sorted(includes)))
-            self.add('                defines = defines + %r,' % (sorted(defines)))
-            self.add('                source = objs%02d_source)' % objs)
-            self.add('    libbsd_use += ["objs%02d"]' % (objs))
-            self.add('')
-
-        #
-        # We hold the 'default' cflags set of files to the end to create the
-        # static library with.
-        #
-        build = data['sources']['default']
-        _sourceList('    source', build['all'])
-        archs = sorted(build)
-        archs.remove('all')
-        for arch in archs:
-            self.add('    if bld.get_env()["RTEMS_ARCH"] == "%s":' % arch)
-            _sourceList('        source', build[arch], append = True)
-        self.add('    bld.stlib(target = "bsd",')
-        self.add('              features = "c cxx",')
-        self.add('              cflags = cflags,')
-        self.add('              cxxflags = cxxflags,')
-        self.add('              includes = includes,')
-        self.add('              defines = defines,')
-        self.add('              source = source,')
-        self.add('              use = libbsd_use)')
-        self.add('')
-
-        #
-        # Header file collector.
-        #
-        self.add('    # Installs.    ')
-        self.add('    bld.install_files("${PREFIX}/" + rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION, bld.env.RTEMS_ARCH_BSP), ["libbsd.a"])')
-        headerPaths = builder.headerPaths()
-        self.add('    header_paths = [%s,' % (headerPathSpec(headerPaths[0])))
-        for hp in headerPaths[1:-1]:
-            self.add('                     %s,' % (headerPathSpec(hp)))
-        self.add('                     %s]' % (headerPathSpec(headerPaths[-1])))
-        self.add('    for headers in header_paths:')
-        self.add('        ipath = os.path.join(rtems.arch_bsp_include_path(bld.env.RTEMS_VERSION, bld.env.RTEMS_ARCH_BSP), headers[2])')
-        self.add('        start_dir = bld.path.find_dir(headers[0])')
-        self.add('        if start_dir != None:')
-        self.add('            bld.install_files("${PREFIX}/" + ipath,')
-        self.add('                              start_dir.ant_glob(headers[1]),')
-        self.add('                              cwd = start_dir,')
-        self.add('                              relative_trick = True)')
-        self.add('')
-
-        self.add('    # Tests')
-        tests = data['tests']
-        for testName in sorted(tests):
-            test = data['tests'][testName]['all']
-            block = 0
-            files = []
-            for cfg in test:
-                if cfg != 'default':
-                    cs = ''
-                    ors = ''
-                    for c in cfg.split(' '):
-                        cs += '%s bld.env["HAVE_%s"]' % (ors, c)
-                        ors = ' and'
-                    self.add('    if%s:' % (cs))
-                    block = 1
-                files = ['testsuite/%s/%s.c' % (testName, f) \
-                         for f in test[cfg]['files']]
-            indent = ' ' * block * 4
-            _sourceList('%s    test_%s' % (indent, testName), files)
-            self.add('%s    bld.program(target = "%s.exe",' % (indent, testName))
-            self.add('%s                features = "cprogram",' % (indent))
-            self.add('%s                cflags = cflags,' % (indent))
-            self.add('%s                includes = includes,' % (indent))
-            self.add('%s                source = test_%s,' % (indent, testName))
-            self.add('%s                use = ["bsd"],' % (indent))
-            self.add('%s                lib = ["m", "z"],' % (indent))
-            self.add('%s                install_path = None)' % (indent))
-            self.add('')
-
-        self.write()
diff --git a/waf_libbsd.py b/waf_libbsd.py
new file mode 100644
index 00000000..8f5340ba
--- /dev/null
+++ b/waf_libbsd.py
@@ -0,0 +1,645 @@
+#
+#  Copyright (c) 2015-2018 Chris Johns <chrisj at rtems.org>. All rights reserved.
+#
+#  Copyright (c) 2009-2015 embedded brains GmbH.  All rights reserved.
+#
+#   embedded brains GmbH
+#   Dornierstr. 4
+#   82178 Puchheim
+#   Germany
+#   <info at embedded-brains.de>
+#
+#  Copyright (c) 2012 OAR Corporation. 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 __future__ import print_function
+
+import os
+import sys
+import tempfile
+
+import builder
+
+import rtems_waf.rtems as rtems
+
+windows = os.name == 'nt'
+
+if windows:
+    host_shell = 'sh -c '
+else:
+    host_shell = ''
+
+def _cflagsIncludes(cflags, includes):
+    if type(cflags) is not list:
+        if cflags is not None:
+            _cflags = cflags.split(' ')
+        else:
+            _cflags = [None]
+    else:
+        _cflags = cflags
+    if type(includes) is not list:
+        _includes = [includes]
+    else:
+        _includes = includes
+    return _cflags, _includes
+
+class SourceFileFragmentComposer(builder.BuildSystemFragmentComposer):
+
+    def __init__(self, cflags = "default", includes = None):
+        self.cflags, self.includes = _cflagsIncludes(cflags, includes)
+
+    def compose(self, path):
+        if None in self.includes:
+            flags = self.cflags
+        else:
+            flags = self.cflags + self.includes
+        return ['sources', flags, ('default', None)], [path], self.cflags, self.includes
+
+class SourceFileIfHeaderComposer(SourceFileFragmentComposer):
+
+    def __init__(self, headers, cflags = "default", includes = None):
+        if headers is not list:
+            headers = [headers]
+        self.headers = headers
+        super(SourceFileIfHeaderComposer, self).__init__(cflags = cflags, includes = includes)
+
+    def compose(self, path):
+        r = SourceFileFragmentComposer.compose(self, path)
+        define_keys = ''
+        for h in self.headers:
+            h = h.upper()
+            for c in '\/-.':
+                h = h.replace(c, '_')
+            define_keys += ' ' + h
+        r[0][2] = (define_keys.strip(), self.headers)
+        return r
+
+class TestFragementComposer(builder.BuildSystemFragmentComposer):
+
+    def __init__(self, testName, fileFragments, runTest = True, netTest = False):
+        self.testName = testName
+        self.fileFragments = fileFragments
+        self.runTest = runTest
+        self.netTest = netTest
+
+    def compose(self, path):
+        return ['tests', self.testName, ('default', None)], { 'files': self.fileFragments,
+                                                              'run': self.runTest,
+                                                              'net': self.netTest }
+
+class TestIfHeaderComposer(TestFragementComposer):
+
+    def __init__(self, testName, headers, fileFragments, runTest = True, netTest = False):
+        if headers is not list:
+            headers = [headers]
+        self.headers = headers
+        super(TestIfHeaderComposer, self).__init__(testName, fileFragments,
+                                                   runTest = runTest, netTest = netTest)
+
+    def compose(self, path):
+        r = TestFragementComposer.compose(self, path)
+        define_keys = ''
+        for h in self.headers:
+            h = h.upper()
+            for c in '\/-.':
+                h = h.replace(c, '_')
+            define_keys += ' ' + h
+        r[0][2] = (define_keys.strip(), self.headers)
+        return r
+
+class KVMSymbolsFragmentComposer(builder.BuildSystemFragmentComposer):
+
+    def compose(self, path):
+        return ['KVMSymbols', 'files', ('default', None)], [path], self.includes
+
+class RPCGENFragmentComposer(builder.BuildSystemFragmentComposer):
+
+    def compose(self, path):
+        return ['RPCGen', 'files', ('default', None)], [path]
+
+class RouteKeywordsFragmentComposer(builder.BuildSystemFragmentComposer):
+
+    def compose(self, path):
+        return ['RouteKeywords', 'files', ('default', None)], [path]
+
+class LexFragmentComposer(builder.BuildSystemFragmentComposer):
+
+    def __init__(self, sym, dep, cflags = None, includes = None):
+        self.sym = sym
+        self.dep = dep
+        self.cflags, self.includes = _cflagsIncludes(cflags, includes)
+
+    def compose(self, path):
+        d = { 'file': path,
+              'sym': self.sym,
+              'dep': self.dep }
+        if None not in self.cflags:
+            d['cflags'] = self.cflags
+        if None not in self.includes:
+            d['includes'] = self.includes
+        return ['lex', path, ('default', None)], d
+
+class YaccFragmentComposer(builder.BuildSystemFragmentComposer):
+
+    def __init__(self, sym, header, cflags = None, includes = None):
+        self.sym = sym
+        self.header = header
+        self.cflags, self.includes = _cflagsIncludes(cflags, includes)
+
+    def compose(self, path):
+        d = { 'file': path,
+              'sym': self.sym,
+              'header': self.header }
+        if None not in self.cflags:
+            d['cflags'] = self.cflags
+        if None not in self.includes:
+            d['includes'] = self.includes
+        return ['yacc', path, ('default', None)], d
+
+#
+# The waf builder for libbsd.
+#
+class Builder(builder.ModuleManager):
+
+    def __init__(self, trace = False):
+        super(Builder, self).__init__()
+        self.trace = trace
+        self.data = {}
+
+    @staticmethod
+    def _sourceList(bld, files):
+        sources = []
+        if type(files) is dict:
+            for cfg in files:
+                if cfg in ['cflags', 'includes']:
+                    continue
+                if cfg != 'default':
+                    for c in cfg.split(' '):
+                        if not bld.env['HAVE_%s' % (c)]:
+                            continue
+                sources += sorted(files[cfg])
+        else:
+            sources = sorted(files)
+        return sources
+
+    def setGenerators(self):
+        #
+        # Called when the builder.ModuleManager.__init__ is run
+        #
+        self.generator['convert'] = builder.Converter
+        self.generator['no-convert'] = builder.NoConverter
+        self.generator['from-FreeBSD-to-RTEMS-UserSpaceSourceConverter'] = builder.FromFreeBSDToRTEMSUserSpaceSourceConverter
+        self.generator['from-RTEMS-To-FreeBSD-SourceConverter'] = builder.FromRTEMSToFreeBSDSourceConverter
+        self.generator['buildSystemFragmentComposer'] = builder.BuildSystemFragmentComposer
+
+        self.generator['file'] = builder.File
+
+        self.generator['path'] = builder.PathComposer
+        self.generator['freebsd-path'] = builder.FreeBSDPathComposer
+        self.generator['rtems-path'] = builder.RTEMSPathComposer
+        self.generator['cpu-path'] = builder.CPUDependentFreeBSDPathComposer
+        self.generator['target-src-cpu--path'] = builder.TargetSourceCPUDependentPathComposer
+
+        self.generator['source'] = SourceFileFragmentComposer
+        self.generator['test'] = TestFragementComposer
+        self.generator['kvm-symbols'] = KVMSymbolsFragmentComposer
+        self.generator['rpc-gen'] = RPCGENFragmentComposer
+        self.generator['route-keywords'] = RouteKeywordsFragmentComposer
+        self.generator['lex'] = LexFragmentComposer
+        self.generator['yacc'] = YaccFragmentComposer
+
+        self.generator['source-if-header'] = SourceFileIfHeaderComposer
+        self.generator['test-if-header'] = TestIfHeaderComposer
+
+    def generate(self, rtems_version):
+
+        def _dataInsert(data, cpu, frag):
+            #
+            # The default handler returns an empty string. Skip it.
+            #
+            if type(frag) is not str:
+                # Start at the top of the tree
+                d = data
+                path = frag[0]
+                if path[0] not in d:
+                    d[path[0]] = {}
+                # Select the sub-part of the tree as the compile options
+                # specialise how files are built.
+                d = d[path[0]]
+                if type(path[1]) is list:
+                    p = ' '.join(path[1])
+                else:
+                    p = path[1]
+                if p not in d:
+                    d[p] = {}
+                d = d[p]
+                if cpu not in d:
+                    d[cpu] = { }
+                config = frag[0][2][0]
+                if config != 'default':
+                    if 'configure' not in data:
+                        data['configure'] = { }
+                    data['configure'][config] = frag[0][2][1]
+                if type(frag[1]) is list:
+                    if config not in d[cpu]:
+                        d[cpu][config] = []
+                    d[cpu][config] += frag[1]
+                else:
+                    d[cpu][config] = frag[1]
+                #
+                # The CPU is for files and the flags and includes are common.
+                #
+                if len(frag) > 3:
+                    if 'cflags' not in d:
+                        d['cflags'] = []
+                    d['cflags'] += frag[2]
+                    d['cflags'] = list(set(d['cflags']))
+                if len(frag) >= 3 and None not in frag[-1]:
+                    if 'includes' not in d:
+                        d['includes'] = []
+                    d['includes'] += frag[-1]
+                    d['includes'] = list(set(d['includes']))
+
+        self.data = {}
+
+        for mn in self.getModules():
+            m = self[mn]
+            if m.conditionalOn == "none":
+                for f in m.files:
+                    _dataInsert(self.data, 'all', f.getFragment())
+            for cpu, files in sorted(m.cpuDependentSourceFiles.items()):
+                for f in files:
+                    _dataInsert(self.data, cpu, f.getFragment())
+
+        if self.trace:
+            import pprint
+            pprint.pprint(self.data)
+
+    def init(self, ctx):
+        pass
+
+    def options(self, opt):
+        pass
+
+    def bsp_configure(self, conf, arch_bsp):
+        if 'configure' in self.data:
+            for cfg in self.data['configure']:
+                for h in self.data['configure'][cfg]:
+                    conf.check(header_name = h,
+                               features = "c",
+                               includes = conf.env.IFLAGS,
+                               mandatory = False)
+
+    def configure(self, conf):
+        pass
+
+    def build(self, bld):
+        #
+        # Localize the config.
+        #
+        config = self.getConfiguration()
+
+        #
+        #
+        # C/C++ flags
+        #
+        common_flags = []
+        common_flags += ['-O%s' % (bld.env.OPTIMIZATION)]
+        if 'common-flags' in config:
+            common_flags += [f for f in config['common-flags']]
+        if bld.env.WARNINGS and 'common-warnings' in config:
+            common_flags += [f for f in config['common-warnings']]
+        elif 'common-no-warnings' in config:
+            common_flags += [f for f in config['common-no-warnings']]
+        if 'cflags' in config:
+            cflags = config['cflags'] + common_flags
+        if 'cxxflags' in config:
+            cxxflags = config['cxxflags'] + common_flags
+
+        #
+        # Defines
+        #
+        defines = []
+        if len(bld.env.FREEBSD_OPTIONS) > 0:
+            for o in bld.env.FREEBSD_OPTIONS.split(','):
+                defines += ['%s=1' % (o.strip().upper())]
+
+        #
+        # Include paths
+        #
+        includes = []
+        if 'cpu-include-paths' in config:
+            cpu = bld.get_env()['RTEMS_ARCH']
+            if cpu == "i386":
+                cpu = 'x86'
+            for i in config['cpu-include-paths']:
+                includes += [i.replace('@CPU@', cpu)]
+        if 'include-paths' in config:
+            includes += config['include-paths']
+        if 'build-include-path' in config:
+            includes += config['build-include-path']
+
+        #
+        # Collect the libbsd uses
+        #
+        libbsd_use = []
+
+        #
+        # Network test configuration
+        #
+        if not os.path.exists(bld.env.NET_CONFIG):
+            bld.fatal('network configuraiton \'%s\' not found' % (bld.env.NET_CONFIG))
+        tags = [ 'NET_CFG_SELF_IP',
+                 'NET_CFG_NETMASK',
+                 'NET_CFG_PEER_IP',
+                 'NET_CFG_GATEWAY_IP',
+                 'NET_TAP_INTERFACE' ]
+        try:
+            net_cfg_lines = open(bld.env.NET_CONFIG).readlines()
+        except:
+            bld.fatal('network configuraiton \'%s\' read failed' % (bld.env.NET_CONFIG))
+        lc = 0
+        for l in net_cfg_lines:
+            lc += 1
+            if l.strip().startswith('NET_CFG_'):
+                ls = l.split('=')
+                if len(ls) != 2:
+                    bld.fatal('network configuraiton \'%s\' ' + \
+                              'parse error: %d: %s' % (bld.env.NET_CONFIG, lc, l))
+                lhs = ls[0].strip()
+                rhs = ls[1].strip()
+                sed = 'sed '
+                for t in tags:
+                    if lhs == t:
+                        sed += "-e 's/@%s@/%s/'" % (t, rhs)
+        bld(target = "testsuite/include/rtems/bsd/test/network-config.h",
+            source = "testsuite/include/rtems/bsd/test/network-config.h.in",
+            rule = sed + " < ${SRC} > ${TGT}",
+            update_outputs = True)
+
+        #
+        # Add a copy rule for all headers where the install path and the source
+        # path are not the same.
+        #
+        if 'header-paths' in config:
+            header_build_copy_paths = [
+                hp for hp in config['header-paths'] if hp[2] != '' and not hp[0].endswith(hp[2])
+            ]
+            for headers in header_build_copy_paths:
+                target = os.path.join("build-include", headers[2])
+                start_dir = bld.path.find_dir(headers[0])
+                for header in start_dir.ant_glob(headers[1]):
+                    relsourcepath = header.path_from(start_dir)
+                    targetheader = os.path.join(target, relsourcepath)
+                    bld(features = 'subst',
+                        target = targetheader,
+                        source = header,
+                        is_copy = True)
+
+        #
+        # Add the specific rule based builders
+        #
+
+        #
+        # KVM Symbols
+        #
+        if 'KVMSymbols' in self.data:
+            kvmsymbols = self.data['KVMSymbols']
+            if 'includes' in kvmsymbols['files']:
+                kvmsymbols_includes = kvmsymbols['files']['includes']
+            else:
+                kvmsymbols_includes = []
+            bld(target = kvmsymbols['files']['all']['default'][0],
+                source = 'rtemsbsd/rtems/generate_kvm_symbols',
+                rule = host_shell + './${SRC} > ${TGT}',
+                update_outputs = True)
+            bld.objects(target = 'kvmsymbols',
+                        features = 'c',
+                        cflags = cflags,
+                        includes = kvmsymbols_includes + includes,
+                        source = kvmsymbols['files']['all']['default'][0])
+            libbsd_use += ["kvmsymbols"]
+
+        bld.add_group()
+
+        #
+        # RPC Generation
+        #
+        if 'RPCGen' in self.data:
+            if bld.env.AUTO_REGEN:
+                rpcgen = self.data['RPCGen']
+                rpcname = rpcgen['files']['all']['default'][0][:-2]
+                bld(target = rpcname + '.h',
+                    source = y + '.x',
+                    rule = host_shell + '${RPCGEN} -h -o ${TGT} ${SRC}')
+
+        #
+        # Route keywords
+        #
+        if 'RouteKeywords' in self.data:
+            if bld.env.AUTO_REGEN:
+                routekw = self.data['RouteKeywords']
+                rkwname = routekw['files']['all']['default'][0]
+                rkw_rule = host_shell + 'cat ${SRC} | ' + \
+                           'awk \'BEGIN { r = 0 } { if (NF == 1) ' + \
+                           'printf \\"#define\\\\tK_%%s\\\\t%%d\\\\n\\\\t{\\\\\\"%%s\\\\\\", K_%%s},\\\\n\\", ' + \
+                           'toupper($1), ++r, $1, toupper($1)}\' > ${TGT}'
+                bld(target = rkwname + '.h',
+                    source = rkwname,
+                    rule = rkw_rule)
+
+        #
+        # Lex
+        #
+        if 'lex' in self.data:
+            lexes = self.data['lex']
+            for l in sorted(lexes.keys()):
+                lex = lexes[l]['all']['default']
+                if 'cflags' in lex:
+                    lexDefines = [d[2:] for d in lex['cflags']]
+                else:
+                    lexDefines = []
+                if 'includes' in lex:
+                    lexIncludes = lex['includes']
+                else:
+                    lexIncludes = []
+                lex_rule = host_shell + '${LEX} -P ' + lex['sym'] + ' -t ${SRC} | ' + \
+                           'sed -e \'/YY_BUF_SIZE/s/16384/1024/\' > ${TGT}")'
+                if bld.env.AUTO_REGEN:
+                    bld(target = lex['file'][:-2]+ '.c',
+                        source = lex['file'],
+                        rule = lex_rule)
+                bld.objects(target = 'lex_%s' % (lex['sym']),
+                            features = 'c',
+                            cflags = cflags,
+                            includes = lexIncludes + includes,
+                            defines = defines + lexDefines,
+                            source = lex['file'][:-2] + '.c')
+                libbsd_use += ['lex_%s' % (lex['sym'])]
+
+        #
+        # Yacc
+        #
+        if 'yacc' in self.data:
+            yaccs = self.data['yacc']
+            for y in sorted(yaccs.keys()):
+                yacc = yaccs[y]['all']['default']
+                yaccFile = yacc['file']
+                if yacc['sym'] is not None:
+                    yaccSym = yacc['sym']
+                else:
+                    yaccSym = os.path.basename(yaccFile)[:-2]
+                yaccHeader = '%s/%s' % (os.path.dirname(yaccFile), yacc['header'])
+                if 'cflags' in yacc:
+                    yaccDefines = [d[2:] for d in yacc['cflags']]
+                else:
+                    yaccDefines = []
+                if 'includes' in yacc:
+                    yaccIncludes = yacc['includes']
+                else:
+                    yaccIncludes = []
+                yacc_rule = host_shell + '${YACC} -b ' + yaccSym + \
+                            ' -d -p ' + yaccSym + ' ${SRC} && ' + \
+                            'sed -e \'/YY_BUF_SIZE/s/16384/1024/\' < ' + yaccSym + '.tab.c > ${TGT} && ' + \
+                            'rm -f ' + yaccSym + '.tab.c && mv ' + yaccSym + '.tab.h ' + yaccHeader
+                if bld.env.AUTO_REGEN:
+                    bld(target = yaccFile[:-2] + '.c',
+                        source = yaccFile,
+                        rule = yacc_rule)
+                bld.objects(target = 'yacc_%s' % (yaccSym),
+                            features = 'c',
+                            cflags = cflags,
+                            includes = yaccIncludes + includes,
+                            defines = defines + yaccDefines,
+                            source = yaccFile[:-2] + '.c')
+                libbsd_use += ['yacc_%s' % (yaccSym)]
+
+        #
+        # We have 'm' different sets of flags and there can be 'n' cpus
+        # specific files for those flags.
+        #
+        objs = 0
+        sources = sorted(self.data['sources'])
+        if 'default' in sources:
+            sources.remove('default')
+        for flags in sources:
+            objs += 1
+            build = self.data['sources'][flags]
+            target = 'objs%02d' % (objs)
+            bld_sources = Builder._sourceList(bld, build['all'])
+            archs = sorted(build)
+            for i in ['all', 'cflags', 'includes']:
+                if i in archs:
+                    archs.remove(i)
+            for arch in archs:
+                if bld.get_env()['RTEMS_ARCH'] == arch:
+                    bld_sources += Builder._sourceList(bld, build[arch])
+            if 'cflags' in build:
+                bld_defines = [d[2:] for d in build['cflags']]
+            else:
+                bld_defines = []
+            if 'includes' in build:
+                bld_includes = build['includes']
+            else:
+                bld_includes = []
+            bld.objects(target = target,
+                        features = 'c',
+                        cflags = cflags,
+                        includes = sorted(bld_includes) + includes,
+                        defines = defines + sorted(bld_defines),
+                        source = bld_sources)
+            libbsd_use += [target]
+
+        #
+        # We hold the 'default' cflags set of files to the end to create the
+        # static library with.
+        #
+        build = self.data['sources']['default']
+        bld_sources = Builder._sourceList(bld, build['all'])
+        archs = sorted(build)
+        archs.remove('all')
+        for arch in archs:
+            if bld.get_env()['RTEMS_ARCH'] == arch:
+                bld_sources += Builder._sourceList(bld, build[arch])
+        bld.stlib(target = 'bsd',
+                  features = 'c cxx',
+                  cflags = cflags,
+                  cxxflags = cxxflags,
+                  includes = includes,
+                  defines = defines,
+                  source = bld_sources,
+                  use = libbsd_use)
+
+        #
+        # Installs.
+        #
+        # Header file collector.
+        #
+        arch_lib_path = rtems.arch_bsp_lib_path(bld.env.RTEMS_VERSION,
+                                                bld.env.RTEMS_ARCH_BSP)
+        arch_inc_path = rtems.arch_bsp_include_path(bld.env.RTEMS_VERSION,
+                                                    bld.env.RTEMS_ARCH_BSP)
+
+        bld.install_files("${PREFIX}/" + arch_lib_path, ["libbsd.a"])
+
+        if 'header-paths' in config:
+            headerPaths = config['header-paths']
+            cpu = bld.get_env()['RTEMS_ARCH']
+            if cpu == "i386":
+                cpu = 'x86'
+            for headers in headerPaths:
+                # Get the dest path
+                ipath = os.path.join(arch_inc_path, headers[2])
+                start_dir = bld.path.find_dir(headers[0].replace('@CPU@', cpu))
+                if start_dir != None:
+                    bld.install_files("${PREFIX}/" + ipath,
+                                      start_dir.ant_glob(headers[1]),
+                                      cwd = start_dir,
+                                      relative_trick = True)
+
+        #
+        # Tests
+        #
+        tests = self.data['tests']
+        for testName in sorted(tests):
+            test = self.data['tests'][testName]['all']
+            test_source = []
+            for cfg in test:
+                build_test = True
+                if cfg != 'default':
+                    for c in cfg.split(' '):
+                        if not bld.env['HAVE_%s' % (c)]:
+                            build_test = False
+                            break
+                if build_test:
+                    test_sources = ['testsuite/%s/%s.c' % (testName, f) \
+                                    for f in test[cfg]['files']]
+            if build_test:
+                bld.program(target = '%s.exe' % (testName),
+                            features = 'cprogram',
+                            cflags = cflags,
+                            includes = includes,
+                            source = test_sources,
+                            use = ['bsd'],
+                            lib = ['m', 'z'],
+                            install_path = None)
diff --git a/wscript b/wscript
index f176cbb9..6c063965 100644
--- a/wscript
+++ b/wscript
@@ -41,13 +41,26 @@ except:
     import sys
     sys.exit(1)
 
-import libbsd_waf
+#import libbsd_waf
+import libbsd
+import waf_libbsd
+
+builder = None
+
+def create_builder():
+    global builder
+    if builder is None:
+        builder = waf_libbsd.Builder()
+        libbsd.load(builder)
+        builder.generate(rtems_version)
 
 def init(ctx):
+    create_builder();
     rtems.init(ctx, version = rtems_version, long_commands = True)
-    libbsd_waf.init(ctx)
+    builder.init(ctx)
 
 def options(opt):
+    create_builder();
     rtems.options(opt)
     opt.add_option("--enable-auto-regen",
                    action = "store_true",
@@ -73,18 +86,20 @@ def options(opt):
                    default = "2",
                    dest = "optimization",
                    help = "Set optimization level to OPTIMIZATION (-On compiler flag). Default is 2 (-O2).")
-    libbsd_waf.options(opt)
+    builder.options(opt)
 
 def bsp_configure(conf, arch_bsp):
+    create_builder();
     conf.check(header_name = "dlfcn.h", features = "c")
     conf.check(header_name = "rtems/pci.h", features = "c", mandatory = False)
     if not rtems.check_posix(conf):
         conf.fatal("RTEMS kernel POSIX support is disabled; configure RTEMS with --enable-posix")
     if rtems.check_networking(conf):
         conf.fatal("RTEMS kernel contains the old network support; configure RTEMS with --disable-networking")
-    libbsd_waf.bsp_configure(conf, arch_bsp)
+    builder.bsp_configure(conf, arch_bsp)
 
 def configure(conf):
+    create_builder();
     if conf.options.auto_regen:
         conf.find_program("lex", mandatory = True)
         conf.find_program("rpcgen", mandatory = True)
@@ -95,8 +110,9 @@ def configure(conf):
     conf.env.FREEBSD_OPTIONS =conf.options.freebsd_options
     conf.env.OPTIMIZATION = conf.options.optimization
     rtems.configure(conf, bsp_configure)
-    libbsd_waf.configure(conf)
+    builder.configure(conf)
 
 def build(bld):
+    create_builder();
     rtems.build(bld)
-    libbsd_waf.build(bld)
+    builder.build(bld)
-- 
2.15.1



More information about the devel mailing list