Openembedded Core Discussions
 help / color / mirror / Atom feed
* 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