All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] flex/bison: Don't hardcode M4 path
@ 2012-01-03 23:50 Colin Walters
  2012-01-04  0:53   ` Saul Wold
  0 siblings, 1 reply; 7+ messages in thread
From: Colin Walters @ 2012-01-03 23:50 UTC (permalink / raw)
  To: poky

[-- Attachment #1: Type: text/plain, Size: 402 bytes --]

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.


[-- Attachment #2: 0001-flex-bison-Don-t-hardcode-M4-path.patch --]
[-- Type: text/x-patch, Size: 2301 bytes --]

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
-}
-#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


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [poky] [PATCH] flex/bison: Don't hardcode M4 path
  2012-01-03 23:50 [PATCH] flex/bison: Don't hardcode M4 path Colin Walters
@ 2012-01-04  0:53   ` Saul Wold
  0 siblings, 0 replies; 7+ 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] 7+ messages in thread

* Re: [PATCH] flex/bison: Don't hardcode M4 path
@ 2012-01-04  0:53   ` Saul Wold
  0 siblings, 0 replies; 7+ 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] 7+ messages in thread

* Re: [poky] [PATCH] flex/bison: Don't hardcode M4 path
  2012-01-04  0:53   ` Saul Wold
@ 2012-01-04  2:20     ` Colin Walters
  -1 siblings, 0 replies; 7+ 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] 7+ messages in thread

* Re: [PATCH] flex/bison: Don't hardcode M4 path
@ 2012-01-04  2:20     ` Colin Walters
  0 siblings, 0 replies; 7+ 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] 7+ 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
  -1 siblings, 0 replies; 7+ 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] 7+ messages in thread

* Re: [PATCH] flex/bison: Don't hardcode M4 path
@ 2012-01-04 16:18       ` Richard Purdie
  0 siblings, 0 replies; 7+ 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] 7+ messages in thread

end of thread, other threads:[~2012-01-04 16:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-03 23:50 [PATCH] flex/bison: Don't hardcode M4 path Colin Walters
2012-01-04  0:53 ` [poky] " Saul Wold
2012-01-04  0:53   ` Saul Wold
2012-01-04  2:20   ` [poky] " Colin Walters
2012-01-04  2:20     ` Colin Walters
2012-01-04 16:18     ` [poky] " Richard Purdie
2012-01-04 16:18       ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.