Patchwork [PULL,00/22] console cleanups & pixman rendering

login
register
mail settings
Submitter Blue Swirl
Date Nov. 3, 2012, 12:33 p.m.
Message ID <CAAu8pHs4R+Nk=w+w7QWntC-AnDR7tkyikXugTxp5ymq_uph6nA@mail.gmail.com>
Download mbox | patch
Permalink /patch/196834/
State New
Headers show

Comments

Blue Swirl - Nov. 3, 2012, 12:33 p.m.
On Fri, Nov 2, 2012 at 4:32 PM, Andreas Färber <afaerber@suse.de> wrote:
> Am 02.11.2012 17:14, schrieb Andreas Färber:
>> Am 01.11.2012 20:33, schrieb Anthony Liguori:
>>> Gerd Hoffmann <kraxel@redhat.com> writes:
>>>
>>>>   Hi,
>>>>
>>>> Sitting on these too long already.  Series has been on the list a while
>>>> back, only splitted into two parts (separate "console cleanups" series
>>>> carrying patches 1-8).  Patch 11 was updated according to Paolos
>>>> suggestion, otherwise the patches are unmodified.
>>>>
>>>> please pull,
>>>>   Gerd
>>>
>>> Pulled. Thanks.
>>
>> Getting this on SLES 11 SP2 s390x (pixman 0.16.0):
>>
>> cc1: warnings being treated as errors
>> In file included from /home/andreas/qemu-s390/qemu-pixman.h:4,
>>                  from /home/andreas/qemu-s390/console.h:5,
>>                  from /home/andreas/qemu-s390/qemu-timer.c:28:
>> /usr/include/pixman-1/pixman.h:225: error: redundant redeclaration of
>> ‘pixman_transform_from_pixman_f_transform’
>> /usr/include/pixman-1/pixman.h:221: error: previous declaration of
>> ‘pixman_transform_from_pixman_f_transform’ was here
>> make: *** [qemu-timer.o] Fehler 1
>> make: *** Warte auf noch nicht beendete Prozesse...
>>
>> Any idea how to resolve?
>
> So, it seems that our pixman 0.16.0 header has a genuine redundant
> declaration, not influenced by qemu-pixman.h. I worked around it by
> manually changing -Wredundant-decl to -Wno-redundant-decl in configure,
> similar to what some FreeBSD versions needed. Suggestions for a real
> warnings-fix or configure-detection of incompatible headers appreciated!

Maybe adding
#pragma GCC diagnostic ignored "-Wredundant-decl"
#pragma GCC diagnostic error "-Wredundant-decl"

to qemu-pixman.h.

I still have another problem, out of tree build with submodule version
does not work (mingw). With this change it almost works, but ranlib is
not propagated and tests (if not disabled) fail.

  CCLD   clip-test.exe
i586-mingw32msvc-gcc: unrecognized option '-pthread'
i586-mingw32msvc-gcc: unrecognized option '-pthread'
/usr/lib/gcc/i586-mingw32msvc/4.4.4/../../../../i586-mingw32msvc/bin/ld:
cannot find -lgtk-x11-2.0

>
> Andreas
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
>

Patch

diff --git a/Makefile b/Makefile
index ca14a21..15a3080 100644
--- a/Makefile
+++ b/Makefile
@@ -122,7 +122,7 @@  subdir-pixman: pixman/Makefile
        $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman
V="$(V)" all,)

 pixman/Makefile: $(SRC_PATH)/pixman/configure
-       (cd pixman; $(SRC_PATH)/pixman/configure --disable-shared
--enable-static)
+       (cd pixman; CC=$(CC) LD=$(LD) AR=$(AR) NM=$(NM)
RANLIB=$(RANLIB) $(SRC_PATH)/pixman/configure --disable-shared
--enable-static)

 $(SRC_PATH)/pixman/configure:
        (cd $(SRC_PATH)/pixman; autoreconf -v --install)
diff --git a/configure b/configure
index 8e70cbb..15cfc08 100755
--- a/configure
+++ b/configure
@@ -252,9 +252,11 @@  done

 cc="${CC-${cross_prefix}gcc}"
 ar="${AR-${cross_prefix}ar}"
+nm="${NM-${cross_prefix}nm}"
 objcopy="${OBJCOPY-${cross_prefix}objcopy}"
 ld="${LD-${cross_prefix}ld}"
 libtool="${LIBTOOL-${cross_prefix}libtool}"
+ranlib="${RANLIB-${cross_prefix}ranlib}"
 strip="${STRIP-${cross_prefix}strip}"
 windres="${WINDRES-${cross_prefix}windres}"
 pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
@@ -2121,8 +2123,8 @@  else
     echo "      git submodule update --init pixman"
     exit 1
   fi
-  pixman_cflags="-I${source_path}/pixman/pixman"
-  pixman_libs="-Lpixman/pixman/.libs -lpixman-1"
+  pixman_cflags="-I\$(SRC_PATH)/pixman/pixman -I\$(BUILD_DIR)/pixman/pixman"
+  pixman_libs="-L\$(BUILD_DIR)/pixman/pixman/.libs -lpixman-1"
 fi
 QEMU_CFLAGS="$QEMU_CFLAGS $pixman_cflags"
 libs_softmmu="$libs_softmmu $pixman_libs"
@@ -3634,8 +3636,10 @@  echo "CC_I386=$cc_i386" >> $config_host_mak
 echo "HOST_CC=$host_cc" >> $config_host_mak
 echo "OBJCC=$objcc" >> $config_host_mak
 echo "AR=$ar" >> $config_host_mak
+echo "NM=$nm" >> $config_host_mak
 echo "OBJCOPY=$objcopy" >> $config_host_mak
 echo "LD=$ld" >> $config_host_mak
+echo "RANLIB=$RANLIB" >> $config_host_mak
 echo "WINDRES=$windres" >> $config_host_mak
 echo "LIBTOOL=$libtool" >> $config_host_mak
 echo "CFLAGS=$CFLAGS" >> $config_host_mak

Hacked pixman/Makefile.in:
--- pixman/Makefile.in~ 2012-11-03 07:41:28.000000000 +0000
+++ pixman/Makefile.in  2012-11-03 12:27:05.000000000 +0000
@@ -269,7 +269,7 @@ 
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-SUBDIRS = pixman test
+SUBDIRS = pixman
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = pixman-1.pc
 GPGKEY = 6FF7C1A8