qemu-devel
[Top][All Lists]
Advanced

[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











reply via email to

[Prev in Thread] Current Thread [Next in Thread]