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
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
--
2.9.3
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 -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
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/
© 2016 - 2026 Red Hat, Inc.