On 01/13/11 06:43, Markus Armbruster wrote:
> David Ahern <daah...@cisco.com> writes:
> 
>> make_device_config currently emits an error:
>>
>> make config-all-devices.mak
>>   GEN   x86_64-softmmu/config-devices.mak
>> /home/dsa/kvm/releases/qemu.git/make_device_config.sh: line 21: 
>> /home/dsa/kvm/releases/qemu.git/default-configs/pci.mak : No such file or 
>> directory
>>
>> /bin/sh does not like the file redirection for tr so change it to cat.
>>
>> Signed-off-by: David Ahern <daah...@cisco.com>
>> ---
>>  make_device_config.sh |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/make_device_config.sh b/make_device_config.sh
>> index 596fc5b..1ce4088 100644
>> --- a/make_device_config.sh
>> +++ b/make_device_config.sh
>> @@ -18,7 +18,7 @@ process_includes () {
>>  
>>  f=$src
>>  while [ -n "$f" ] ; do
>> -  f=`tr -d '\r' < $f | awk '/^include / {ORS=" "; print "'$src_dir'/" $2}'`
>> +  f=`cat $f | tr -d '\r' | awk '/^include / {ORS=" "; print "'$src_dir'/" 
>> $2}'`
>>    [ $? = 0 ] || exit 1
>>    all_includes="$all_includes $f"
>>  done
> 
> This sweeps the real error under the carpet: $f has a trailing space.
> 
> What about:
> 
> diff --git a/make_device_config.sh b/make_device_config.sh
> index 596fc5b..711829c 100644
> --- a/make_device_config.sh
> +++ b/make_device_config.sh
> @@ -18,7 +18,7 @@ process_includes () {
>  
>  f=$src
>  while [ -n "$f" ] ; do
> -  f=`tr -d '\r' < $f | awk '/^include / {ORS=" "; print "'$src_dir'/" $2}'`
> +  f=`tr -d '\r' <"$f" | awk '/^include / {print "'$src_dir'/" $2}'`
>    [ $? = 0 ] || exit 1
>    all_includes="$all_includes $f"
>  done

That works too.

Any idea why the '%/config-devices.mak' rule does not work for a build
directory != src directory?

e.g., src=/my/qemu.git, build=/tmp/build-qemu

x86_64-softmmu/config-devices.mak is not created, so
config-all-devices.mak is empty and the build blows up.

David

Reply via email to