Skip to contentSkip to conversation

libnl: fix compilation on hosts without lex

PATCH In review Eric Bénard 2 participants 3 messages Jan 7, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 libnl: fix compilation on hosts without lex

* 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

---
 meta/recipes-support/libnl/libnl_3.2.16.bb |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-support/libnl/libnl_3.2.16.bb +3 -1
index be3a3a2..0181436 100644
@@ -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}"
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 9 lines · Eric Bénard

* 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

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: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#2 lore raw

Hi Otavio,

Quoted 7 lines · Otavio Salvador
Quoted 6 lines · Eric Bénard

* 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
Quoted 9 lines
Quoted 3 lines

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

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