Message ID | 20170901105023.11108-1-kraxel@redhat.com |
---|---|
State | New |
Headers | show |
Series | pixman: drop submodule | expand |
On Fri, 09/01 12:50, Gerd Hoffmann wrote: > Drop pixman submodule and support for the "internal" pixman build. > pixman should be reasonable well established meanwhile that we don't > need the fallback submodule any more. While being at it also drop > some #ifdefs for pixman versions olter than what we require in s/olter/older/ ? > configure anyway. Fam
'On Fri, Sep 1, 2017 at 3:50 AM, Gerd Hoffmann <kraxel@redhat.com> wrote: > Drop pixman submodule and support for the "internal" pixman build. > pixman should be reasonable well established meanwhile that we don't s/reasonable/reasonably/g s/meanwhile/meaning/g > need the fallback submodule any more. While being at it also drop s/While being at/While at/g > some #ifdefs for pixman versions olter than what we require in > configure anyway. > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> > --- > configure | 20 ++------------------ > Makefile | 10 ---------- > ui/qemu-pixman.c | 4 ---- > .gitmodules | 3 --- > pixman | 1 - > 5 files changed, 2 insertions(+), 36 deletions(-) > delete mode 160000 pixman > > diff --git a/configure b/configure > index dd73cce62f..73760430b0 100755 > --- a/configure > +++ b/configure > @@ -930,8 +930,6 @@ for opt do > ;; > --with-system-pixman) pixman="system" Is there any use case for '--with-system-pixman now? Overall I think this is fine, Pixman does seem to be pretty common. I verified that RHEL7 has a new enough version, not sure about RHEL6 though. Thanks, Alistair > ;; > - --without-system-pixman) pixman="internal" > - ;; > --without-pixman) pixman="none" > ;; > --disable-sdl) sdl="no" > @@ -3305,8 +3303,6 @@ if test "$pixman" = ""; then > pixman="none" > elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then > pixman="system" > - else > - pixman="internal" > fi > fi > if test "$pixman" = "none"; then > @@ -3323,16 +3319,8 @@ elif test "$pixman" = "system"; then > pixman_cflags=$($pkg_config --cflags pixman-1) > pixman_libs=$($pkg_config --libs pixman-1) > else > - if test ! -d ${source_path}/pixman/pixman; then > - error_exit "pixman >= 0.21.8 not present. Your options:" \ > - " (1) Preferred: Install the pixman devel package (any recent" \ > - " distro should have packages as Xorg needs pixman too)." \ > - " (2) Fetch the pixman submodule, using:" \ > - " git submodule update --init pixman" > - fi > - mkdir -p pixman/pixman > - pixman_cflags="-I\$(SRC_PATH)/pixman/pixman -I\$(BUILD_DIR)/pixman/pixman" > - pixman_libs="-L\$(BUILD_DIR)/pixman/pixman/.libs -lpixman-1" > + error_exit "pixman >= 0.21.8 not present." \ > + "Please install the pixman devel package." > fi > > ########################################## > @@ -6527,10 +6515,6 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak > > done # for target in $targets > > -if [ "$pixman" = "internal" ]; then > - echo "config-host.h: subdir-pixman" >> $config_host_mak > -fi > - > if [ "$dtc_internal" = "yes" ]; then > echo "config-host.h: subdir-dtc" >> $config_host_mak > fi > diff --git a/Makefile b/Makefile > index 81447b1f08..280af66628 100644 > --- a/Makefile > +++ b/Makefile > @@ -325,15 +325,6 @@ $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak > subdir-%: > $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) > > -subdir-pixman: pixman/Makefile > - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" all,) > - > -pixman/Makefile: $(SRC_PATH)/pixman/configure > - (cd pixman; CFLAGS="$(CFLAGS) -fPIC $(extra_cflags) $(extra_ldflags)" $(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared --enable-static) > - > -$(SRC_PATH)/pixman/configure: > - (cd $(SRC_PATH)/pixman; autoreconf -v --install) > - > DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt > DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS) > DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt > @@ -532,7 +523,6 @@ distclean: clean > rm -rf $$d || exit 1 ; \ > done > rm -Rf .sdk > - if test -f pixman/config.log; then $(MAKE) -C pixman distclean; fi > if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi > > KEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \ > diff --git a/ui/qemu-pixman.c b/ui/qemu-pixman.c > index 6e8b83add6..6e591ab821 100644 > --- a/ui/qemu-pixman.c > +++ b/ui/qemu-pixman.c > @@ -96,17 +96,13 @@ int qemu_pixman_get_type(int rshift, int gshift, int bshift) > if (bshift == 0) { > type = PIXMAN_TYPE_ARGB; > } else { > -#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0, 21, 8) > type = PIXMAN_TYPE_RGBA; > -#endif > } > } else if (rshift < gshift && gshift < bshift) { > if (rshift == 0) { > type = PIXMAN_TYPE_ABGR; > } else { > -#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0, 16, 0) > type = PIXMAN_TYPE_BGRA; > -#endif > } > } > return type; > diff --git a/.gitmodules b/.gitmodules > index 5b0c212622..84c54cdc49 100644 > --- a/.gitmodules > +++ b/.gitmodules > @@ -22,9 +22,6 @@ > [submodule "roms/sgabios"] > path = roms/sgabios > url = git://git.qemu-project.org/sgabios.git > -[submodule "pixman"] > - path = pixman > - url = git://anongit.freedesktop.org/pixman > [submodule "dtc"] > path = dtc > url = git://git.qemu-project.org/dtc.git > diff --git a/pixman b/pixman > deleted file mode 160000 > index 87eea99e44..0000000000 > --- a/pixman > +++ /dev/null > @@ -1 +0,0 @@ > -Subproject commit 87eea99e443b389c978cf37efc52788bf03a0ee0 > -- > 2.9.3 > >
On 09/01/2017 05:13 PM, Alistair Francis wrote: > 'On Fri, Sep 1, 2017 at 3:50 AM, Gerd Hoffmann <kraxel@redhat.com> wrote: >> Drop pixman submodule and support for the "internal" pixman build. >> pixman should be reasonable well established meanwhile that we don't > > > Is there any use case for '--with-system-pixman now? > > Overall I think this is fine, Pixman does seem to be pretty common. I > verified that RHEL7 has a new enough version, not sure about RHEL6 > though. pixman-devel-0.32.8-1.el6.x86_64
On Fri, Sep 1, 2017 at 3:17 PM, Eric Blake <eblake@redhat.com> wrote: > On 09/01/2017 05:13 PM, Alistair Francis wrote: >> 'On Fri, Sep 1, 2017 at 3:50 AM, Gerd Hoffmann <kraxel@redhat.com> wrote: >>> Drop pixman submodule and support for the "internal" pixman build. >>> pixman should be reasonable well established meanwhile that we don't >> >> >> Is there any use case for '--with-system-pixman now? >> >> Overall I think this is fine, Pixman does seem to be pretty common. I >> verified that RHEL7 has a new enough version, not sure about RHEL6 >> though. > > pixman-devel-0.32.8-1.el6.x86_64 Great! In which case having a version of pixman available seems reasonable. Thanks, Alistair > > -- > Eric Blake, Principal Software Engineer > Red Hat, Inc. +1-919-301-3266 > Virtualization: qemu.org | libvirt.org >
Hi, > > diff --git a/configure b/configure > > index dd73cce62f..73760430b0 100755 > > --- a/configure > > +++ b/configure > > @@ -930,8 +930,6 @@ for opt do > > ;; > > --with-system-pixman) pixman="system" > > Is there any use case for '--with-system-pixman now? There is "--without-pixman" (so you can turn off pixman if you don't want build the system emulation). So IMHO it makes sense to leave the opposite switch in. The name is a bit strange now, but changing it might break build scripts, so I left it as-is. Maybe configure should accept both "--with-pixman" and "--with-system-pixman"? cheers, Gerd
On 4 September 2017 at 07:31, Gerd Hoffmann <kraxel@redhat.com> wrote: > Hi, > >> > diff --git a/configure b/configure >> > index dd73cce62f..73760430b0 100755 >> > --- a/configure >> > +++ b/configure >> > @@ -930,8 +930,6 @@ for opt do >> > ;; >> > --with-system-pixman) pixman="system" >> >> Is there any use case for '--with-system-pixman now? > > There is "--without-pixman" (so you can turn off pixman if you don't > want build the system emulation). So IMHO it makes sense to leave the > opposite switch in. The name is a bit strange now, but changing it > might break build scripts, so I left it as-is. Maybe configure should > accept both "--with-pixman" and "--with-system-pixman"? There's an argument that we don't need any configure options for pixman any more: * if you're not building the system emulation then we can just automatically skip the pixman check * if you are building the system emulation then we need a pixman and have to complain if it doesn't exist The usual reason for a --with-foo is for the "if foo doesn't exist then we can still build but with some feature disabled", in which case distros want to be able to say "fail if foo not present rather than proceeding in degraded mode". That doesn't apply for pixman. (We don't have a --with-glib flag either). This patch passed on all my build-test machines and configs, which surprised me a bit but is good news as it suggests that system pixman is present pretty much everywhere :-) thanks -- PMM
On Fri, Sep 01, 2017 at 12:50:23PM +0200, Gerd Hoffmann wrote: > Drop pixman submodule and support for the "internal" pixman build. > pixman should be reasonable well established meanwhile that we don't > need the fallback submodule any more. While being at it also drop > some #ifdefs for pixman versions olter than what we require in s/olter/older/
diff --git a/configure b/configure index dd73cce62f..73760430b0 100755 --- a/configure +++ b/configure @@ -930,8 +930,6 @@ for opt do ;; --with-system-pixman) pixman="system" ;; - --without-system-pixman) pixman="internal" - ;; --without-pixman) pixman="none" ;; --disable-sdl) sdl="no" @@ -3305,8 +3303,6 @@ if test "$pixman" = ""; then pixman="none" elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then pixman="system" - else - pixman="internal" fi fi if test "$pixman" = "none"; then @@ -3323,16 +3319,8 @@ elif test "$pixman" = "system"; then pixman_cflags=$($pkg_config --cflags pixman-1) pixman_libs=$($pkg_config --libs pixman-1) else - if test ! -d ${source_path}/pixman/pixman; then - error_exit "pixman >= 0.21.8 not present. Your options:" \ - " (1) Preferred: Install the pixman devel package (any recent" \ - " distro should have packages as Xorg needs pixman too)." \ - " (2) Fetch the pixman submodule, using:" \ - " git submodule update --init pixman" - fi - mkdir -p pixman/pixman - pixman_cflags="-I\$(SRC_PATH)/pixman/pixman -I\$(BUILD_DIR)/pixman/pixman" - pixman_libs="-L\$(BUILD_DIR)/pixman/pixman/.libs -lpixman-1" + error_exit "pixman >= 0.21.8 not present." \ + "Please install the pixman devel package." fi ########################################## @@ -6527,10 +6515,6 @@ echo "QEMU_CFLAGS+=$cflags" >> $config_target_mak done # for target in $targets -if [ "$pixman" = "internal" ]; then - echo "config-host.h: subdir-pixman" >> $config_host_mak -fi - if [ "$dtc_internal" = "yes" ]; then echo "config-host.h: subdir-dtc" >> $config_host_mak fi diff --git a/Makefile b/Makefile index 81447b1f08..280af66628 100644 --- a/Makefile +++ b/Makefile @@ -325,15 +325,6 @@ $(SOFTMMU_SUBDIR_RULES): config-all-devices.mak subdir-%: $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) -subdir-pixman: pixman/Makefile - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pixman V="$(V)" all,) - -pixman/Makefile: $(SRC_PATH)/pixman/configure - (cd pixman; CFLAGS="$(CFLAGS) -fPIC $(extra_cflags) $(extra_ldflags)" $(SRC_PATH)/pixman/configure $(AUTOCONF_HOST) --disable-gtk --disable-shared --enable-static) - -$(SRC_PATH)/pixman/configure: - (cd $(SRC_PATH)/pixman; autoreconf -v --install) - DTC_MAKE_ARGS=-I$(SRC_PATH)/dtc VPATH=$(SRC_PATH)/dtc -C dtc V="$(V)" LIBFDT_srcdir=$(SRC_PATH)/dtc/libfdt DTC_CFLAGS=$(CFLAGS) $(QEMU_CFLAGS) DTC_CPPFLAGS=-I$(BUILD_DIR)/dtc -I$(SRC_PATH)/dtc -I$(SRC_PATH)/dtc/libfdt @@ -532,7 +523,6 @@ distclean: clean rm -rf $$d || exit 1 ; \ done rm -Rf .sdk - if test -f pixman/config.log; then $(MAKE) -C pixman distclean; fi if test -f dtc/version_gen.h; then $(MAKE) $(DTC_MAKE_ARGS) clean; fi KEYMAPS=da en-gb et fr fr-ch is lt modifiers no pt-br sv \ diff --git a/ui/qemu-pixman.c b/ui/qemu-pixman.c index 6e8b83add6..6e591ab821 100644 --- a/ui/qemu-pixman.c +++ b/ui/qemu-pixman.c @@ -96,17 +96,13 @@ int qemu_pixman_get_type(int rshift, int gshift, int bshift) if (bshift == 0) { type = PIXMAN_TYPE_ARGB; } else { -#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0, 21, 8) type = PIXMAN_TYPE_RGBA; -#endif } } else if (rshift < gshift && gshift < bshift) { if (rshift == 0) { type = PIXMAN_TYPE_ABGR; } else { -#if PIXMAN_VERSION >= PIXMAN_VERSION_ENCODE(0, 16, 0) type = PIXMAN_TYPE_BGRA; -#endif } } return type; diff --git a/.gitmodules b/.gitmodules index 5b0c212622..84c54cdc49 100644 --- a/.gitmodules +++ b/.gitmodules @@ -22,9 +22,6 @@ [submodule "roms/sgabios"] path = roms/sgabios url = git://git.qemu-project.org/sgabios.git -[submodule "pixman"] - path = pixman - url = git://anongit.freedesktop.org/pixman [submodule "dtc"] path = dtc url = git://git.qemu-project.org/dtc.git diff --git a/pixman b/pixman deleted file mode 160000 index 87eea99e44..0000000000 --- a/pixman +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 87eea99e443b389c978cf37efc52788bf03a0ee0
Drop pixman submodule and support for the "internal" pixman build. pixman should be reasonable well established meanwhile that we don't need the fallback submodule any more. While being at it also drop some #ifdefs for pixman versions olter than what we require in configure anyway. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- configure | 20 ++------------------ Makefile | 10 ---------- ui/qemu-pixman.c | 4 ---- .gitmodules | 3 --- pixman | 1 - 5 files changed, 2 insertions(+), 36 deletions(-) delete mode 160000 pixman