Patchwork libnl: fix compilation on hosts without lex

login
register
mail settings
Submitter Eric BENARD
Date Jan. 7, 2013, 4:43 p.m.
Message ID <1357577024-7889-1-git-send-email-eric@eukrea.com>
Download mbox | patch
Permalink /patch/42243/
State New
Headers show

Comments

Eric BENARD - Jan. 7, 2013, 4:43 p.m.
* libnl's makefiles are calling $(LEX) but only define $(FLEX), thus
compilation on a host which doesn't have lex fails with :
| lex --header-file=route/cls/ematch_grammar.h  -o route/cls/ematch_grammar.c route/cls/ematch_grammar.l
| make[1]: lex: Command not found
| make[1]: *** [route/cls/ematch_grammar.c] Error 127

* this patch fix this by setting LEX variable to flex tool

Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 meta/recipes-support/libnl/libnl_3.2.16.bb |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Otavio Salvador - Jan. 7, 2013, 5:59 p.m.
On Mon, Jan 7, 2013 at 2:43 PM, Eric Bénard <eric@eukrea.com> wrote:
> * libnl's makefiles are calling $(LEX) but only define $(FLEX), thus
> compilation on a host which doesn't have lex fails with :
> | lex --header-file=route/cls/ematch_grammar.h  -o route/cls/ematch_grammar.c route/cls/ematch_grammar.l
> | make[1]: lex: Command not found
> | make[1]: *** [route/cls/ematch_grammar.c] Error 127
>
> * this patch fix this by setting LEX variable to flex tool
>
> Signed-off-by: Eric Bénard <eric@eukrea.com>

I have prepared a patch for this issue but I did patch the Makefile.am
to use $(FLEX) as this is the fix commited in upstream 3.2.17. If you
do not object, I'd like to propose mine patch for review as it is more
in line with upstream fix.

--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
Eric BENARD - Jan. 7, 2013, 8:48 p.m.
Hi Otavio,

Le Mon, 7 Jan 2013 15:59:24 -0200,
Otavio Salvador <otavio@ossystems.com.br> a écrit :

> On Mon, Jan 7, 2013 at 2:43 PM, Eric Bénard <eric@eukrea.com> wrote:
> > * libnl's makefiles are calling $(LEX) but only define $(FLEX), thus
> > compilation on a host which doesn't have lex fails with :
> > | lex --header-file=route/cls/ematch_grammar.h  -o route/cls/ematch_grammar.c route/cls/ematch_grammar.l
> > | make[1]: lex: Command not found
> > | make[1]: *** [route/cls/ematch_grammar.c] Error 127
> >
> > * this patch fix this by setting LEX variable to flex tool
> >
> > Signed-off-by: Eric Bénard <eric@eukrea.com>
> 
> I have prepared a patch for this issue but I did patch the Makefile.am
> to use $(FLEX) as this is the fix commited in upstream 3.2.17. If you
> do not object, I'd like to propose mine patch for review as it is more
> in line with upstream fix.
> 
as the end result is the same, the maintainer now has the choice ;-)

Eric

Patch

diff --git a/meta/recipes-support/libnl/libnl_3.2.16.bb b/meta/recipes-support/libnl/libnl_3.2.16.bb
index be3a3a2..0181436 100644
--- a/meta/recipes-support/libnl/libnl_3.2.16.bb
+++ b/meta/recipes-support/libnl/libnl_3.2.16.bb
@@ -3,7 +3,7 @@  HOMEPAGE = "http://www.infradead.org/~tgr/libnl/"
 SECTION = "libs/network"
 
 PE = "1"
-PR = "r0"
+PR = "r1"
 
 LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
@@ -19,6 +19,8 @@  SRC_URI[sha256sum] = "c43a42336c6a3cf559f390e202f8f029d165bd767da7cf7a32a815c570
 
 inherit autotools pkgconfig
 
+EXTRA_OEMAKE += "LEX=flex"
+
 FILES_${PN} = "${libdir}/libnl-3.so.* \
                ${libdir}/libnl.so.* \
                ${sysconfdir}"