[Buildroot] [PATCH] package/brltty: fix cross-compilation

Yann E. MORIN yann.morin.1998 at free.fr
Wed Aug 22 20:02:49 UTC 2018


Peter, All,

On 2018-08-22 20:01 +0200, Peter Seiderer spake thusly:
> On Wed, 22 Aug 2018 10:28:32 +0200, "Yann E. MORIN" <yann.morin.1998 at free.fr> wrote:
> 
> > brltty has a very inventive buildsystem, where it internall runs
> > ./configure for the build machine In doing so, it generates a list
> > of make variables to define what the build machine supports, like
> > it does for the target.
> > 
> > However, the build variables are generated with a convoluted sed
> > script that scans the target list, and appends _FOR_BUILD to each
> > target variables. Then, both lists are included from the Makefile,
> > on the assumption that the build variables will not clash with the
> > target variables.
> > 
> > Where it gets interesting, is that that sed script considers the
> > variables names to match '[A-Za-z][A-Za-z0-9_]*'
> 
> Minor nit: did you mean '[A-Za-z][A-Za-z_]*' here?

Indeed, that's right. I copied-pasted the fix regexp...

Regards,
Yann E. MORIN.

> Regards,
> Peter
> 
> > 
> > And there we see why ATSPI2_PACKAGE does not match: it contains a
> > digit.
> > 
> > So, some build variables will inevitably override target ones.
> > 
> > Fix that by simply expanding the matching regexp to allow digits
> > in variable names.
> > 
> > Fixes:
> >     http://autobuild.buildroot.org/results/a37/a37782b3cfc1a96cc129db8fade20a36a7b2d470/
> >     http://autobuild.buildroot.org/results/97e/97edc6a47d2140968e84b409cdc960604e5896f2/
> > 
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> > Cc: Mario Lang <mlang at blind.guru>
> > Cc: Baruch Siach <baruch at tkos.co.il>
> > ---
> >  .../0004-buildsys-fix-cross-compilation.patch      | 41 ++++++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> >  create mode 100644 package/brltty/0004-buildsys-fix-cross-compilation.patch
> > 
> > diff --git a/package/brltty/0004-buildsys-fix-cross-compilation.patch b/package/brltty/0004-buildsys-fix-cross-compilation.patch
> > new file mode 100644
> > index 0000000000..9a10d46414
> > --- /dev/null
> > +++ b/package/brltty/0004-buildsys-fix-cross-compilation.patch
> > @@ -0,0 +1,41 @@
> > +From 088666535a045dae71bd2fcc6b3a1553023106ce Mon Sep 17 00:00:00 2001
> > +From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> > +Date: Wed, 22 Aug 2018 10:10:19 +0200
> > +Subject: [PATCH] buildsys: fix cross-compilation
> > +
> > +Some identifiers for includes and libs paths may contain digit, e.g.
> > +X11_PACKAGE or ATSPI2_PACKAGE or GLIB2_PACKAGE...
> > +
> > +Also detect those identifiers when doing cros-compilation, so that the
> > +_FOR_BUILD variants are really created and do not clash with the target
> > +variants.
> > +
> > +Fixes:
> > +    http://autobuild.buildroot.org/results/a37/a37782b3cfc1a96cc129db8fade20a36a7b2d470/build-end.log
> > +    http://autobuild.buildroot.org/results/97e/97edc6a47d2140968e84b409cdc960604e5896f2/build-end.log
> > +    [...]
> > +
> > +Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> > +---
> > +Upstram status: submitted
> > +https://github.com/brltty/brltty/pull/142
> > +---
> > + mk4build | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/mk4build b/mk4build
> > +index db90c86a9..551283825 100755
> > +--- a/mk4build
> > ++++ b/mk4build
> > +@@ -112,7 +112,7 @@ fi
> > + 
> > + sedScript="${outputName}.${sedExtension}"
> > + sed -n -e '
> > +-s/^ *\([A-Za-z][A-Za-z_]*\) *=.*$/\1/
> > ++s/^ *\([A-Za-z][A-Za-z0-9_]*\) *=.*$/\1/
> > + t found
> > + d
> > + :found
> > +-- 
> > +2.14.1
> > +
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list