David Ahern <daah...@cisco.com> writes: > 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.
Care to respin your patch? > 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. Should be debuggable :) "mkdir bld && cd bld && ./configure --disable-werror && make" works for me. config-all-devices.mak has some 80 entries.