* 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