logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

gen.lua (2972B)


  1. cflags{
  2. '-Wall', '-Wformat=2', '-Wmissing-declarations', '-Wmissing-prototypes',
  3. '-Wold-style-definition', '-Wstrict-prototypes', '-Wno-maybe-uninitialized',
  4. '-Wno-format-truncation', '-Wno-stringop-overflow',
  5. '-Wno-cpp', -- we don't have libmnl
  6. '-D _GNU_SOURCE',
  7. '-D HAVE_SETNS',
  8. '-D HAVE_HANDLE_AT',
  9. [[-D 'CONF_USR_DIR="/share/iproute2"']],
  10. [[-D 'CONF_ETC_DIR="/etc/iproute2"']],
  11. [[-D 'NETNS_RUN_DIR="/run/netns"']],
  12. [[-D 'NETNS_ETC_DIR="/etc/netns"']],
  13. '-D CONF_COLOR=COLOR_OPT_AUTO',
  14. '-I $srcdir/include',
  15. '-I $srcdir/include/uapi',
  16. '-I $srcdir/misc',
  17. '-isystem $builddir/pkg/linux-headers/include',
  18. }
  19. pkg.deps = {
  20. 'pkg/linux-headers/headers',
  21. }
  22. lib('libnetlink.a', [[lib/(
  23. libgenl.c libnetlink.c
  24. utils.c utils_math.c rt_names.c ll_map.c ll_types.c ll_proto.c ll_addr.c
  25. inet_proto.c namespace.c json_writer.c json_print.c json_print_math.c
  26. names.c color.c bpf_legacy.c bpf_glue.c exec.c fs.c cg_map.c ppp_proto.c
  27. selinux.c
  28. ax25_ntop.c
  29. rose_ntop.c
  30. mpls_ntop.c mpls_pton.c
  31. netrom_ntop.c
  32. )]])
  33. exe('bin/ip', [[ip/(
  34. ip.c ipaddress.c ipaddrlabel.c iproute.c iprule.c ipnetns.c
  35. rtm_map.c iptunnel.c ip6tunnel.c tunnel.c ipneigh.c ipntable.c iplink.c
  36. ipmaddr.c ipmonitor.c ipmroute.c ipprefix.c iptuntap.c iptoken.c
  37. ipxfrm.c xfrm_state.c xfrm_policy.c xfrm_monitor.c iplink_dummy.c
  38. iplink_ifb.c iplink_nlmon.c iplink_team.c iplink_vcan.c iplink_vxcan.c
  39. iplink_vlan.c link_veth.c link_gre.c iplink_can.c iplink_xdp.c
  40. iplink_macvlan.c ipl2tp.c link_vti.c link_vti6.c link_xfrm.c
  41. iplink_vxlan.c tcp_metrics.c iplink_ipoib.c ipnetconf.c link_ip6tnl.c
  42. link_iptnl.c link_gre6.c iplink_bond.c iplink_bond_slave.c iplink_hsr.c
  43. iplink_bridge.c iplink_bridge_slave.c iplink_dsa.c ipfou.c iplink_ipvlan.c
  44. iplink_geneve.c iplink_vrf.c iproute_lwtunnel.c ipmacsec.c ipila.c
  45. ipvrf.c iplink_xstats.c ipseg6.c iplink_netdevsim.c iplink_rmnet.c
  46. ipnexthop.c ipmptcp.c iplink_bareudp.c iplink_wwan.c ipioam6.c
  47. iplink_amt.c iplink_batadv.c iplink_gtp.c iplink_virt_wifi.c
  48. iplink_netkit.c ipstats.c
  49. ) libnetlink.a]])
  50. file('bin/ip', '755', '$outdir/bin/ip')
  51. exe('bin/bridge', [[
  52. bridge/(bridge.c fdb.c monitor.c link.c mdb.c vlan.c vni.c)
  53. libnetlink.a
  54. ]])
  55. file('bin/bridge', '755', '$outdir/bin/bridge')
  56. yacc('ssfilter', '$srcdir/misc/ssfilter.y')
  57. exe('bin/ss', {'misc/ss.c', 'misc/ssfilter_check.c', '$outdir/ssfilter.tab.c', 'libnetlink.a'})
  58. file('bin/ss', '755', '$outdir/bin/ss')
  59. man(paths[[man/man8/(
  60. bridge ip ss
  61. ip-(
  62. addrlabel fou gue l2tp macsec maddress monitor mroute neighbour
  63. netconf ntable rule sr tcp_metrics token tunnel vrf xfrm
  64. )
  65. ).8]])
  66. for _, name in ipairs{'ip-address', 'ip-link', 'ip-netns', 'ip-route'} do
  67. local out = '$outdir/'..name..'.8'
  68. build('sed', out, '$srcdir/man/man8/'..name..'.8.in', {
  69. expr={
  70. '-e s,@NETNS_ETC_DIR@,/etc/netns,g',
  71. '-e s,@NETNS_RUN_DIR@,/run/netns,g',
  72. '-e s,@SYSCONF_ETC_DIR@,/etc/iproute2,g',
  73. '-e s,@SYSCONF_USR_DIR@,/share/iproute2,g',
  74. },
  75. })
  76. man{out}
  77. end
  78. fetch 'git'