All of lore.kernel.org
 help / color / mirror / Atom feed
From: Felix Fietkau <nbd@openwrt.org>
To: Jon Loeliger <jdl@bigfootnetworks.com>
Cc: linux-wireless <linux-wireless@vger.kernel.org>
Subject: Re: Cross compiling libnl, iw, crda and friends
Date: Tue, 09 Jun 2009 23:04:16 +0200	[thread overview]
Message-ID: <4A2ECE50.7020704@openwrt.org> (raw)
In-Reply-To: <1244577286.12185.7.camel@jdl-desktop>

Jon Loeliger wrote:
> Guys,
> 
> Am I missing an obvious solution to cross compiling libnl, iw,
> the crda and related friends?
> 
> I have a cross-compiled kernel and headers and such, and I'd
> like to add the various wireless tools into the mix, but I
> think the existing Makefiles are basically unaware of cross
> compiling.
> 
> I think there are a couple points of confusion.  While we need
> to compile on the host machine, we need to point to the target
> include files which may not be installed in standard locations.
> The resulting libraries, though, need to be installed in standard
> locations on the target.  This combination doesn't seem to be
> recordable in the pkg-config files (libnl-2.0.pc, for example).
> 
> Then things like crda and iw need to use the headers from the
> cross-build installation and the cross-kernel, not the host's.
> 
> Also, crda seems to have hard paths for the regulatory.bin.
> I want to point to my source package for the build, but then
> install it into a standard location on the target.  Feh.
> 
> I feel like I'm missing something here...?
In OpenWrt, we have generic workarounds for stuff like libtool and
pkg-config. You may need to override PKG_CONFIG_PATH and
PKG_CONFIG_LIBDIR to point to your staging directory (if you use such a
thing). The configure script can be used with generic options like for
other packages.
Another thing that might interest you is that I created a tiny version
of libnl (based on a git snapshot), which only contains genl, not
rtnetlink or any of the netfilter stuff, and compiles down to less than
30k in binary size.
You can find it here:
https://dev.openwrt.org/browser/trunk/package/libnl-tiny
Our crda build system file is here:
https://dev.openwrt.org/browser/trunk/package/crda/Makefile
(it's an OpenWrt build system makefile, but you might get the point by
reading it).

Hope this helps,

- Felix

  parent reply	other threads:[~2009-06-09 21:04 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-09 19:54 Cross compiling libnl, iw, crda and friends Jon Loeliger
2009-06-09 20:00 ` John W. Linville
2009-06-09 21:04 ` Felix Fietkau [this message]
2009-06-09 21:47 ` Alexandre Becholey - s h o c k f i s h /
2009-06-09 22:50 ` Samuel Ortiz
2009-06-10 14:59   ` Jon Loeliger

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=4A2ECE50.7020704@openwrt.org \
    --to=nbd@openwrt.org \
    --cc=jdl@bigfootnetworks.com \
    --cc=linux-wireless@vger.kernel.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.