? autom4te.cache Index: INSTALL =================================================================== RCS file: /cvs/xenocara/lib/pixman/INSTALL,v retrieving revision 1.2 diff -u -p -u -p -r1.2 INSTALL --- INSTALL 3 Oct 2007 20:53:30 -0000 1.2 +++ INSTALL 30 Jan 2023 14:05:29 -0000 @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free -Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -10,7 +10,10 @@ unlimited permission to copy, distribute Basic Installation ================== -These are generic installation instructions. +Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -23,9 +26,9 @@ debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is +the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale -cache files.) +cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail @@ -35,20 +38,17 @@ some point `config.cache' contains resul may remove or edit it. The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. + `./configure' to configure the package for your system. - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. 2. Type `make' to compile the package. @@ -78,7 +78,7 @@ details on some of the pertinent environ by setting variables in the command line or in the environment. Here is an example: - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. @@ -87,17 +87,15 @@ Compiling For Multiple Architectures You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the +own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. Installation Names ================== @@ -190,12 +188,12 @@ them in the `configure' command line, us ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). Here is a another example: +overridden in the site shell script). - /bin/bash ./configure CONFIG_SHELL=/bin/bash +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: -Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent -configuration-related scripts to be executed by `/bin/bash'. + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== Index: Makefile.am =================================================================== RCS file: /cvs/xenocara/lib/pixman/Makefile.am,v retrieving revision 1.11 diff -u -p -u -p -r1.11 Makefile.am --- Makefile.am 25 Jul 2021 15:16:31 -0000 1.11 +++ Makefile.am 30 Jan 2023 14:05:29 -0000 @@ -1,4 +1,4 @@ -SUBDIRS = pixman test +SUBDIRS = pixman demos test pkgconfigdir=$(libdir)/pkgconfig pkgconfig_DATA=pixman-1.pc @@ -27,6 +27,7 @@ EXTRA_DIST = \ meson.build \ meson_options.txt \ neon-test.S \ + a64-neon-test.S \ arm-simd-test.S \ $(NULL) @@ -75,7 +76,7 @@ release-remove-old: $(RM) $(tar_gz) $(tar_xz) $(HASHFILES) $(gpg_file) ensure-prev: - @if [[ "$(PREV)" == "" ]]; then \ + @if [ "$(PREV)" = "" ]; then \ echo "" && \ echo "You must set the PREV variable on the make command line to" && \ echo "the last version." && \ Index: Makefile.bsd-wrapper =================================================================== RCS file: /cvs/xenocara/lib/pixman/Makefile.bsd-wrapper,v retrieving revision 1.26 diff -u -p -u -p -r1.26 Makefile.bsd-wrapper --- Makefile.bsd-wrapper 25 Jul 2021 15:16:31 -0000 1.26 +++ Makefile.bsd-wrapper 30 Jan 2023 14:05:29 -0000 @@ -2,7 +2,7 @@ .include <bsd.own.mk> -SHARED_LIBS= pixman-1 40.0 +SHARED_LIBS= pixman-1 42.2 .if ${MACHINE_ARCH} == arm CONFIGURE_ARGS += --disable-arm-simd --disable-arm-neon Index: Makefile.in =================================================================== RCS file: /cvs/xenocara/lib/pixman/Makefile.in,v retrieving revision 1.20 diff -u -p -u -p -r1.20 Makefile.in --- Makefile.in 25 Jul 2021 15:16:31 -0000 1.20 +++ Makefile.in 30 Jan 2023 14:05:30 -0000 @@ -222,7 +222,6 @@ LN_S = @LN_S@ LS_CFLAGS = @LS_CFLAGS@ LTLIBOBJS = @LTLIBOBJS@ LT_VERSION_INFO = @LT_VERSION_INFO@ -MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -263,6 +262,7 @@ SHELL = @SHELL@ SSE2_CFLAGS = @SSE2_CFLAGS@ SSE2_LDFLAGS = @SSE2_LDFLAGS@ SSSE3_CFLAGS = @SSSE3_CFLAGS@ +SSSE3_LDFLAGS = @SSSE3_LDFLAGS@ STRIP = @STRIP@ TESTPROGS_EXTRA_LDFLAGS = @TESTPROGS_EXTRA_LDFLAGS@ TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR = @TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR@ @@ -322,7 +322,7 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -SUBDIRS = pixman test +SUBDIRS = pixman demos test pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = pixman-1.pc GPGKEY = 3892336E @@ -341,6 +341,7 @@ EXTRA_DIST = \ meson.build \ meson_options.txt \ neon-test.S \ + a64-neon-test.S \ arm-simd-test.S \ $(NULL) @@ -359,7 +360,7 @@ all: config.h .SUFFIXES: am--refresh: Makefile @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -386,9 +387,9 @@ Makefile: $(srcdir)/Makefile.in $(top_bu $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +$(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): @@ -399,7 +400,7 @@ config.h: stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +$(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -927,7 +928,7 @@ release-remove-old: $(RM) $(tar_gz) $(tar_xz) $(HASHFILES) $(gpg_file) ensure-prev: - @if [[ "$(PREV)" == "" ]]; then \ + @if [ "$(PREV)" = "" ]; then \ echo "" && \ echo "You must set the PREV variable on the make command line to" && \ echo "the last version." && \ Index: README =================================================================== RCS file: /cvs/xenocara/lib/pixman/README,v retrieving revision 1.5 diff -u -p -u -p -r1.5 README --- README 7 Jun 2013 17:18:00 -0000 1.5 +++ README 30 Jan 2023 14:05:30 -0000 @@ -1,14 +1,20 @@ +Pixman +====== + Pixman is a library that provides low-level pixel manipulation features such as image compositing and trapezoid rasterization. -Questions, bug reports and patches should be directed to the pixman -mailing list: +Questions should be directed to the pixman mailing list: - http://lists.freedesktop.org/mailman/listinfo/pixman + https://lists.freedesktop.org/mailman/listinfo/pixman You can also file bugs at - https://bugs.freedesktop.org/enter_bug.cgi?product=pixman + https://gitlab.freedesktop.org/pixman/pixman/-/issues/new + +or submit improvements in form of a Merge Request via + + https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests For real time discussions about pixman, feel free to join the IRC channels #cairo and #xorg-devel on the FreeNode IRC network. @@ -21,53 +27,65 @@ In order to contribute to pixman, you wi the git version control system. For a quick getting started guide, there is the "Everyday Git With 20 Commands Or So guide" - http://www.kernel.org/pub/software/scm/git/docs/everyday.html + https://www.kernel.org/pub/software/scm/git/docs/everyday.html from the Git homepage. For more in depth git documentation, see the resources on the Git community documentation page: - http://git-scm.com/documentation + https://git-scm.com/documentation Pixman uses the infrastructure from the freedesktop.org umbrella project. For instructions about how to use the git service on freedesktop.org, see: - http://www.freedesktop.org/wiki/Infrastructure/git/Developers + https://www.freedesktop.org/wiki/Infrastructure/git/Developers The Pixman master repository can be found at: - git://anongit.freedesktop.org/git/pixman - -and browsed on the web here: - - http://cgit.freedesktop.org/pixman/ + https://gitlab.freedesktop.org/pixman/pixman Sending patches --------------- -The general workflow for sending patches is to first make sure that -git can send mail on your system. Then, +Patches should be submitted in form of Merge Requests via Gitlab. - - create a branch off of master in your local git repository +You will first need to create a fork of the main pixman repository at - - make your changes as one or more commits + https://gitlab.freedesktop.org/pixman/pixman - - use the +via the Fork button on the top right. Once that is done you can add your +personal repository as a remote to your local pixman development git checkout: - git send-email + git remote add my-gitlab g...@gitlab.freedesktop.org:YOURUSERNAME/pixman.git - command to send the patch series to pix...@lists.freedesktop.org. + git fetch my-gitlab -In order for your patches to be accepted, please consider the -following guidelines: +Make sure to have added ssh keys to your gitlab profile at + + https://gitlab.freedesktop.org/profile/keys + +Once that is set up, the general workflow for sending patches is to create a +new local branch with your improvements and once it's ready push it to your +personal pixman fork: - - This link: + git checkout -b fix-some-bug + ... + git push my-gitlab - http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#patch-series +The output of the `git push` command will include a link that allows you to +create a Merge Request against the official pixman repository. - describes how what a good patch series is, and to create one with - git. +Whenever you make changes to your branch (add new commits or fix up commits) +you push them back to your personal pixman fork: + + git push -f my-gitlab + +If there is an open Merge Request Gitlab will automatically pick up the +changes from your branch and pixman developers can review them anew. + +In order for your patches to be accepted, please consider the +following guidelines: - At each point in the series, pixman should compile and the test suite should pass. @@ -81,6 +99,12 @@ following guidelines: make check + if you built pixman with autotools or + + meson test -C builddir + + if you built pixman with meson. + It will take around two minutes to run on a modern PC. - Follow the coding style described in the CODING_STYLE file @@ -101,7 +125,7 @@ following guidelines: - If review comments were incorporated, a brief version history describing what those changes were. - - For big patch series, send an introductory email with an overall + - For big patch series, write an introductory post with an overall description of the patch series, including benchmarks and motivation. Each commit message should still be descriptive and include enough information to understand why this particular commit @@ -111,6 +135,6 @@ Pixman has high standards for code quali should expect to have the first versions of their patches rejected. If you think that the reviewers are wrong about something, or that the -guidelines above are wrong, feel free to discuss the issue on the -list. The purpose of the guidelines and code review is to ensure high -code quality; it is not an exercise in compliance. +guidelines above are wrong, feel free to discuss the issue. The purpose +of the guidelines and code review is to ensure high code quality; it is +not an exercise in compliance. Index: aclocal.m4 =================================================================== RCS file: /cvs/xenocara/lib/pixman/aclocal.m4,v retrieving revision 1.14 diff -u -p -u -p -r1.14 aclocal.m4 --- aclocal.m4 25 Jul 2021 15:16:31 -0000 1.14 +++ aclocal.m4 30 Jan 2023 14:05:30 -0000 @@ -9482,44 +9482,6 @@ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless 'enable' is passed literally. -# For symmetry, 'disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], - [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], - am_maintainer_other[ make rules and dependencies not useful - (and sometimes confusing) to the casual installer])], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) - # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2012 Free Software Foundation, Inc. Index: compile =================================================================== RCS file: /cvs/xenocara/lib/pixman/compile,v retrieving revision 1.3 diff -u -p -u -p -r1.3 compile --- compile 18 Jan 2019 14:34:01 -0000 1.3 +++ compile 30 Jan 2023 14:05:30 -0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ func_file_conv () MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ func_file_conv () mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) @@ -345,146 +345,4 @@ exit $ret # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" -# End: -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. -# Written by Tom Tromey <tro...@cygnus.com>. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to <bug-autom...@gnu.org> or send patches to -# <automake-patc...@gnu.org>. - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. - -Report bugs to <bug-autom...@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; -esac - -ofile= -cfile= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" # End: Index: config.h.in =================================================================== RCS file: /cvs/xenocara/lib/pixman/config.h.in,v retrieving revision 1.16 diff -u -p -u -p -r1.16 config.h.in --- config.h.in 18 Jan 2019 14:34:01 -0000 1.16 +++ config.h.in 30 Jan 2023 14:05:30 -0000 @@ -130,6 +130,9 @@ /* Whether the tool chain supports __attribute__((constructor)) */ #undef TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR +/* use ARM A64_NEON assembly optimizations */ +#undef USE_ARM_A64_NEON + /* use ARM IWMMXT compiler intrinsics */ #undef USE_ARM_IWMMXT Index: configure =================================================================== RCS file: /cvs/xenocara/lib/pixman/configure,v retrieving revision 1.32 diff -u -p -u -p -r1.32 configure --- configure 25 Jul 2021 15:16:31 -0000 1.32 +++ configure 30 Jan 2023 14:05:30 -0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pixman 0.40.0. +# Generated by GNU Autoconf 2.69 for pixman 0.42.2. # # Report bugs to <pix...@lists.freedesktop.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='pixman' PACKAGE_TARNAME='pixman' -PACKAGE_VERSION='0.40.0' -PACKAGE_STRING='pixman 0.40.0' +PACKAGE_VERSION='0.42.2' +PACKAGE_STRING='pixman 0.42.2' PACKAGE_BUGREPORT='pix...@lists.freedesktop.org' PACKAGE_URL='' @@ -660,6 +660,8 @@ USE_MIPS_DSPR2_FALSE USE_MIPS_DSPR2_TRUE USE_ARM_IWMMXT_FALSE USE_ARM_IWMMXT_TRUE +USE_ARM_A64_NEON_FALSE +USE_ARM_A64_NEON_TRUE USE_ARM_NEON_FALSE USE_ARM_NEON_TRUE USE_ARM_SIMD_FALSE @@ -667,6 +669,7 @@ USE_ARM_SIMD_TRUE USE_VMX_FALSE USE_VMX_TRUE VMX_CFLAGS +SSSE3_LDFLAGS SSSE3_CFLAGS SSE2_LDFLAGS SSE2_CFLAGS @@ -743,9 +746,6 @@ AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE am__untar am__tar AMTAR @@ -811,7 +811,6 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking -enable_maintainer_mode enable_silent_rules enable_dependency_tracking enable_shared @@ -829,6 +828,7 @@ enable_ssse3 enable_vmx enable_arm_simd enable_arm_neon +enable_arm_a64_neon enable_arm_iwmmxt enable_arm_iwmmxt2 enable_mips_dspr2 @@ -1407,7 +1407,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pixman 0.40.0 to adapt to many kinds of systems. +\`configure' configures pixman 0.42.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1478,7 +1478,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pixman 0.40.0:";; + short | recursive ) echo "Configuration of pixman 0.42.2:";; esac cat <<\_ACEOF @@ -1486,9 +1486,6 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-maintainer-mode - enable make rules and dependencies not useful (and - sometimes confusing) to the casual installer --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking @@ -1508,6 +1505,7 @@ Optional Features: --disable-vmx disable VMX fast paths --disable-arm-simd disable ARM SIMD fast paths --disable-arm-neon disable ARM NEON fast paths + --disable-arm-a64-neon disable ARM A64 NEON fast paths --disable-arm-iwmmxt disable ARM IWMMXT fast paths --disable-arm-iwmmxt2 build ARM IWMMXT fast paths with -march=iwmmxt instead of -march=iwmmxt2 @@ -1618,7 +1616,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pixman configure 0.40.0 +pixman configure 0.42.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2216,7 +2214,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pixman $as_me 0.40.0, which was +It was created by pixman $as_me 0.42.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3040,7 +3038,7 @@ fi # Define the identity of the package. PACKAGE='pixman' - VERSION='0.40.0' + VERSION='0.42.2' cat >>confdefs.h <<_ACEOF @@ -3087,30 +3085,6 @@ am__tar='$${TAR-tar} chof - "$$tardir"' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - # Suppress verbose compile lines # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : @@ -12248,13 +12222,13 @@ fi -LT_VERSION_INFO="40:0:40" +LT_VERSION_INFO="42:2:42" PIXMAN_VERSION_MAJOR=0 -PIXMAN_VERSION_MINOR=40 +PIXMAN_VERSION_MINOR=42 -PIXMAN_VERSION_MICRO=0 +PIXMAN_VERSION_MICRO=2 @@ -12605,54 +12579,6 @@ $as_echo "#define USE_OPENMP 1" >>confde fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -ftrapping-math" >&5 -$as_echo_n "checking whether the compiler supports -ftrapping-math... " >&6; } - save_CFLAGS="$CFLAGS" - save_LDFLAGS="$LDFLAGS" - save_LIBS="$LIBS" - CFLAGS="" - LDFLAGS="" - LIBS="" - CFLAGS="$WERROR -ftrapping-math" - CFLAGS="$save_CFLAGS $CFLAGS" - LDFLAGS="$save_LDFLAGS $LDFLAGS" - LIBS="$save_LIBS $LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - int main(int c, char **v) { (void)c; (void)v; return 0; } - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - pixman_cc_stderr=`test -f conftest.err && cat conftest.err` - pixman_cc_flag=yes -else - pixman_cc_stderr=`test -f conftest.err && cat conftest.err` - pixman_cc_flag=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - if test "x$pixman_cc_stderr" != "x"; then - pixman_cc_flag=no - fi - - if test "x$pixman_cc_flag" = "xyes"; then - _yesno=yes - else - _yesno=no - fi - CFLAGS="$save_CFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - - if test "x$_yesno" = xyes; then - CFLAGS="$CFLAGS -ftrapping-math" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_yesno" >&5 -$as_echo "$_yesno" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fvisibility=hidden" >&5 $as_echo_n "checking whether the compiler supports -fvisibility=hidden... " >&6; } @@ -13073,17 +12999,17 @@ fi case $host_os in solaris*) - # When building 32-bit binaries, apply a mapfile to ensure that the - # binaries aren't flagged as only able to run on MMX+SSE capable CPUs - # since they check at runtime before using those instructions. + # When building Solaris binaries, apply a mapfile to ensure that the + # binaries aren't flagged as only able to run on MMX/SSE/SSSE3 capable + # CPUs since they check at runtime before using those instructions. # Not all linkers grok the mapfile format so we check for that first. - if test "$AMD64_ABI" = "no" ; then + if test "$host_cpu" = "i386" -o "$host_cpu" = "x86_64"; then use_hwcap_mapfile=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use a hardware capability map file" >&5 $as_echo_n "checking whether to use a hardware capability map file... " >&6; } hwcap_save_LDFLAGS="$LDFLAGS" HWCAP_LDFLAGS='-Wl,-M,$(srcdir)/solaris-hwcap.mapfile' - LDFLAGS="$LDFLAGS -Wl,-M,pixman/solaris-hwcap.mapfile" + LDFLAGS="$LDFLAGS -Wl,-M,${srcdir}/pixman/solaris-hwcap.mapfile" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main() { return 0; } @@ -13105,6 +13031,9 @@ $as_echo "$use_hwcap_mapfile" >&6; } if test "x$SSE2_LDFLAGS" = "x" ; then SSE2_LDFLAGS="$HWCAP_LDFLAGS" fi + if test "x$SSSE3_LDFLAGS" = "x" ; then + SSSE3_LDFLAGS="$HWCAP_LDFLAGS" + fi ;; esac @@ -13116,6 +13045,7 @@ esac + if test -n "`$CC -v 2>&1 | grep version | grep Apple`"; then VMX_CFLAGS="-faltivec" else @@ -13301,6 +13231,59 @@ if test $enable_arm_neon = yes && test $ as_fn_error $? "ARM NEON intrinsics not detected" "$LINENO" 5 fi +have_arm_a64_neon=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use ARM A64 NEON assembler" >&5 +$as_echo_n "checking whether to use ARM A64 NEON assembler... " >&6; } +xserver_save_CFLAGS=$CFLAGS +CFLAGS="-x assembler-with-cpp $CFLAGS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +.text +.arch armv8-a +.altmacro +prfm pldl2strm, [x0] +xtn v0.8b, v0.8h +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + have_arm_a64_neon=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS=$xserver_save_CFLAGS + +# Check whether --enable-arm-a64-neon was given. +if test "${enable_arm_a64_neon+set}" = set; then : + enableval=$enable_arm_a64_neon; enable_arm_a64_neon=$enableval +else + enable_arm_a64_neon=auto +fi + + +if test $enable_arm_a64_neon = no ; then + have_arm_a64_neon=disabled +fi + +if test $have_arm_a64_neon = yes ; then + +$as_echo "#define USE_ARM_A64_NEON 1" >>confdefs.h + +fi + + if test $have_arm_a64_neon = yes; then + USE_ARM_A64_NEON_TRUE= + USE_ARM_A64_NEON_FALSE='#' +else + USE_ARM_A64_NEON_TRUE='#' + USE_ARM_A64_NEON_FALSE= +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_arm_a64_neon" >&5 +$as_echo "$have_arm_a64_neon" >&6; } +if test $enable_arm_a64_neon = yes && test $have_arm_a64_neon4 = no ; then + as_fn_error $? "ARM A64 NEON intrinsics not detected" "$LINENO" 5 +fi + # Check whether --enable-arm-iwmmxt was given. if test "${enable_arm_iwmmxt+set}" = set; then : @@ -13725,19 +13708,19 @@ fi pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.16 pixman-1" >&5 -$as_echo_n "checking for gtk+-2.0 >= 2.16 pixman-1... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-3.0 pixman-1" >&5 +$as_echo_n "checking for gtk+-3.0 pixman-1... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.16 pixman-1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.16 pixman-1") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 pixman-1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 pixman-1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.16 pixman-1" 2>/dev/null` + pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 pixman-1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -13749,12 +13732,12 @@ if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.16 pixman-1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.16 pixman-1") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 pixman-1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 pixman-1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.16 pixman-1" 2>/dev/null` + pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 pixman-1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -13775,14 +13758,14 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-2.0 >= 2.16 pixman-1" 2>&1` + GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 pixman-1" 2>&1` else - GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0 >= 2.16 pixman-1" 2>&1` + GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 pixman-1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (gtk+-2.0 >= 2.16 pixman-1) were not met: + as_fn_error $? "Package requirements (gtk+-3.0 pixman-1) were not met: $GTK_PKG_ERRORS @@ -13864,19 +13847,19 @@ fi if test $enable_gtk = auto ; then pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.16 pixman-1" >&5 -$as_echo_n "checking for gtk+-2.0 >= 2.16 pixman-1... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-3.0 pixman-1" >&5 +$as_echo_n "checking for gtk+-3.0 pixman-1... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.16 pixman-1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.16 pixman-1") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 pixman-1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 pixman-1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.16 pixman-1" 2>/dev/null` + pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 pixman-1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -13888,12 +13871,12 @@ if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.16 pixman-1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.16 pixman-1") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 pixman-1\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 pixman-1") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.16 pixman-1" 2>/dev/null` + pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 pixman-1" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -13914,9 +13897,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-2.0 >= 2.16 pixman-1" 2>&1` + GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 pixman-1" 2>&1` else - GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-2.0 >= 2.16 pixman-1" 2>&1` + GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 pixman-1" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 @@ -14911,10 +14894,6 @@ else am__EXEEXT_FALSE= fi -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -14956,6 +14935,10 @@ if test -z "${USE_ARM_NEON_TRUE}" && tes as_fn_error $? "conditional \"USE_ARM_NEON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_ARM_A64_NEON_TRUE}" && test -z "${USE_ARM_A64_NEON_FALSE}"; then + as_fn_error $? "conditional \"USE_ARM_A64_NEON\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${USE_ARM_IWMMXT_TRUE}" && test -z "${USE_ARM_IWMMXT_FALSE}"; then as_fn_error $? "conditional \"USE_ARM_IWMMXT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -15369,7 +15352,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pixman $as_me 0.40.0, which was +This file was extended by pixman $as_me 0.42.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15435,7 +15418,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -pixman config.status 0.40.0 +pixman config.status 0.42.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Index: configure.ac =================================================================== RCS file: /cvs/xenocara/lib/pixman/configure.ac,v retrieving revision 1.29 diff -u -p -u -p -r1.29 configure.ac --- configure.ac 25 Jul 2021 15:16:31 -0000 1.29 +++ configure.ac 30 Jan 2023 14:05:30 -0000 @@ -53,16 +53,14 @@ AC_PREREQ([2.57]) # m4_define([pixman_major], 0) -m4_define([pixman_minor], 40) -m4_define([pixman_micro], 0) +m4_define([pixman_minor], 42) +m4_define([pixman_micro], 2) m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro]) AC_INIT(pixman, pixman_version, [pix...@lists.freedesktop.org], pixman) AM_INIT_AUTOMAKE([foreign dist-xz]) -AM_MAINTAINER_MODE - # Suppress verbose compile lines m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) @@ -251,10 +249,6 @@ if test "x$ac_cv_prog_c_openmp" != "xuns fi AC_SUBST(OPENMP_CFLAGS) -dnl ======================================================================== -dnl make the tests pass with clang -PIXMAN_CHECK_CFLAG([-ftrapping-math]) - dnl ========================================================================= dnl -fvisibility stuff @@ -509,19 +503,19 @@ fi AM_CONDITIONAL(USE_SSSE3, test $have_ssse3_intrinsics = yes) dnl =========================================================================== -dnl Other special flags needed when building code using MMX or SSE instructions +dnl Other special flags needed when building code using x86 ISA extensions case $host_os in solaris*) - # When building 32-bit binaries, apply a mapfile to ensure that the - # binaries aren't flagged as only able to run on MMX+SSE capable CPUs - # since they check at runtime before using those instructions. + # When building Solaris binaries, apply a mapfile to ensure that the + # binaries aren't flagged as only able to run on MMX/SSE/SSSE3 capable + # CPUs since they check at runtime before using those instructions. # Not all linkers grok the mapfile format so we check for that first. - if test "$AMD64_ABI" = "no" ; then + if test "$host_cpu" = "i386" -o "$host_cpu" = "x86_64"; then use_hwcap_mapfile=no AC_MSG_CHECKING(whether to use a hardware capability map file) hwcap_save_LDFLAGS="$LDFLAGS" HWCAP_LDFLAGS='-Wl,-M,$(srcdir)/solaris-hwcap.mapfile' - LDFLAGS="$LDFLAGS -Wl,-M,pixman/solaris-hwcap.mapfile" + LDFLAGS="$LDFLAGS -Wl,-M,${srcdir}/pixman/solaris-hwcap.mapfile" AC_LINK_IFELSE([AC_LANG_SOURCE([[int main() { return 0; }]])], use_hwcap_mapfile=yes, HWCAP_LDFLAGS="") @@ -534,6 +528,9 @@ case $host_os in if test "x$SSE2_LDFLAGS" = "x" ; then SSE2_LDFLAGS="$HWCAP_LDFLAGS" fi + if test "x$SSSE3_LDFLAGS" = "x" ; then + SSSE3_LDFLAGS="$HWCAP_LDFLAGS" + fi ;; esac @@ -544,6 +541,7 @@ AC_SUBST(MMX_LDFLAGS) AC_SUBST(SSE2_CFLAGS) AC_SUBST(SSE2_LDFLAGS) AC_SUBST(SSSE3_CFLAGS) +AC_SUBST(SSSE3_LDFLAGS) dnl =========================================================================== dnl Check for VMX/Altivec @@ -673,6 +671,40 @@ if test $enable_arm_neon = yes && test $ AC_MSG_ERROR([ARM NEON intrinsics not detected]) fi +dnl ========================================================================== +dnl Check if assembler is gas compatible and supports ARM-a64 NEON instructions +have_arm_a64_neon=no +AC_MSG_CHECKING(whether to use ARM A64 NEON assembler) +xserver_save_CFLAGS=$CFLAGS +CFLAGS="-x assembler-with-cpp $CFLAGS" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +.text +.arch armv8-a +.altmacro +prfm pldl2strm, [x0] +xtn v0.8b, v0.8h]])], have_arm_a64_neon=yes) +CFLAGS=$xserver_save_CFLAGS + +AC_ARG_ENABLE(arm-a64-neon, + [AC_HELP_STRING([--disable-arm-a64-neon], + [disable ARM A64 NEON fast paths])], + [enable_arm_a64_neon=$enableval], [enable_arm_a64_neon=auto]) + +if test $enable_arm_a64_neon = no ; then + have_arm_a64_neon=disabled +fi + +if test $have_arm_a64_neon = yes ; then + AC_DEFINE(USE_ARM_A64_NEON, 1, [use ARM A64_NEON assembly optimizations]) +fi + +AM_CONDITIONAL(USE_ARM_A64_NEON, test $have_arm_a64_neon = yes) + +AC_MSG_RESULT($have_arm_a64_neon) +if test $enable_arm_a64_neon = yes && test $have_arm_a64_neon4 = no ; then + AC_MSG_ERROR([ARM A64 NEON intrinsics not detected]) +fi + dnl =========================================================================== dnl Check for IWMMXT @@ -864,7 +896,7 @@ PKG_PROG_PKG_CONFIG if test $enable_gtk = yes ; then AC_CHECK_LIB([pixman-1], [pixman_version_string]) - PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.16 pixman-1]) + PKG_CHECK_MODULES(GTK, [gtk+-3.0 pixman-1]) fi if test $enable_gtk = auto ; then @@ -872,7 +904,7 @@ if test $enable_gtk = auto ; then fi if test $enable_gtk = auto ; then - PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.16 pixman-1], [enable_gtk=yes], [enable_gtk=no]) + PKG_CHECK_MODULES(GTK, [gtk+-3.0 pixman-1], [enable_gtk=yes], [enable_gtk=no]) fi AM_CONDITIONAL(HAVE_GTK, [test "x$enable_gtk" = xyes]) @@ -1154,7 +1186,7 @@ m4_if(m4_eval(pixman_minor % 2), [1], [ echo echo " or by filing a bug at " echo - echo " https://bugs.freedesktop.org/enter_bug.cgi?product=pixman " + echo " https://gitlab.freedesktop.org/pixman/pixman/-/issues/new " echo echo " If you are looking for a stable release of pixman, please note " echo " that stable releases have _even_ minor version numbers. Ie., " Index: meson.build =================================================================== RCS file: /cvs/xenocara/lib/pixman/meson.build,v retrieving revision 1.2 diff -u -p -u -p -r1.2 meson.build --- meson.build 25 Jul 2021 15:16:31 -0000 1.2 +++ meson.build 30 Jan 2023 14:05:30 -0000 @@ -21,10 +21,10 @@ project( 'pixman', ['c'], - version : '0.40.0', + version : '0.42.2', license : 'MIT', - meson_version : '>= 0.50.0', - default_options : ['buildtype=debugoptimized'], + meson_version : '>= 0.52.0', + default_options : ['c_std=gnu99', 'buildtype=debugoptimized'], ) config = configuration_data() @@ -37,6 +37,12 @@ add_project_arguments( '-fno-strict-aliasing', '-fvisibility=hidden', '-Wundef', + # -ftrapping-math is the default for gcc, but -fno-trapping-math is the + # default for clang. The FLOAT_IS_ZERO macro is used to guard against + # floating-point exceptions, however with -fno-trapping-math, the compiler + # can reorder floating-point operations so that they occur before the guard. + # Note, this function is ignored in clang < 10.0.0. + '-ftrapping-math' ]), language : ['c'] ) @@ -275,6 +281,22 @@ elif use_neon.enabled() error('NEON Support unavailable, but required') endif +use_a64neon = get_option('a64-neon') +have_a64neon = false +if not use_a64neon.disabled() + if host_machine.cpu_family() == 'aarch64' + if cc.compiles(files('a64-neon-test.S'), name : 'NEON A64 Intrinsic Support') + have_a64neon = true + endif + endif +endif + +if have_a64neon + config.set10('USE_ARM_A64_NEON', true) +elif use_a64neon.enabled() + error('A64 NEON Support unavailable, but required') +endif + use_iwmmxt = get_option('iwmmxt') have_iwmmxt = false iwmmxt_flags = ['-flax-vector-conversions', '-Winline'] @@ -390,10 +412,8 @@ else dep_openmp = null_dep endif -dep_gtk = dependency('gtk+-2.0', version : '>= 2.16', required : get_option('gtk')) +dep_gtk = dependency('gtk+-3.0', required : get_option('gtk')) dep_glib = dependency('glib-2.0', required : get_option('gtk')) -dep_pixman = dependency('pixman-1', required : get_option('gtk'), - version : '>= ' + meson.project_version()) dep_png = null_dep if not get_option('libpng').disabled() @@ -472,15 +492,25 @@ foreach h : ['sys/mman.h', 'fenv.h', 'un endif endforeach -# gcc on Windows only warns that __declspec(thread) isn't supported, -# passing -Werror=attributes makes it fail. -if (host_machine.system() == 'windows' and - cc.compiles('int __declspec(thread) foo;', - args : cc.get_supported_arguments(['-Werror=attributes']), - name : 'TLS via __declspec(thread)')) - config.set('TLS', '__declspec(thread)') -elif cc.compiles('int __thread foo;', name : 'TLS via __thread') - config.set('TLS', '__thread') +use_tls = get_option('tls') +have_tls = '' +if not use_tls.disabled() + # gcc on Windows only warns that __declspec(thread) isn't supported, + # passing -Werror=attributes makes it fail. + if (host_machine.system() == 'windows' and + cc.compiles('int __declspec(thread) foo;', + args : cc.get_supported_arguments(['-Werror=attributes']), + name : 'TLS via __declspec(thread)')) + have_tls = '__declspec(thread)' + elif cc.compiles('int __thread foo;', name : 'TLS via __thread') + have_tls = '__thread' + endif +endif + +if have_tls != '' + config.set('TLS', have_tls) +elif use_tls.enabled() + error('Compiler TLS Support unavailable, but required') endif if cc.links(''' @@ -528,15 +558,17 @@ version_conf.set('PIXMAN_VERSION_MICRO', add_project_arguments('-DHAVE_CONFIG_H', language : ['c']) subdir('pixman') -subdir('test') -subdir('demos') + +if not get_option('tests').disabled() + subdir('test') + subdir('demos') +endif pkg = import('pkgconfig') -pkg.generate( +pkg.generate(libpixman, name : 'Pixman', filebase : 'pixman-1', description : 'The pixman library (version 1)', - libraries : libpixman, subdirs: 'pixman-1', version : meson.project_version(), ) Index: meson_options.txt =================================================================== RCS file: /cvs/xenocara/lib/pixman/meson_options.txt,v retrieving revision 1.1 diff -u -p -u -p -r1.1 meson_options.txt --- meson_options.txt 11 May 2019 07:46:07 -0000 1.1 +++ meson_options.txt 30 Jan 2023 14:05:30 -0000 @@ -54,6 +54,11 @@ option( description : 'Use ARM NEON intrinsic optimized paths', ) option( + 'a64-neon', + type : 'feature', + description : 'Use ARM A64 NEON intrinsic optimized paths', +) +option( 'iwmmxt', type : 'feature', description : 'Use ARM IWMMXT intrinsic optimized paths', @@ -75,9 +80,19 @@ option( description : 'Use GNU style inline assembler', ) option( + 'tls', + type : 'feature', + description : 'Use compiler support for thread-local storage', +) +option( + 'cpu-features-path', + type : 'string', + description : 'Path to platform-specific cpu-features.[ch] for systems that do not provide it (e.g. Android)', +) +option( 'openmp', type : 'feature', - description : 'Enable openmp support', + description : 'Enable OpenMP for tests', ) option( 'timers', @@ -94,10 +109,15 @@ option( option( 'gtk', type : 'feature', - description : 'Enable tests using GTK', + description : 'Enable demos using GTK', ) option( 'libpng', type : 'feature', - description : 'Use libpng' + description : 'Use libpng in tests' +) +option( + 'tests', + type : 'feature', + description : 'Build tests and demos' ) Index: test-driver =================================================================== RCS file: /cvs/xenocara/lib/pixman/test-driver,v retrieving revision 1.3 diff -u -p -u -p -r1.3 test-driver --- test-driver 18 Jan 2019 14:34:01 -0000 1.3 +++ test-driver 30 Jan 2023 14:05:30 -0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -42,11 +42,13 @@ print_usage () { cat <<END Usage: - test-driver --test-name=NAME --log-file=PATH --trs-file=PATH - [--expect-failure={yes|no}] [--color-tests={yes|no}] - [--enable-hard-errors={yes|no}] [--] + test-driver --test-name NAME --log-file PATH --trs-file PATH + [--expect-failure {yes|no}] [--color-tests {yes|no}] + [--enable-hard-errors {yes|no}] [--] TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS] + The '--test-name', '--log-file' and '--trs-file' options are mandatory. +See the GNU Automake documentation for information. END } @@ -103,8 +105,11 @@ trap "st=130; $do_exit" 2 trap "st=141; $do_exit" 13 trap "st=143; $do_exit" 15 -# Test script is run here. -"$@" >$log_file 2>&1 +# Test script is run here. We create the file first, then append to it, +# to ameliorate tests themselves also writing to the log file. Our tests +# don't, but others can (automake bug#35762). +: >"$log_file" +"$@" >>"$log_file" 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then @@ -126,7 +131,7 @@ esac # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). -echo "$res $test_name (exit status: $estatus)" >>$log_file +echo "$res $test_name (exit status: $estatus)" >>"$log_file" # Report outcome to console. echo "${col}${res}${std}: $test_name" Index: demos/Makefile.in =================================================================== RCS file: /cvs/xenocara/lib/pixman/demos/Makefile.in,v retrieving revision 1.10 diff -u -p -u -p -r1.10 Makefile.in --- demos/Makefile.in 25 Jul 2021 15:16:31 -0000 1.10 +++ demos/Makefile.in 30 Jan 2023 14:05:30 -0000 @@ -364,7 +364,6 @@ LN_S = @LN_S@ LS_CFLAGS = @LS_CFLAGS@ LTLIBOBJS = @LTLIBOBJS@ LT_VERSION_INFO = @LT_VERSION_INFO@ -MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -405,6 +404,7 @@ SHELL = @SHELL@ SSE2_CFLAGS = @SSE2_CFLAGS@ SSE2_LDFLAGS = @SSE2_LDFLAGS@ SSSE3_CFLAGS = @SSSE3_CFLAGS@ +SSSE3_LDFLAGS = @SSSE3_LDFLAGS@ STRIP = @STRIP@ TESTPROGS_EXTRA_LDFLAGS = @TESTPROGS_EXTRA_LDFLAGS@ TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR = @TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR@ @@ -520,7 +520,7 @@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -545,9 +545,9 @@ Makefile: $(srcdir)/Makefile.in $(top_bu $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +$(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): Index: pixman/Makefile.in =================================================================== RCS file: /cvs/xenocara/lib/pixman/pixman/Makefile.in,v retrieving revision 1.21 diff -u -p -u -p -r1.21 Makefile.in --- pixman/Makefile.in 25 Jul 2021 15:16:31 -0000 1.21 +++ pixman/Makefile.in 30 Jan 2023 14:05:31 -0000 @@ -363,7 +363,6 @@ LN_S = @LN_S@ LS_CFLAGS = @LS_CFLAGS@ LTLIBOBJS = @LTLIBOBJS@ LT_VERSION_INFO = @LT_VERSION_INFO@ -MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -404,6 +403,7 @@ SHELL = @SHELL@ SSE2_CFLAGS = @SSE2_CFLAGS@ SSE2_LDFLAGS = @SSE2_LDFLAGS@ SSSE3_CFLAGS = @SSSE3_CFLAGS@ +SSSE3_LDFLAGS = @SSSE3_LDFLAGS@ STRIP = @STRIP@ TESTPROGS_EXTRA_LDFLAGS = @TESTPROGS_EXTRA_LDFLAGS@ TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR = @TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR@ @@ -591,7 +591,7 @@ all: all-am .SUFFIXES: .SUFFIXES: .S .c .lo .o .obj .s -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/pixman/Makefile.sources $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/pixman/Makefile.sources $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -617,9 +617,9 @@ $(top_srcdir)/pixman/Makefile.sources: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +$(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): pixman-version.h: $(top_builddir)/config.status $(srcdir)/pixman-version.h.in Index: test/Makefile.in =================================================================== RCS file: /cvs/xenocara/lib/pixman/test/Makefile.in,v retrieving revision 1.21 diff -u -p -u -p -r1.21 Makefile.in --- test/Makefile.in 25 Jul 2021 15:16:31 -0000 1.21 +++ test/Makefile.in 30 Jan 2023 14:05:31 -0000 @@ -442,7 +442,6 @@ LN_S = @LN_S@ LS_CFLAGS = @LS_CFLAGS@ LTLIBOBJS = @LTLIBOBJS@ LT_VERSION_INFO = @LT_VERSION_INFO@ -MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ @@ -483,6 +482,7 @@ SHELL = @SHELL@ SSE2_CFLAGS = @SSE2_CFLAGS@ SSE2_LDFLAGS = @SSE2_LDFLAGS@ SSSE3_CFLAGS = @SSSE3_CFLAGS@ +SSSE3_LDFLAGS = @SSSE3_LDFLAGS@ STRIP = @STRIP@ TESTPROGS_EXTRA_LDFLAGS = @TESTPROGS_EXTRA_LDFLAGS@ TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR = @TOOLCHAIN_SUPPORTS_ATTRIBUTE_CONSTRUCTOR@ @@ -616,7 +616,7 @@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/test/Makefile.sources $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/test/Makefile.sources $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -642,9 +642,9 @@ $(top_srcdir)/test/Makefile.sources: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) +$(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps):