[oe] [PATCH] autotools.bbclass: enhanced oe_runconf() to accept quoted arguments

Enrico Scholz enrico.scholz at sigma-chemnitz.de
Tue Mar 16 12:55:48 UTC 2010


Paul Menzel <paulepanter at users.sourceforge.net> writes:

>> This patch allows to pass quoted strings in EXTRA_OECONF.  E.g. with
>> this patch, it is possible to do
>> 
>> | EXTRA_OECONF = "--with-build-cflags='${BUILD_CFLAGS}'"
>> 
>> where 'BUILD_CFLAGS' contains multiple, whitespace separated arguments.
> ...
> Why did not it work before?

It was not used because it was not possible.  E.g. 'ncurses' accepts a
'--with-build-cflags' ./configure argument but recipe does not use it
but sets

| EXTRA_OEMAKE = '"BUILD_LDFLAGS=" "BUILD_CCFLAGS=${BUILD_CCFLAGS}"'

instead of (which is properly quoted by oe_runmake).


Doing the same with EXTRA_OECONF would result and expand to something
like

   | EXTRA_OECONF = "--with-build-cflags='${BUILD_CFLAGS}'"
-> | EXTRA_OECONF = "--with-build-cflags='-i/... -O2 -g3 ...'"
-> | cfgcmd=".../configure --with-build-cflags='-i/... -O2 -g3 ...'"
-> | $cfgcmd

This does not give the wanted result...  


E.g. the shorter

| cfgcmd="strace -eexecve true --with='a b c'"

does (the wrong)

| $cfgcmd 
| execve("/bin/true", ["true", "--with='a", "b", "c'"], [/* 60 vars */]) = 0



With my patch, you would get from

| set -- strace -eexecve true --with='a b c'

the expected

| $ "$@"
| execve("/bin/true", ["true", "--with=a b c"], [/* 60 vars */]) = 0



Enrico




More information about the Openembedded-devel mailing list