On 13/08/2015 11:28, Peter Maydell wrote:
> config-host.mak is out-of-date, running configure
> ../../configure: 2789: local: -I/usr/include/glib-2.0: bad variable name
> 
> line 2789 is
> local probe_cflags=$($pkg_config --cflags $1)
> 
> 'local' isn't part of POSIX shell. It is supported by 'dash', but
> only in the form 'local varname ...', not the bash-specific
> 'local varname=value ...' form.

This is not entirely correct; dash is clearly supporting assignments in
local as well; we have:

    local compiler="$1"

However, it's not automatically quoting the RHS of the assignment, like
normal variable assignment does.  But since this RHS is a bit more
complex than usual, I'll just apply this:

diff --git a/configure b/configure
index 28bf755..6faeb00 100755
--- a/configure
+++ b/configure
@@ -2787,8 +2787,10 @@ fi
 glib_pkg_config()
 {
   if $pkg_config --atleast-version=$glib_req_ver $1; then
-    local probe_cflags=$($pkg_config --cflags $1)
-    local probe_libs=$($pkg_config --libs $1)
+    local probe_cflags
+    local probe_libs
+    probe_cflags=$($pkg_config --cflags $1)
+    probe_libs=$($pkg_config --libs $1)
     CFLAGS="$probe_cflags $CFLAGS"
     LIBS="$probe_libs $LIBS"
     libs_qga="$probe_libs $libs_qga"

Paolo

Reply via email to