* Re: [poky] [PATCH] flex/bison: Don't hardcode M4 path [not found] <1325634627.24646.0.camel@lenny> @ 2012-01-04 0:53 ` Saul Wold 2012-01-04 2:20 ` Colin Walters 0 siblings, 1 reply; 3+ messages in thread From: Saul Wold @ 2012-01-04 0:53 UTC (permalink / raw) To: Colin Walters; +Cc: poky > The flex and bison configure scripts use AC_PATH_PROG to get a > full path to m4 and embed this in config.h (and then to the > generated binary), but this blows up when the m4 binary is in a > temporary staging directory. > > Since we are always shipping GNU m4, just set M4=m4 at configure > time so we don't use a hardcoded path. > > This is an equivalent to what already exists in autoconf.bb. > > This should really be posted to openembedded-core@lists.openembedded.org. Sau! > > 0001-flex-bison-Don-t-hardcode-M4-path.patch > >>From d33924d0de58e25bce73e5b4d61983fe0c1d0119 Mon Sep 17 00:00:00 2001 > From: Colin Walters <walters@verbum.org> > Date: Tue, 3 Jan 2012 18:47:32 -0500 > Subject: [PATCH] flex/bison: Don't hardcode M4 path > > The flex and bison configure scripts use AC_PATH_PROG to get a full > path to m4 and embed this in config.h (and then to the generated > binary), but this blows up when the m4 binary is in a temporary > staging directory. > > Since we are always shipping GNU m4, just set M4=m4 at configure time > so we don't use a hardcoded path. > > This is an equivalent to what already exists in autoconf.bb. > --- > meta/recipes-devtools/bison/bison_2.5.bb | 10 ++++------ > meta/recipes-devtools/flex/flex.inc | 7 ++++--- > 2 files changed, 8 insertions(+), 9 deletions(-) > > diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb > index c5113cd..0536dd4 100644 > --- a/meta/recipes-devtools/bison/bison_2.5.bb > +++ b/meta/recipes-devtools/bison/bison_2.5.bb > @@ -21,16 +21,14 @@ SRC_URI = "${BASE_SRC_URI} \ > SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4" > SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99" > > +# We don't want to hardcode the m4 path since it will be found > +# in the staging directory. > +EXTRA_OECONF = " M4=m4" > + > DEPENDS_virtclass-native = "gettext-minimal-native" > SRC_URI_virtclass-native = "${BASE_SRC_URI}" > > inherit autotools gettext > acpaths = "-I ${S}/m4" > > -do_install_append_virtclass-native() { > - create_wrapper ${D}/${bindir}/bison \ > - M4=${STAGING_BINDIR_NATIVE}/m4 \ > - BISON_PKGDATADIR=${STAGING_DATADIR_NATIVE}/bison > -} Don't you loose the setting of BISON_PKGDATADIR in this case? Does that need to be poart of the EXTRA_OECONF? Sau! > -#bison-native encodes the staging M4 path > BBCLASSEXTEND = "native" > diff --git a/meta/recipes-devtools/flex/flex.inc b/meta/recipes-devtools/flex/flex.inc > index 01f7571..a913d21 100644 > --- a/meta/recipes-devtools/flex/flex.inc > +++ b/meta/recipes-devtools/flex/flex.inc > @@ -10,6 +10,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/flex/flex-${PV}.tar.bz2 " > > inherit autotools gettext > > -do_install_append_virtclass-native() { > - create_wrapper ${D}/${bindir}/flex M4=${STAGING_BINDIR_NATIVE}/m4 > -} > +# We don't want to hardcode the m4 path since it will be found > +# in the staging directory. > +EXTRA_OECONF = " M4=m4" > + > -- 1.7.6.4 > > > > _______________________________________________ > poky mailing list > poky@yoctoproject.org > https://lists.yoctoproject.org/listinfo/poky > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [poky] [PATCH] flex/bison: Don't hardcode M4 path 2012-01-04 0:53 ` [poky] [PATCH] flex/bison: Don't hardcode M4 path Saul Wold @ 2012-01-04 2:20 ` Colin Walters 2012-01-04 16:18 ` Richard Purdie 0 siblings, 1 reply; 3+ messages in thread From: Colin Walters @ 2012-01-04 2:20 UTC (permalink / raw) To: Saul Wold; +Cc: poky, openembedded-core On Tue, 2012-01-03 at 16:53 -0800, Saul Wold wrote: > > The flex and bison configure scripts use AC_PATH_PROG to get a > > full path to m4 and embed this in config.h (and then to the > > generated binary), but this blows up when the m4 binary is in a > > temporary staging directory. > > > > Since we are always shipping GNU m4, just set M4=m4 at configure > > time so we don't use a hardcoded path. > > > > This is an equivalent to what already exists in autoconf.bb. > > > > > This should really be posted to openembedded-core@lists.openembedded.org. I CC'd, hopefully won't be rejected as I'm not yet a subscriber. > Don't you loose the setting of BISON_PKGDATADIR in this case? Does that > need to be poart of the EXTRA_OECONF? Good catch - I'll double check, but I doubt it's necessary. From the bison source: char const * compute_pkgdatadir (void) { char const *pkgdatadir = getenv ("BISON_PKGDATADIR"); return pkgdatadir ? pkgdatadir : PKGDATADIR; } For us though PKGDATADIR should be enough I think. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [poky] [PATCH] flex/bison: Don't hardcode M4 path 2012-01-04 2:20 ` Colin Walters @ 2012-01-04 16:18 ` Richard Purdie 0 siblings, 0 replies; 3+ messages in thread From: Richard Purdie @ 2012-01-04 16:18 UTC (permalink / raw) To: Colin Walters; +Cc: openembedded-core, poky On Tue, 2012-01-03 at 21:20 -0500, Colin Walters wrote: > On Tue, 2012-01-03 at 16:53 -0800, Saul Wold wrote: > > > The flex and bison configure scripts use AC_PATH_PROG to get a > > > full path to m4 and embed this in config.h (and then to the > > > generated binary), but this blows up when the m4 binary is in a > > > temporary staging directory. > > > > > > Since we are always shipping GNU m4, just set M4=m4 at configure > > > time so we don't use a hardcoded path. > > > > > > This is an equivalent to what already exists in autoconf.bb. > > > > > > > > This should really be posted to openembedded-core@lists.openembedded.org. > > I CC'd, hopefully won't be rejected as I'm not yet a subscriber. > > > Don't you loose the setting of BISON_PKGDATADIR in this case? Does that > > need to be poart of the EXTRA_OECONF? > > Good catch - I'll double check, but I doubt it's necessary. From the > bison source: > > char const * > compute_pkgdatadir (void) > { > char const *pkgdatadir = getenv ("BISON_PKGDATADIR"); > return pkgdatadir ? pkgdatadir : PKGDATADIR; > } > > For us though PKGDATADIR should be enough I think. For on target device development, yes. For use in bison-native, its not enough unfortunately as it gets added into the sstate packages and those may end up installed at a different location. I like the idea of simplifying looking for m4 though. Cheers, Richard ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-01-04 16:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1325634627.24646.0.camel@lenny>
2012-01-04 0:53 ` [poky] [PATCH] flex/bison: Don't hardcode M4 path Saul Wold
2012-01-04 2:20 ` Colin Walters
2012-01-04 16:18 ` Richard Purdie
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox