On Thu, Jun 08, 2017 at 12:50:38PM +0530, Shreyansh Jain wrote: > Hello Bruce, > > On Wednesday 07 June 2017 04:17 PM, Bruce Richardson wrote: > > to use, need to have meson >= 0.4 and ninja-build packages installed. > > > > Then do the following in main DPDK directory: > > > > meson build > > cd build > > ninja > > sudo ninja install > > > > This will compile up some DPDK libs, the FVL PMD and testpmd and install > > them in /usr/local/. [On Fedora you will need to add /usr/local/lib64 to > > your ld path, it's not there by default.] > > Then you can run testpmd as e.g. > > > > <...snip...> > > > diff --git a/test/test/meson.build b/test/test/meson.build > > new file mode 100644 > > index 0000000..cc85408 > > --- /dev/null > > +++ b/test/test/meson.build > > @@ -0,0 +1,23 @@ > > +executable('dpdk-test', > > + sources: [ > > + 'commands.c', > > + 'packet_burst_generator.c', > > + 'test.c', > > + 'test_acl.c', > > + 'test_cmdline.c', > > + 'test_cmdline_cirbuf.c', > > + 'test_cmdline_etheraddr.c', > > + 'test_cmdline_ipaddr.c', > > + 'test_cmdline_lib.c', > > + 'test_cmdline_num.c', > > + 'test_cmdline_portlist.c', > > + 'test_cmdline_string.c', > > + 'test_cpuflags.c', > > + 'test_mp_secondary.c', > > + 'test_pmd_perf.c', > > + 'test_ring.c', > > + 'test_ring_perf.c' > > + ], > > + dependencies: [rte_eal, rte_ring, rte_mempool, rte_cmdline, > > + rte_mbuf, rte_net, rte_ether, rte_acl], > > + install: true) > > <..snip..> > > I tried this with x86 and it worked like a charm. Really nice and clean > way to build DPDK - and super fast. Awesome. > > I want to use this for an ARM target. Any idea what I should change in > meson.build? Or, is that even straightforward? > (Yes, I can lookup documentation for meson - just being lazy. If you > don't have much idea, I will give this a spin on ARM in a couple of > days) > I haven't looked to see how to get it to work on arm - I just wanted to get some sort of prototype out and get feedback before I invested too much extra time into this. :-) I suggest to start by checking what the "host_machine" structure reports for your arm targets and work from there. See librte_eal/common/include/meson.build:
subdir('arch/@0@'.format(host_machine.cpu_family())) I also was learning meson on-the-fly while working on this, so I'm by no means an expert. /Bruce