[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Get sh right on OpenSolaris/SPARC
From: |
Palle Lyckegaard |
Subject: |
Re: [Qemu-devel] [PATCH] Get sh right on OpenSolaris/SPARC |
Date: |
Tue, 17 Mar 2009 19:37:14 +0000 (UTC) |
On Wed, 4 Mar 2009, Anthony Liguori wrote:
Date: Wed, 04 Mar 2009 16:08:51 -0600
From: Anthony Liguori <address@hidden>
Reply-To: address@hidden
To: address@hidden
Subject: Re: [Qemu-devel] [PATCH] Get sh right on OpenSolaris/SPARC
Palle Lyckegaard wrote:
The patch below solves a problem when building qemu on OpenSolaris/SPARC.
"feature_to_c.sh: test: argument expected"
There seemes to be a problem with how "features_to_c.sh" is started from
the makefile. On Solaris the shell in /bin/sh is not standards compliant
according to http://docs.sun.com/app/docs/doc/816-5165/sh-1?a=view so the
patch fixes the configure script so a proper sh in located in /usr/xpg4/bin
when building on OpenSolaris. Other platforms defaults to whatever is in
the path when configure is running.
Please consider this patch so qemu builds out-of-the-box for OpenSolaris...
Why not change:
test -z "$output"
to
test "x$output" = "x"
Which I believe is a pretty common way to work around this problem.
Regards,
Anthony Liguori
Hi,
The following patch fixes the feature_to_c.sh problems encountered on
Solaris.
Tested on Ubuntu Linux as well...
Please consider applying the patch...
Regards
Palle
Index: feature_to_c.sh
===================================================================
--- feature_to_c.sh (revision 6858)
+++ feature_to_c.sh (working copy)
@@ -24,17 +24,17 @@
output=$1
shift
-if test -z "$output" || test -z "$1"; then
+if test "x$output" = "x" || test "x$1" = "x"; then
echo "Usage: $0 OUTPUTFILE INPUTFILE..."
exit 1
fi
-if test -e "$output"; then
+if test -f "$output"; then
echo "Output file \"$output\" already exists; refusing to overwrite."
exit 1
fi
-for input; do
+for input do
arrayname=xml_feature_`echo $input | sed 's,.*/,,; s/[-.]/_/g'`
${AWK:-awk} 'BEGIN { n = 0
@@ -68,7 +68,7 @@
echo "extern const char *const xml_builtin[][2];" >> $output
echo "const char *const xml_builtin[][2] = {" >> $output
-for input; do
+for input do
basename=`echo $input | sed 's,.*/,,'`
arrayname=xml_feature_`echo $input | sed 's,.*/,,; s/[-.]/_/g'`
echo " { \"$basename\", $arrayname }," >> $output
Best regards
Palle
------ start of patch
Index: configure
===================================================================
--- configure (revision 6657)
+++ configure (working copy)
@@ -34,6 +34,7 @@
make="make"
install="install"
strip="strip"
+shell="`which sh`"
# parse CC options first
for opt do
@@ -263,6 +264,7 @@
SunOS)
solaris="yes"
make="gmake"
+ shell="/usr/xpg4/bin/sh"
install="ginstall"
needs_libsunmath="no"
solarisrev=`uname -r | cut -f2 -d.`
@@ -1178,6 +1180,7 @@
echo "INSTALL=$install" >> $config_mak
echo "CC=$cc" >> $config_mak
echo "HOST_CC=$host_cc" >> $config_mak
+echo "SHELL=$shell" >> $config_mak
echo "AR=$ar" >> $config_mak
echo "STRIP=$strip -s -R .comment -R .note" >> $config_mak
# XXX: only use CFLAGS and LDFLAGS ?
------ end of patch