Patchwork configure: fix "--target-list=<target>, <target>, ..." option

login
register
mail settings
Submitter Eduardo Habkost
Date Sept. 11, 2012, 7:02 p.m.
Message ID <1347390153-28682-1-git-send-email-ehabkost@redhat.com>
Download mbox | patch
Permalink /patch/183173/
State New
Headers show

Comments

Eduardo Habkost - Sept. 11, 2012, 7:02 p.m.
commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
comma-separated target lists on the --target-list option. e.g.:

  $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
  [...]
  ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
  $

This patch restores that ability.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Cc: Daniel P. Berrange <berrange@redhat.com>
Cc: Anthony Liguori <anthony@codemonkey.ws>
---
 configure | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Peter A. G. Crosthwaite - Sept. 12, 2012, 2:35 a.m.
On Wed, Sep 12, 2012 at 5:02 AM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
> comma-separated target lists on the --target-list option. e.g.:
>
>   $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
>   [...]
>   ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
>   $
>

Broke for me too. This patch fixes it.

> This patch restores that ability.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Tested-by: Peter Crosthwaite <peter.crosthwaite@petalogix.com>

> Cc: Daniel P. Berrange <berrange@redhat.com>
> Cc: Anthony Liguori <anthony@codemonkey.ws>
> ---
>  configure | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 7656c32..9ee7038 100755
> --- a/configure
> +++ b/configure
> @@ -1323,7 +1323,9 @@ if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_
>  fi
>
>  if test "$target_list" = "DEFAULT" ; then
> -    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
> +    target_list="$default_target_list"
> +else
> +    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
>  fi
>
>  # see if system emulation was really requested
> --
> 1.7.11.4
>
>
Laurent Desnogues - Sept. 12, 2012, 1:20 p.m.
Sorry, I had missed this patch...

On Tue, Sep 11, 2012 at 9:02 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
> comma-separated target lists on the --target-list option. e.g.:
>
>   $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
>   [...]
>   ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
>   $
>
> This patch restores that ability.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Daniel P. Berrange <berrange@redhat.com>
> Cc: Anthony Liguori <anthony@codemonkey.ws>
> ---
>  configure | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 7656c32..9ee7038 100755
> --- a/configure
> +++ b/configure
> @@ -1323,7 +1323,9 @@ if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_
>  fi
>
>  if test "$target_list" = "DEFAULT" ; then
> -    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
> +    target_list="$default_target_list"
> +else
> +    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
>  fi

This works for me too.

But I still can't get what the original patch posted by
Daniel Berrange intended to do:

$ ./configure --target-list=
$ make V=1
cat  | grep =y | sort -u > config-all-devices.mak

And it of course hangs there.

Creating an empty config-all-devices.mak before running
make solves the issue.


Laurent

>  # see if system emulation was really requested
> --
> 1.7.11.4
>
>
Peter Maydell - Sept. 14, 2012, 12:53 p.m.
On 12 September 2012 14:20, Laurent Desnogues
<laurent.desnogues@gmail.com> wrote:
> Sorry, I had missed this patch...
>
> On Tue, Sep 11, 2012 at 9:02 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
>> commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
>> comma-separated target lists on the --target-list option. e.g.:
>>
>>   $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
>>   [...]
>>   ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
>>   $
>>
>> This patch restores that ability.
>>
>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>> Cc: Daniel P. Berrange <berrange@redhat.com>
>> Cc: Anthony Liguori <anthony@codemonkey.ws>
>> ---
>>  configure | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure b/configure
>> index 7656c32..9ee7038 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1323,7 +1323,9 @@ if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_
>>  fi
>>
>>  if test "$target_list" = "DEFAULT" ; then
>> -    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
>> +    target_list="$default_target_list"
>> +else
>> +    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
>>  fi
>
> This works for me too.
>
> But I still can't get what the original patch posted by
> Daniel Berrange intended to do:
>
> $ ./configure --target-list=
> $ make V=1
> cat  | grep =y | sort -u > config-all-devices.mak
>
> And it of course hangs there.

Hmm. Perhaps we should just revert 66d5499b3 and then recommit
a working implementation later?

-- PMM
Anthony Liguori - Sept. 14, 2012, 1:20 p.m.
Peter Maydell <peter.maydell@linaro.org> writes:

> On 12 September 2012 14:20, Laurent Desnogues
> <laurent.desnogues@gmail.com> wrote:
>> Sorry, I had missed this patch...
>>
>> On Tue, Sep 11, 2012 at 9:02 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
>>> commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
>>> comma-separated target lists on the --target-list option. e.g.:
>>>
>>>   $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
>>>   [...]
>>>   ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
>>>   $
>>>
>>> This patch restores that ability.
>>>
>>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>>> Cc: Daniel P. Berrange <berrange@redhat.com>
>>> Cc: Anthony Liguori <anthony@codemonkey.ws>
>>> ---
>>>  configure | 4 +++-
>>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/configure b/configure
>>> index 7656c32..9ee7038 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -1323,7 +1323,9 @@ if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_
>>>  fi
>>>
>>>  if test "$target_list" = "DEFAULT" ; then
>>> -    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
>>> +    target_list="$default_target_list"
>>> +else
>>> +    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
>>>  fi
>>
>> This works for me too.
>>
>> But I still can't get what the original patch posted by
>> Daniel Berrange intended to do:
>>
>> $ ./configure --target-list=
>> $ make V=1
>> cat  | grep =y | sort -u > config-all-devices.mak
>>
>> And it of course hangs there.
>
> Hmm. Perhaps we should just revert 66d5499b3 and then recommit
> a working implementation later?

I think this is a good idea.

Regards,

Anthony Liguori

>
> -- PMM
Daniel P. Berrange - Sept. 14, 2012, 1:30 p.m.
On Fri, Sep 14, 2012 at 01:53:11PM +0100, Peter Maydell wrote:
> On 12 September 2012 14:20, Laurent Desnogues
> <laurent.desnogues@gmail.com> wrote:
> > Sorry, I had missed this patch...
> >
> > On Tue, Sep 11, 2012 at 9:02 PM, Eduardo Habkost <ehabkost@redhat.com> wrote:
> >> commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
> >> comma-separated target lists on the --target-list option. e.g.:
> >>
> >>   $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
> >>   [...]
> >>   ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
> >>   $
> >>
> >> This patch restores that ability.
> >>
> >> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> >> Cc: Daniel P. Berrange <berrange@redhat.com>
> >> Cc: Anthony Liguori <anthony@codemonkey.ws>
> >> ---
> >>  configure | 4 +++-
> >>  1 file changed, 3 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/configure b/configure
> >> index 7656c32..9ee7038 100755
> >> --- a/configure
> >> +++ b/configure
> >> @@ -1323,7 +1323,9 @@ if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_
> >>  fi
> >>
> >>  if test "$target_list" = "DEFAULT" ; then
> >> -    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
> >> +    target_list="$default_target_list"
> >> +else
> >> +    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
> >>  fi
> >
> > This works for me too.
> >
> > But I still can't get what the original patch posted by
> > Daniel Berrange intended to do:
> >
> > $ ./configure --target-list=
> > $ make V=1
> > cat  | grep =y | sort -u > config-all-devices.mak
> >
> > And it of course hangs there.

Urgh, I see what went wrong. When I tested it, I still had a previously
generated 'config-all-devices.mak' so this broken rule never hit me.

When I 'git clean -f -x -d', then I see the same problem as you
descibe.

> Hmm. Perhaps we should just revert 66d5499b3 and then recommit
> a working implementation later?

Agreed, sorry for the screw up with this patch.

Daniel
Stefan Weil - Sept. 14, 2012, 5:37 p.m.
Am 14.09.2012 14:53, schrieb Peter Maydell:
> On 12 September 2012 14:20, Laurent Desnogues
> <laurent.desnogues@gmail.com>  wrote:
>> Sorry, I had missed this patch...
>>
>> On Tue, Sep 11, 2012 at 9:02 PM, Eduardo Habkost<ehabkost@redhat.com>  wrote:
>>> commit 66d5499b3754b83c09487259c08fe2ce73188a59 broke the support for
>>> comma-separated target lists on the --target-list option. e.g.:
>>>
>>>    $ ./configure --target-list=x86_64-linux-user,x86_64-softmmu
>>>    [...]
>>>    ERROR: Target 'x86_64-linux-user,x86_64-softmmu' not recognised
>>>    $
>>>
>>> This patch restores that ability.
>>>
>>> Signed-off-by: Eduardo Habkost<ehabkost@redhat.com>
>>> Cc: Daniel P. Berrange<berrange@redhat.com>
>>> Cc: Anthony Liguori<anthony@codemonkey.ws>
>>> ---
>>>   configure | 4 +++-
>>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/configure b/configure
>>> index 7656c32..9ee7038 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -1323,7 +1323,9 @@ if ! "$python" -c 'import sys; sys.exit(sys.version_info<  (2,4) or sys.version_
>>>   fi
>>>
>>>   if test "$target_list" = "DEFAULT" ; then
>>> -    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
>>> +    target_list="$default_target_list"
>>> +else
>>> +    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
>>>   fi
>>
>> This works for me too.
>>
>> But I still can't get what the original patch posted by
>> Daniel Berrange intended to do:
>>
>> $ ./configure --target-list=
>> $ make V=1
>> cat  | grep =y | sort -u>  config-all-devices.mak
>>
>> And it of course hangs there.
>
> Hmm. Perhaps we should just revert 66d5499b3 and then recommit
> a working implementation later?
>
> -- PMM


make hangs while waiting for input on stdin:
if there is no emulation target, 'cat' is called without arguments.

I have sent a patch which fixes this. It can be applied after
reverting 66d5499b3 (which is not needed to get builds
without emulation targets).

Regards
Stefan W.

Patch

diff --git a/configure b/configure
index 7656c32..9ee7038 100755
--- a/configure
+++ b/configure
@@ -1323,7 +1323,9 @@  if ! "$python" -c 'import sys; sys.exit(sys.version_info < (2,4) or sys.version_
 fi
 
 if test "$target_list" = "DEFAULT" ; then
-    target_list=`echo "$default_target_list" | sed -e 's/,/ /g'`
+    target_list="$default_target_list"
+else
+    target_list=`echo "$target_list" | sed -e 's/,/ /g'`
 fi
 
 # see if system emulation was really requested