diff options
author | Chris Johns <chrisj@rtems.org> | 2015-05-21 17:01:34 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2015-05-21 17:01:34 +1000 |
commit | 0768880d75e3a3fe604b98d3f1dbbe2be9cbef3a (patch) | |
tree | d95fadc35a5c88836ec541c2a5a71c7eab51baca | |
parent | wscript: Regenerate (diff) | |
download | rtems-libbsd-0768880d75e3a3fe604b98d3f1dbbe2be9cbef3a.tar.bz2 |
waf: Add install support.
Install to the --prefix path passed to configure.
-rwxr-xr-x | builder.py | 22 | ||||
-rw-r--r-- | rtemsbsd/include/dlfcn.h | 1 | ||||
-rwxr-xr-x | waf_generator.py | 30 | ||||
-rw-r--r-- | wscript | 123 |
4 files changed, 141 insertions, 35 deletions
@@ -104,6 +104,28 @@ def cflags(): def cxxflags(): return ['-std=gnu++11'] +def header_paths(): + # local path wildcard dest path + return [('rtemsbsd/include', '*.h', ''), + ('rtemsbsd/mghttpd', 'mongoose.h', 'mghttpd'), + ('freebsd/include', '*.h', ''), + ('freebsd/sys/contrib/altq/altq', '*.h', 'altq'), + ('freebsd/sys/bsm', '*.h', 'bsm'), + ('freebsd/sys/cam', '*.h', 'cam'), + ('freebsd/sys/net', '*.h', 'net'), + ('freebsd/sys/net80211', '*.h', 'net80211'), + ('freebsd/sys/netatalk', '*.h', 'netatalk'), + ('freebsd/sys/netinet', '*.h', 'netinet'), + ('freebsd/sys/netinet6', '*.h', 'netinet6'), + ('freebsd/sys/netipsec', '*.h', 'netipsec'), + ('freebsd/sys/sys', '*.h', 'sys'), + ('freebsd/sys/vm', '*.h', 'vm'), + ('freebsd/sys/dev/mii', '*.h', 'dev/mii'), + ('mDNSResponder/mDNSCore', 'mDNSDebug.h', ''), + ('mDNSResponder/mDNSCore', 'mDNSEmbeddedAPI.h', ''), + ('mDNSResponder/mDNSShared', 'dns_sd.h', ''), + ('mDNSResponder/mDNSPosix', 'mDNSPosix.h', '')] + # compare and process file only if different # + copy or diff depending on execution mode def processIfDifferent(new, old, src): diff --git a/rtemsbsd/include/dlfcn.h b/rtemsbsd/include/dlfcn.h deleted file mode 100644 index 936ffd88..00000000 --- a/rtemsbsd/include/dlfcn.h +++ /dev/null @@ -1 +0,0 @@ -/* EMPTY */ diff --git a/waf_generator.py b/waf_generator.py index f6365b2f..28ea93d0 100755 --- a/waf_generator.py +++ b/waf_generator.py @@ -325,7 +325,8 @@ class ModuleManager(builder.ModuleManager): '-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_netmask))') + '(net_cfg_self_ip, net_cfg_netmask, net_cfg_peer_ip, net_cfg_netmask),') + self.add(' update_outputs = True)') self.add('') # @@ -336,7 +337,8 @@ class ModuleManager(builder.ModuleManager): self.add(' # KVM Symbols') self.add(' bld(target = "%s",' % (kvmsymbols['files']['all'][0])) self.add(' source = "rtemsbsd/rtems/generate_kvm_symbols",') - self.add(' rule = "./${SRC} > ${TGT}")') + self.add(' rule = "./${SRC} > ${TGT}",') + self.add(' update_outputs = True)') self.add(' bld.objects(target = "kvmsymbols",') self.add(' features = "c",') self.add(' cflags = cflags,') @@ -345,6 +347,8 @@ class ModuleManager(builder.ModuleManager): self.add(' libbsd_use += ["kvmsymbols"]') self.add('') + self.add(' bld.add_group()') + if 'RPCGen' in data: rpcgen = data['RPCGen'] rpcname = rpcgen['files']['all'][0][:-2] @@ -457,6 +461,25 @@ class ModuleManager(builder.ModuleManager): self.add(' use = libbsd_use)') self.add('') + # + # Head file collector. + # + self.add(' # Installs. ') + self.add(' bld.install_files("${PREFIX}/" + rtems.arch_bsp_lib_path(bld.env.RTEMS_ARCH_BSP), ["libbsd.a"])') + header_paths = builder.header_paths() + self.add(' header_paths = [%s,' % (str(header_paths[0]))) + for hp in header_paths[1:-1]: + self.add(' %s,' % (str(hp))) + self.add(' %s]' % (str(header_paths[-1]))) + self.add(' for headers in header_paths:') + self.add(' ipath = os.path.join(rtems.arch_bsp_include_path(bld.env.RTEMS_ARCH_BSP), headers[2])') + self.add(' start_dir = bld.path.find_dir(headers[0])') + 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 test_name in tests: @@ -468,7 +491,8 @@ class ModuleManager(builder.ModuleManager): self.add(' includes = includes,') self.add(' source = test_%s,' % (test_name)) self.add(' use = ["bsd"],') - self.add(' lib = ["m", "z"])') + self.add(' lib = ["m", "z"],') + self.add(' install_path = None)') self.add('') self.write() @@ -127,12 +127,14 @@ def build(bld): 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_netmask)) + 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_netmask), + update_outputs = True) # KVM Symbols bld(target = "rtemsbsd/rtems/rtems-kvm-symbols.c", source = "rtemsbsd/rtems/generate_kvm_symbols", - rule = "./${SRC} > ${TGT}") + rule = "./${SRC} > ${TGT}", + update_outputs = True) bld.objects(target = "kvmsymbols", features = "c", cflags = cflags, @@ -140,6 +142,7 @@ def build(bld): source = "rtemsbsd/rtems/rtems-kvm-symbols.c") libbsd_use += ["kvmsymbols"] + bld.add_group() # RPC Generation if bld.env.AUTO_REGEN: bld(target = "freebsd/include/rpc/rpcb_prot.h", @@ -915,6 +918,35 @@ def build(bld): source = source, use = libbsd_use) + # Installs. + bld.install_files("${PREFIX}/" + rtems.arch_bsp_lib_path(bld.env.RTEMS_ARCH_BSP), ["libbsd.a"]) + header_paths = [('rtemsbsd/include', '*.h', ''), + ('rtemsbsd/mghttpd', 'mongoose.h', 'mghttpd'), + ('freebsd/include', '*.h', ''), + ('freebsd/sys/contrib/altq/altq', '*.h', 'altq'), + ('freebsd/sys/bsm', '*.h', 'bsm'), + ('freebsd/sys/cam', '*.h', 'cam'), + ('freebsd/sys/net', '*.h', 'net'), + ('freebsd/sys/net80211', '*.h', 'net80211'), + ('freebsd/sys/netatalk', '*.h', 'netatalk'), + ('freebsd/sys/netinet', '*.h', 'netinet'), + ('freebsd/sys/netinet6', '*.h', 'netinet6'), + ('freebsd/sys/netipsec', '*.h', 'netipsec'), + ('freebsd/sys/sys', '*.h', 'sys'), + ('freebsd/sys/vm', '*.h', 'vm'), + ('freebsd/sys/dev/mii', '*.h', 'dev/mii'), + ('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_ARCH_BSP), headers[2]) + start_dir = bld.path.find_dir(headers[0]) + bld.install_files("${PREFIX}/" + ipath, + start_dir.ant_glob("**/" + headers[1]), + cwd = start_dir, + relative_trick = True) + # Tests test_init01 = ['testsuite/init01/test_main.c'] bld.program(target = "init01", @@ -923,7 +955,8 @@ def build(bld): includes = includes, source = test_init01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_syscalls01 = ['testsuite/syscalls01/test_main.c'] bld.program(target = "syscalls01", @@ -932,7 +965,8 @@ def build(bld): includes = includes, source = test_syscalls01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_thread01 = ['testsuite/thread01/test_main.c'] bld.program(target = "thread01", @@ -941,7 +975,8 @@ def build(bld): includes = includes, source = test_thread01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_loopback01 = ['testsuite/loopback01/test_main.c'] bld.program(target = "loopback01", @@ -950,7 +985,8 @@ def build(bld): includes = includes, source = test_loopback01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_foobarclient = ['testsuite/foobarclient/test_main.c'] bld.program(target = "foobarclient", @@ -959,7 +995,8 @@ def build(bld): includes = includes, source = test_foobarclient, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_lagg01 = ['testsuite/lagg01/test_main.c'] bld.program(target = "lagg01", @@ -968,7 +1005,8 @@ def build(bld): includes = includes, source = test_lagg01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_timeout01 = ['testsuite/timeout01/init.c', 'testsuite/timeout01/timeout_test.c'] @@ -978,7 +1016,8 @@ def build(bld): includes = includes, source = test_timeout01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_dhcpcd02 = ['testsuite/dhcpcd02/test_main.c'] bld.program(target = "dhcpcd02", @@ -987,7 +1026,8 @@ def build(bld): includes = includes, source = test_dhcpcd02, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_ftpd01 = ['testsuite/ftpd01/test_main.c'] bld.program(target = "ftpd01", @@ -996,7 +1036,8 @@ def build(bld): includes = includes, source = test_ftpd01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_vlan01 = ['testsuite/vlan01/test_main.c'] bld.program(target = "vlan01", @@ -1005,7 +1046,8 @@ def build(bld): includes = includes, source = test_vlan01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_foobarserver = ['testsuite/foobarserver/test_main.c'] bld.program(target = "foobarserver", @@ -1014,7 +1056,8 @@ def build(bld): includes = includes, source = test_foobarserver, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_selectpollkqueue01 = ['testsuite/selectpollkqueue01/test_main.c'] bld.program(target = "selectpollkqueue01", @@ -1023,7 +1066,8 @@ def build(bld): includes = includes, source = test_selectpollkqueue01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_zerocopy01 = ['testsuite/zerocopy01/test_main.c'] bld.program(target = "zerocopy01", @@ -1032,7 +1076,8 @@ def build(bld): includes = includes, source = test_zerocopy01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_smp01 = ['testsuite/smp01/test_main.c'] bld.program(target = "smp01", @@ -1041,7 +1086,8 @@ def build(bld): includes = includes, source = test_smp01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_media01 = ['testsuite/media01/test_main.c'] bld.program(target = "media01", @@ -1050,7 +1096,8 @@ def build(bld): includes = includes, source = test_media01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_condvar01 = ['testsuite/condvar01/test_main.c'] bld.program(target = "condvar01", @@ -1059,7 +1106,8 @@ def build(bld): includes = includes, source = test_condvar01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_telnetd01 = ['testsuite/telnetd01/test_main.c'] bld.program(target = "telnetd01", @@ -1068,7 +1116,8 @@ def build(bld): includes = includes, source = test_telnetd01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_ppp01 = ['testsuite/ppp01/test_main.c'] bld.program(target = "ppp01", @@ -1077,7 +1126,8 @@ def build(bld): includes = includes, source = test_ppp01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_swi01 = ['testsuite/swi01/init.c', 'testsuite/swi01/swi_test.c'] @@ -1087,7 +1137,8 @@ def build(bld): includes = includes, source = test_swi01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_netshell01 = ['testsuite/netshell01/shellconfig.c', 'testsuite/netshell01/test_main.c'] @@ -1097,7 +1148,8 @@ def build(bld): includes = includes, source = test_netshell01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_rwlock01 = ['testsuite/rwlock01/test_main.c'] bld.program(target = "rwlock01", @@ -1106,7 +1158,8 @@ def build(bld): includes = includes, source = test_rwlock01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_mutex01 = ['testsuite/mutex01/test_main.c'] bld.program(target = "mutex01", @@ -1115,7 +1168,8 @@ def build(bld): includes = includes, source = test_mutex01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_dhcpcd01 = ['testsuite/dhcpcd01/test_main.c'] bld.program(target = "dhcpcd01", @@ -1124,7 +1178,8 @@ def build(bld): includes = includes, source = test_dhcpcd01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_unix01 = ['testsuite/unix01/test_main.c'] bld.program(target = "unix01", @@ -1133,7 +1188,8 @@ def build(bld): includes = includes, source = test_unix01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_commands01 = ['testsuite/commands01/test_main.c'] bld.program(target = "commands01", @@ -1142,7 +1198,8 @@ def build(bld): includes = includes, source = test_commands01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_ping01 = ['testsuite/ping01/test_main.c'] bld.program(target = "ping01", @@ -1151,7 +1208,8 @@ def build(bld): includes = includes, source = test_ping01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_usb01 = ['testsuite/usb01/init.c', 'testsuite/usb01/test-file-system.c'] @@ -1161,7 +1219,8 @@ def build(bld): includes = includes, source = test_usb01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_arphole = ['testsuite/arphole/test_main.c'] bld.program(target = "arphole", @@ -1170,7 +1229,8 @@ def build(bld): includes = includes, source = test_arphole, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) test_sleep01 = ['testsuite/sleep01/test_main.c'] bld.program(target = "sleep01", @@ -1179,5 +1239,6 @@ def build(bld): includes = includes, source = test_sleep01, use = ["bsd"], - lib = ["m", "z"]) + lib = ["m", "z"], + install_path = None) |