DPDK patches and discussions
 help / color / mirror / Atom feed
From: Daniel Kan <dan@nyansa.com>
To: Thomas Monjalon <thomas.monjalon@6wind.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Any benefit of using DPDK's makefiles instead of using your own and linking against DPDK library
Date: Tue, 14 Jan 2014 12:40:04 -0800	[thread overview]
Message-ID: <BF63A365-B8BD-49CD-9DCE-09D7A47DED02@nyansa.com> (raw)
In-Reply-To: <201401141455.57994.thomas.monjalon@6wind.com>

I think in general, developers are pretty particular about their makefiles and build framework. This is especially true if you have an existing application; migrating it to use dpdk’s build framework is rather cumbersome and likely a non-starter for bigger complex projects. Hence, separating application build from dpdk build will be very useful in many situations. The main trick is to extract the appropriate compilation flags that can be readily consumed by the application build system. As an application developer, nothing is simper than just having some header files, a library file, and some necessary compilation flags. If tools like pkg-config or others can facilitate that process, then we could consider it. But even a simple script that can be give me flags that I can provide to my own build system would already suffice. 

On a similar note, is there any particular reason why many macros such as RTE_MACHINE_XXX are passed as flags to the compiler instead of being defined in rte_config.h? 

Thanks
Dan

On Jan 14, 2014, at 5:55 AM, Thomas Monjalon <thomas.monjalon@6wind.com> wrote:

> Hello Venky,
> 
> 14/01/2014 14:22, Venkatesan, Venky:
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
>>> 14/01/2014 08:02, Daniel Kan:
>>>> I already have existing makefiles for my current application. I would
>>>> like to integrate dpdk into the application.  ’m wondering if there is
>>>> any benefit to use dpdk’s makefiles instead of using your own makefile
>>>> and linking against the library (e.g. libintel_dpdk.a). Thanks.
>>> 
>>> DPDK makefiles have 2 benefits:
>>> - provide a framework
>>> - automatically set CFLAGS and LDFLAGS according to your configuration
>>> 
>>> If you don't need a framework, I think it's better to extract compilation
>>> flags with something like pkg-config.
>>> http://freedesktop.org/wiki/Software/pkg-config
>>> A patch for a such feature would be welcome :)
>> 
>> One other thing to think about - as we add more functionality into DPDK
>> (e.g. new libraries for other packet functions), we integrate them into
>> the DPDK framework. If you extract compilation flags and setup your own
>> makefile, you would have to do this re-integration every time you want to
>> pick up a new release. The same applies to newer files added etc. etc.
>> That is the downside.
> 
> I disagree.
> If the Makefile of the application, use a DPDK script or pkg-config to read 
> the flags from a generated file, the integration is done only once.
> This guide explains the logic and how to implement it:
> 	http://people.freedesktop.org/~dbn/pkg-config-guide.html
> 
> -- 
> Thomas

  parent reply	other threads:[~2014-01-14 20:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-14  7:02 Daniel Kan
2014-01-14 11:38 ` Thomas Monjalon
2014-01-14 13:22   ` Venkatesan, Venky
2014-01-14 13:55     ` Thomas Monjalon
2014-01-14 15:06       ` Hamid Ramazani
2014-01-14 20:40       ` Daniel Kan [this message]
2014-01-16 14:02         ` Olivier MATZ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BF63A365-B8BD-49CD-9DCE-09D7A47DED02@nyansa.com \
    --to=dan@nyansa.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).