All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shriram Rajagopalan <rshriram@cs.ubc.ca>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH 1 of 5 V2] remus: add libnl3 dependency to autoconf scripts
Date: Tue, 8 Oct 2013 19:14:25 -0700	[thread overview]
Message-ID: <CAP8mzPN+ByMVUjFEdu-ymsApEt7HUzqNf9d_kNtJvyiFLc3idA@mail.gmail.com> (raw)
In-Reply-To: <1378302026.17510.124.camel@kazak.uk.xensource.com>


[-- Attachment #1.1: Type: text/plain, Size: 4255 bytes --]

On Wed, Sep 4, 2013 at 6:40 AM, Ian Campbell <Ian.Campbell@citrix.com>wrote:

> On Thu, 2013-08-29 at 15:16 -0700, Shriram Rajagopalan wrote:
> > # HG changeset patch
> > # User Shriram Rajagopalan <rshriram@cs.ubc.ca>
> > # Date 1377641625 25200
> > # Node ID cc2b88cba1c67cc0e0a00c7e63a3ba97e14609cb
> > # Parent  40b079bd57dea24c3b000f233ed123763483a4d5
> > remus: add libnl3 dependency to autoconf scripts
> >
> > Libnl3 is required for controlling Remus network buffering.
> > This patch adds dependency on libnl3 (>= 3.2.8) to autoconf scripts.
> > Also provide ability to configure tools without libnl3 support, that
> > is without network buffering support.
> >
> > Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
> >
> > diff -r 40b079bd57de -r cc2b88cba1c6 config/Tools.mk.in
> > --- a/config/Tools.mk.in      Sun Aug 25 14:39:36 2013 -0700
> > +++ b/config/Tools.mk.in      Tue Aug 27 15:13:45 2013 -0700
> > @@ -35,6 +35,7 @@ PTHREAD_LDFLAGS     := @PTHREAD_LDFLAGS@
> >  PTHREAD_LIBS        := @PTHREAD_LIBS@
> >
> >  PTYFUNCS_LIBS       := @PTYFUNCS_LIBS@
> > +LIBNL3_LIBS         := @LIBNL3_LIBS@
> >
> >  # Download GIT repositories via HTTP or GIT's own protocol?
> >  # GIT's protocol is faster and more robust, when it works at all
> (firewalls
> > @@ -54,6 +55,7 @@ CONFIG_QEMU_TRAD    := @qemu_traditional
> >  CONFIG_QEMU_XEN     := @qemu_xen@
> >  CONFIG_XEND         := @xend@
> >  CONFIG_BLKTAP1      := @blktap1@
> > +CONFIG_REMUS_NETBUF := @remus_netbuf@
> >
> >  #System options
> >  ZLIB                := @zlib@
> > diff -r 40b079bd57de -r cc2b88cba1c6 tools/configure.ac
> > --- a/tools/configure.ac      Sun Aug 25 14:39:36 2013 -0700
> > +++ b/tools/configure.ac      Tue Aug 27 15:13:45 2013 -0700
> > @@ -208,4 +208,19 @@ AC_SUBST(libiconv)
> >  # Checks for header files.
> >  AC_CHECK_HEADERS([yajl/yajl_version.h sys/eventfd.h])
> >
> > +# Check for libnl3 >=3.2.8. If present enable remus network buffering.
> > +PKG_CHECK_EXISTS([libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8
> libnl-cli-3.0 >= 3.2.8],
> > +             [libnl3_lib="y"], [libnl3_lib="n"])
> > +AC_CHECK_HEADER([netlink/route/qdisc/plug.h], [libnl3_dev="y"],
> [libnl3_dev="n"])
>
> Aren't these a bit redundant? i.e. doesn't PKG_CHECK_EXISTS cover the
> development headers?


Unfortunately, libnl3 does not have a pkgconfig .pc file for its dev
headers. So there is no standard way
to check for these headers. Debian has libnl-3-dev. OpenSUSE has
libnl3-devel, etc.


> At least on Debian libnl-3-dev contains:
> [...]
> -rw-r--r-- root/root       770 2013-05-21 22:52
> ./usr/include/libnl3/netlink/route/qdisc/plug.h
> [...]
> -rw-r--r-- root/root       239 2013-05-21 22:52
> ./usr/lib/x86_64-linux-gnu/pkgconfig/libnl-3.0.pc
> [...]
>
> > +AS_IF([test "x$libnl3" = "xn" || test "x$libnl3_dev" = "xn"], [
> > +         AC_MSG_WARN([Disabling support for Remus network buffering.
> > +         Please install libnl3 libraries, command line tools and devel
> > +         headers - version 3.2.8 or higher])
>
> This should be mentioned in README too.
>
> > +         AC_SUBST(remus_netbuf, [n])
> > +         ],[
> > +         LIBNL3_LIBS="-lnl-3 -lnl-route-3"
>
> Since libnl3 uses pkg-cofnig, these should come from there I think.
> There's probably a macro in pkg-config.m4 to help?
>

None that I could find.


>
> > +         AC_SUBST(LIBNL3_LIBS)
> > +         AC_SUBST(remus_netbuf, [y])
> > +])
> > +
> >  AC_OUTPUT()
> > diff -r 40b079bd57de -r cc2b88cba1c6 tools/libxl/Makefile
> > --- a/tools/libxl/Makefile    Sun Aug 25 14:39:36 2013 -0700
> > +++ b/tools/libxl/Makefile    Tue Aug 27 15:13:45 2013 -0700
> > @@ -20,7 +20,7 @@ LIBUUID_LIBS += -luuid
> >  endif
> >
> >  LIBXL_LIBS =
> > -LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest)
> $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(PTYFUNCS_LIBS)
> $(LIBUUID_LIBS)
> > +LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest)
> $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(PTYFUNCS_LIBS)
> $(LIBUUID_LIBS) $(LIBNL3_LIBS)
>
> I think it might be time to break this long line and use
> LIBXL_LIBS  = X Y Z
> LIBXL_LIBS += A B C
> (no need for one line per lib though)
>
> >
> >  CFLAGS_LIBXL += $(CFLAGS_libxenctrl)
> >  CFLAGS_LIBXL += $(CFLAGS_libxenguest)
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 6052 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2013-10-09  2:14 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-29 22:16 [PATCH 0 of 5 V2] Remus/Libxl: Network buffering support Shriram Rajagopalan
2013-08-29 22:16 ` [PATCH 1 of 5 V2] remus: add libnl3 dependency to autoconf scripts Shriram Rajagopalan
2013-09-04 13:40   ` Ian Campbell
2013-10-09  2:14     ` Shriram Rajagopalan [this message]
2013-10-09  8:06       ` Ian Campbell
2013-10-09 16:27         ` Shriram Rajagopalan
2013-10-09 16:36           ` Ian Campbell
2013-08-29 22:16 ` [PATCH 2 of 5 V2] tools/hotplug: Remus network buffering setup scripts Shriram Rajagopalan
2013-09-04 13:50   ` Ian Campbell
2013-08-29 22:16 ` [PATCH 3 of 5 V2] tools/libxl: setup/teardown Remus network buffering Shriram Rajagopalan
2013-09-04 15:17   ` Ian Campbell
2013-10-14 14:23     ` Shriram Rajagopalan
2013-10-15 10:34       ` Ian Campbell
2013-09-04 16:16   ` Ian Jackson
2013-09-04 17:22     ` Shriram Rajagopalan
2013-10-09 16:32       ` Shriram Rajagopalan
2013-10-14 16:30         ` [PATCH] libxl: Deprecate synchronous waiting for the device model Ian Jackson
2013-11-04 16:50           ` Ian Campbell
2013-11-04 17:03             ` Ian Jackson
2013-11-12 16:58               ` [PATCH RESEND] " Ian Jackson
2013-11-12 17:25                 ` Ian Campbell
2013-11-12 17:27                   ` Ian Jackson
2013-10-14 16:34         ` [PATCH 3 of 5 V2] tools/libxl: setup/teardown Remus network buffering [and 1 more messages] Ian Jackson
2013-08-29 22:16 ` [PATCH 4 of 5 V2] tools/libxl: Control network buffering in remus callbacks Shriram Rajagopalan
2013-09-04 15:19   ` Ian Campbell
2013-09-05 11:25   ` Ian Jackson
2013-08-29 22:16 ` [PATCH 5 of 5 V2] tools/xl: Remus - Network buffering cmdline switch Shriram Rajagopalan
2013-09-04 15:24   ` Ian Campbell
2013-09-04 13:21 ` [PATCH 0 of 5 V2] Remus/Libxl: Network buffering support Shriram Rajagopalan
2013-09-04 13:27   ` Ian Campbell

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=CAP8mzPN+ByMVUjFEdu-ymsApEt7HUzqNf9d_kNtJvyiFLc3idA@mail.gmail.com \
    --to=rshriram@cs.ubc.ca \
    --cc=Ian.Campbell@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.