[RFC/PATCH] eap_peer: create a libeap library, with header files and pkg-config [v2]

Inaky Perez-Gonzalez inaky
Mon Oct 11 10:04:36 PDT 2010

Hi Jouni

On Sat, 2010-10-09 at 17:59 +0300, Jouni Malinen wrote: 
> On Sat, Oct 02, 2010 at 12:17:52AM -0700, Inaky Perez-Gonzalez wrote:
> > This adds infrastructure in src/eap_peer to make libeap.so and install
> > the needed header files and pkg-config files.
> How does this differ from eap_example/Makefile for building libeap.so
> and why not extend that instead if you need something more? In addition,

Good call -- the rationale (or my excuse) behind that is that I didn't
do the initial patch. I've just nursed and cleaned it up as needed to
get it to the current shape.

So you would rather have me modify eap_example/Makefile to generate

> since there already are ways of building src/{utils,crypto,tls}
> libraries, I would also prefer to use those instead of adding yet another
> set of Makefile rules..

Here is my problem with this one: they need to be built with different
flags (namely -fPIC).

I ran into two set of issues when doing this and then putting it into
different build systems (Meego's, opensuse's, etc):

- CFLAGS get overriden from the environment, Make takes those, CFLAGS
from the makefile get forgotten.

- Different arches react to CFLAGS combination for shared libraries with
different levels of happiness. Whereas x86* takes a normal .o and makes
a .so out of it (albeit non very relocatable), ARM flat out refuses to
take it (rightly so), hence the need to build the stuff for the .so with
-fPIC --

However, I didn't want to force things like wpa_supplicant, to use
libeap.so or objects built for it unless you guys agree with it. Then I
would be able to collapse all in a single compile 'loop' -- but I'd like
to also ask for your advice on how you'd rather have that done.

> > diff --git a/src/eap_peer/Makefile b/src/eap_peer/Makefile
> > +# at least for now, need to include config_ssid.h and config_blob.h from
> > +# wpa_supplicant directory
> > +override CFLAGS += -I ../../wpa_supplicant
> Uh.. For what? "make -C src/eap_peer" goes through just fine without
> this.

Missed clean up, thanks for the catch.

More information about the Hostap mailing list