Message ID | 55CC6550.4020003@redhat.com |
---|---|
State | New |
Headers | show |
On 13 August 2015 at 10:37, Paolo Bonzini <pbonzini@redhat.com> wrote: > > > 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" The dash manpage doesn't document that it supports var=value. https://wiki.ubuntu.com/DashAsBinSh#local suggests that it's probably safest to just have 'local' do the declaration part only and one variable per line, though. But we have a lot of places in configure which avoid local and instead have variables named 'local_foo' too. -- PMM
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"