Changeset f7a09b5 in rtems-libbsd for builder.py


Ignore:
Timestamp:
Mar 26, 2018, 4:14:52 AM (15 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
eeb3fd5d9b07ac9a2e280cff60a1b762bd273a8d, 1e989998de954bef51e6c19cc3d64d39f32100aa
Children:
d797c5d
Parents:
8189ea8
git-author:
Chris Johns <chrisj@…> (03/26/18 04:14:52)
git-committer:
Christian Mauderer <christian.mauderer@…> (04/10/18 06:54:52)
Message:

waf: Support building from libbsd.py directly from waf.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • builder.py

    r8189ea8 rf7a09b5  
    156156# This stuff needs to move to libbsd.py.
    157157#
    158 def commonFlags():
    159     return ['-g',
    160             '-fno-strict-aliasing',
    161             '-ffreestanding',
    162             '-fno-common']
    163 
    164 def commonWarnings():
    165     return ['-Wall',
    166             '-Wno-format',
    167             '-Wno-pointer-sign']
    168 
    169 def commonNoWarnings():
    170     return ['-w']
    171 
    172 def includes():
    173     return ['-Irtemsbsd/include',
    174             '-Ifreebsd/sys',
    175             '-Ifreebsd/sys/contrib/pf',
    176             '-Ifreebsd/crypto',
    177             '-Ifreebsd/sys/net',
    178             '-Ifreebsd/include',
    179             '-Ifreebsd/lib',
    180             '-Ifreebsd/lib/libbsdstat',
    181             '-Ifreebsd/lib/libc/include',
    182             '-Ifreebsd/lib/libc/isc/include',
    183             '-Ifreebsd/lib/libc/resolv',
    184             '-Ifreebsd/lib/libutil',
    185             '-Ifreebsd/lib/libkvm',
    186             '-Ifreebsd/lib/libmemstat',
    187             '-Ifreebsd/lib/libipsec',
    188             '-Ifreebsd/contrib/expat/lib',
    189             '-Ifreebsd/contrib/libpcap',
    190             '-Ifreebsd/contrib/libxo',
    191             '-Ilinux/include',
    192             '-Ilinux/drivers/net/ethernet/freescale/fman',
    193             '-Irtemsbsd/sys',
    194             '-ImDNSResponder/mDNSCore',
    195             '-ImDNSResponder/mDNSShared',
    196             '-ImDNSResponder/mDNSPosix',
    197             '-Itestsuite/include']
    198 
    199 def buildInclude():
    200     """ Returns the path where headers will be copied during build. """
    201     return 'build-include'
    202 
    203 def cpuIncludes():
    204     return ['-Irtemsbsd/@CPU@/include',
    205             '-Ifreebsd/sys/@CPU@/include']
    206 
    207 def cflags():
    208     return []
    209 
    210 def cxxflags():
    211     return []
    212 
    213 def headerPaths():
    214     """ Returns a list of information about what header files should be
    215     installed.
    216 
    217     The list is also used to find headers with a local path that doesn't match
    218     it's dest path. Due to the difference in the path name such files are
    219     problematic during the build if they are included using their later
    220     installation path (dest path) name. Therefore they are copied into a
    221     sub-directory of the build path so that they can be included with their
    222     normal installation path. """
    223 
    224     #         local path                      wildcard             dest path
    225     return [('rtemsbsd/include',              '**/*.h',            ''),
    226             ('rtemsbsd/\' + bld.env.RTEMS_ARCH + \'/include', '**/*.h', ''),
    227             ('rtemsbsd/mghttpd',              'mongoose.h',        'mghttpd'),
    228             ('freebsd/include',               '**/*.h',            ''),
    229             ('freebsd/sys/bsm',               '**/*.h',            'bsm'),
    230             ('freebsd/sys/cam',               '**/*.h',            'cam'),
    231             ('freebsd/sys/net',               '**/*.h',            'net'),
    232             ('freebsd/sys/net80211',          '**/*.h',            'net80211'),
    233             ('freebsd/sys/netinet',           '**/*.h',            'netinet'),
    234             ('freebsd/sys/netinet6',          '**/*.h',            'netinet6'),
    235             ('freebsd/sys/netipsec',          '**/*.h',            'netipsec'),
    236             ('freebsd/contrib/libpcap',       '*.h',               ''),
    237             ('freebsd/contrib/libpcap/pcap',  '*.h',               'pcap'),
    238             ('freebsd/crypto/openssl',        '*.h',               'openssl'),
    239             ('freebsd/crypto/openssl/crypto', '*.h',               'openssl'),
    240             ('freebsd/crypto/openssl/ssl',    '(ssl|kssl|ssl2).h', 'openssl'),
    241             ('freebsd/crypto/openssl/crypto/aes', 'aes.h',         'openssl'),
    242             ('freebsd/crypto/openssl/crypto/err', 'err.h',         'openssl'),
    243             ('freebsd/crypto/openssl/crypto/bio', '*.h',           'openssl'),
    244             ('freebsd/crypto/openssl/crypto/dsa', '*.h',           'openssl'),
    245             ('freebsd/crypto/openssl/ssl',        '*.h',           'openssl'),
    246             ('freebsd/crypto/openssl/crypto/bn',  'bn.h',          'openssl'),
    247             ('freebsd/crypto/openssl/crypto/x509',  'x509.h',      'openssl'),
    248             ('freebsd/crypto/openssl/crypto/cast',  'cast.h',      'openssl'),
    249             ('freebsd/crypto/openssl/crypto/lhash', 'lhash.h',     'openssl'),
    250             ('freebsd/crypto/openssl/crypto/ecdh',  'ecdh.h',      'openssl'),
    251             ('freebsd/crypto/openssl/crypto/ecdsa', 'ecdsa.h',     'openssl'),
    252             ('freebsd/crypto/openssl/crypto/idea',  'idea.h',      'openssl'),
    253             ('freebsd/crypto/openssl/crypto/mdc2',  'mdc2.h',      'openssl'),
    254             ('freebsd/crypto/openssl/crypto/md4',   'md4.h',       'openssl'),
    255             ('freebsd/crypto/openssl/crypto/md5',   'md5.h',       'openssl'),
    256             ('freebsd/crypto/openssl/crypto/rc2',   'rc2.h',       'openssl'),
    257             ('freebsd/crypto/openssl/crypto/rc4',   'rc4.h',       'openssl'),
    258             ('freebsd/crypto/openssl/crypto/ripemd','ripemd.h',    'openssl'),
    259             ('freebsd/crypto/openssl/crypto/seed',  'seed.h',      'openssl'),
    260             ('freebsd/crypto/openssl/crypto/sha',   'sha.h',       'openssl'),
    261             ('freebsd/crypto/openssl/crypto/x509v3','x509v3.h',    'openssl'),
    262             ('freebsd/crypto/openssl/crypto/x509',  'x509_vfy.h',  'openssl'),
    263             ('freebsd/crypto/openssl/crypto/buffer','buffer.h',    'openssl'),
    264             ('freebsd/crypto/openssl/crypto/comp',  'comp.h',      'openssl'),
    265             ('freebsd/crypto/openssl/crypto/asn1',  'asn1_mac.h',  'openssl'),
    266             ('freebsd/crypto/openssl/crypto/pem',  '(pem|pem2).h', 'openssl'),
    267             ('freebsd/crypto/openssl/crypto/rsa',   'rsa.h',       'openssl'),
    268             ('freebsd/crypto/openssl/crypto/evp',   'evp.h',       'openssl'),
    269             ('freebsd/crypto/openssl/crypto/ec',    'ec.h',        'openssl'),
    270             ('freebsd/crypto/openssl/crypto/engine', 'engine.h',   'openssl'),
    271             ('freebsd/crypto/openssl/crypto/pkcs7', 'pkcs7.h',     'openssl'),
    272             ('freebsd/crypto/openssl/crypto/hmac',  'hmac.h',      'openssl'),
    273             ('freebsd/crypto/openssl/crypto/pqueue', 'pqueue.h',   'openssl'),
    274             ('freebsd/crypto/openssl/crypto/ocsp',  'ocsp.h',      'openssl'),
    275             ('freebsd/crypto/openssl/crypto/rand',  'rand.h',      'openssl'),
    276             ('freebsd/crypto/openssl/crypto/srp',   'srp.h',       'openssl'),
    277             ('freebsd/crypto/openssl/crypto/dh',    'dh.h',        'openssl'),
    278             ('freebsd/crypto/openssl/crypto/dso',   'dso.h',       'openssl'),
    279             ('freebsd/crypto/openssl/crypto/krb5',  'krb5_asn.h',  'openssl'),
    280             ('freebsd/crypto/openssl/crypto/cms',   'cms.h',       'openssl'),
    281             ('freebsd/crypto/openssl/crypto/txt_db', 'txt_db.h',   'openssl'),
    282             ('freebsd/crypto/openssl/crypto/ts',    'ts.h',        'openssl'),
    283             ('freebsd/crypto/openssl/crypto/modes', 'modes.h',     'openssl'),
    284             ('freebsd/crypto/openssl/crypto/pkcs12', 'pkcs12.h',   'openssl'),
    285             ('freebsd/crypto/openssl/crypto/bf',    'blowfish.h',  'openssl'),
    286             ('freebsd/crypto/openssl/crypto/cmac',  'cmac.h',      'openssl'),
    287             ('freebsd/crypto/openssl/crypto/asn1',  '(asn1|asn1t).h',            'openssl'),
    288             ('freebsd/crypto/openssl/crypto/camellia', 'camellia.h',             'openssl'),
    289             ('freebsd/crypto/openssl/crypto/objects',  '(objects|obj_mac).h',    'openssl'),
    290             ('freebsd/crypto/openssl/crypto/conf',     '(conf|conf_api).h',      'openssl'),
    291             ('freebsd/crypto/openssl/crypto/des',      '(des|des_old).h',        'openssl'),
    292             ('freebsd/crypto/openssl/crypto/ui',       '(ui_compat|ui).h',       'openssl'),
    293             ('freebsd/crypto/openssl/crypto/whrlpool', 'whrlpool.h',             'openssl'),
    294             ('freebsd/crypto/openssl/crypto/stack',    '(stack|safestack).h',    'openssl'),
    295             ('freebsd/crypto/openssl/crypto', '(opensslconf|opensslv|crypto).h', 'openssl'),
    296             ('freebsd/sys/rpc',               '**/*.h',            'rpc'),
    297             ('freebsd/sys/sys',               '**/*.h',            'sys'),
    298             ('freebsd/sys/vm',                '**/*.h',            'vm'),
    299             ('freebsd/sys/dev/mii',           '**/*.h',            'dev/mii'),
    300             ('linux/include',                 '**/*.h',            ''),
    301             ('mDNSResponder/mDNSCore',        'mDNSDebug.h',       ''),
    302             ('mDNSResponder/mDNSCore',        'mDNSEmbeddedAPI.h', ''),
    303             ('mDNSResponder/mDNSShared',      'dns_sd.h',          ''),
    304             ('mDNSResponder/mDNSPosix',       'mDNSPosix.h',       '')]
    305158
    306159# Move target dependent files under a machine directory
     
    631484# Module - logical group of related files we can perform actions on
    632485#
    633 class Module:
     486class Module(object):
    634487    def __init__(self, name):
    635488        self.name = name
     
    775628# Manager - a collection of modules.
    776629#
    777 class ModuleManager:
     630class ModuleManager(object):
    778631    def __init__(self):
    779632        self.modules = {}
    780633        self.generator = {}
     634        self.configuration = {}
    781635        self.setGenerators()
    782636
     
    797651        for m in sorted(self.modules):
    798652            self.modules[m].processSource(direction)
     653
     654    def setConfiguration(self, config):
     655        self.configuration = config
     656
     657    def getConfiguration(self):
     658        return self.configuration
Note: See TracChangeset for help on using the changeset viewer.