mirror of
https://salsa.debian.org/xorg-team/lib/pixman
synced 2025-09-04 17:13:39 +00:00
Compare commits
No commits in common. "debian-unstable" and "pixman-0.9.5-1" have entirely different histories.
debian-uns
...
pixman-0.9
@ -1,11 +0,0 @@
|
|||||||
# To use this config on you editor, follow the instructions at:
|
|
||||||
# http://editorconfig.org
|
|
||||||
|
|
||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
tab_width = 8
|
|
||||||
|
|
||||||
[meson.build,meson_options.txt]
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 2
|
|
32
.gitignore
vendored
32
.gitignore
vendored
@ -3,7 +3,6 @@ Makefile.in
|
|||||||
.deps
|
.deps
|
||||||
.libs
|
.libs
|
||||||
.msg
|
.msg
|
||||||
*.pc
|
|
||||||
*.lo
|
*.lo
|
||||||
*.la
|
*.la
|
||||||
*.a
|
*.a
|
||||||
@ -22,35 +21,10 @@ install-sh
|
|||||||
libtool
|
libtool
|
||||||
ltmain.sh
|
ltmain.sh
|
||||||
missing
|
missing
|
||||||
|
pixman.pc
|
||||||
stamp-h?
|
stamp-h?
|
||||||
config.h
|
config.h
|
||||||
config.h.in
|
config.h.in
|
||||||
.*.swp
|
.*.swp
|
||||||
demos/*-test
|
test/composite-test
|
||||||
demos/checkerboard
|
test/gradient-test
|
||||||
demos/clip-in
|
|
||||||
demos/linear-gradient
|
|
||||||
demos/quad2quad
|
|
||||||
demos/scale
|
|
||||||
demos/dither
|
|
||||||
pixman/pixman-srgb.c
|
|
||||||
pixman/pixman-version.h
|
|
||||||
test/*-test
|
|
||||||
test/affine-bench
|
|
||||||
test/alpha-loop
|
|
||||||
test/alphamap
|
|
||||||
test/check-formats
|
|
||||||
test/clip-in
|
|
||||||
test/composite
|
|
||||||
test/infinite-loop
|
|
||||||
test/lowlevel-blt-bench
|
|
||||||
test/radial-invalid
|
|
||||||
test/region-translate
|
|
||||||
test/scaling-bench
|
|
||||||
test/trap-crasher
|
|
||||||
*.pdb
|
|
||||||
*.dll
|
|
||||||
*.lib
|
|
||||||
*.ilk
|
|
||||||
*.obj
|
|
||||||
*.exe
|
|
||||||
|
@ -1,80 +0,0 @@
|
|||||||
# Docker build stage
|
|
||||||
#
|
|
||||||
# It builds a multi-arch image for all required architectures. Each image can be
|
|
||||||
# later easily used with properly configured Docker (which uses binfmt and QEMU
|
|
||||||
# underneath).
|
|
||||||
|
|
||||||
docker:
|
|
||||||
stage: docker
|
|
||||||
image: quay.io/buildah/stable
|
|
||||||
rules:
|
|
||||||
- if: "$CI_PIPELINE_SOURCE == 'merge_request_event' && $TARGET =~ $ACTIVE_TARGET_PATTERN"
|
|
||||||
changes:
|
|
||||||
paths:
|
|
||||||
- .gitlab-ci.d/01-docker.yml
|
|
||||||
- .gitlab-ci.d/01-docker/**/*
|
|
||||||
variables:
|
|
||||||
DOCKER_TAG: $CI_COMMIT_REF_SLUG
|
|
||||||
DOCKER_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/pixman:${DOCKER_TAG}
|
|
||||||
- if: "$CI_PIPELINE_SOURCE == 'schedule' && $TARGET =~ $ACTIVE_TARGET_PATTERN"
|
|
||||||
- if: "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $TARGET =~ $ACTIVE_TARGET_PATTERN"
|
|
||||||
- if: "$CI_COMMIT_TAG && $TARGET =~ $ACTIVE_TARGET_PATTERN"
|
|
||||||
|
|
||||||
variables:
|
|
||||||
# Use vfs with buildah. Docker offers overlayfs as a default, but Buildah
|
|
||||||
# cannot stack overlayfs on top of another overlayfs filesystem.
|
|
||||||
STORAGE_DRIVER: vfs
|
|
||||||
|
|
||||||
# Write all image metadata in the docker format, not the standard OCI
|
|
||||||
# format. Newer versions of docker can handle the OCI format, but older
|
|
||||||
# versions, like the one shipped with Fedora 30, cannot handle the format.
|
|
||||||
BUILDAH_FORMAT: docker
|
|
||||||
|
|
||||||
BUILDAH_ISOLATION: chroot
|
|
||||||
CACHE_IMAGE: ${CI_REGISTRY_IMAGE}/cache
|
|
||||||
CACHE_ARGS: --cache-from ${CACHE_IMAGE} --cache-to ${CACHE_IMAGE}
|
|
||||||
before_script:
|
|
||||||
# Login to the target registry.
|
|
||||||
- echo "${CI_REGISTRY_PASSWORD}" |
|
|
||||||
buildah login -u "${CI_REGISTRY_USER}" --password-stdin ${CI_REGISTRY}
|
|
||||||
|
|
||||||
# Docker Hub login is optional, and can be used to circumvent image pull
|
|
||||||
# quota for anonymous pulls for base images.
|
|
||||||
- echo "${DOCKERHUB_PASSWORD}" |
|
|
||||||
buildah login -u "${DOCKERHUB_USER}" --password-stdin docker.io ||
|
|
||||||
echo "Failed to login to Docker Hub."
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- TARGET:
|
|
||||||
- linux-386
|
|
||||||
- linux-amd64
|
|
||||||
- linux-arm-v5
|
|
||||||
- linux-arm-v7
|
|
||||||
- linux-arm64-v8
|
|
||||||
- linux-mips
|
|
||||||
- linux-mips64el
|
|
||||||
- linux-mipsel
|
|
||||||
- linux-ppc
|
|
||||||
- linux-ppc64
|
|
||||||
- linux-ppc64le
|
|
||||||
- linux-riscv64
|
|
||||||
- windows-686
|
|
||||||
- windows-amd64
|
|
||||||
- windows-arm64-v8
|
|
||||||
script:
|
|
||||||
# Prepare environment.
|
|
||||||
- ${LOAD_TARGET_ENV}
|
|
||||||
- FULL_IMAGE_NAME=${DOCKER_IMAGE_NAME}-${TARGET}
|
|
||||||
|
|
||||||
# Build and push the image.
|
|
||||||
- buildah bud
|
|
||||||
--tag ${FULL_IMAGE_NAME}
|
|
||||||
--layers ${CACHE_ARGS}
|
|
||||||
--target ${TARGET}
|
|
||||||
--platform=${DOCKER_PLATFORM}
|
|
||||||
--build-arg BASE_IMAGE=${BASE_IMAGE}
|
|
||||||
--build-arg BASE_IMAGE_TAG=${BASE_IMAGE_TAG}
|
|
||||||
--build-arg LLVM_VERSION=${LLVM_VERSION}
|
|
||||||
-f Dockerfile .gitlab-ci.d/01-docker/
|
|
||||||
- buildah images
|
|
||||||
- buildah push ${FULL_IMAGE_NAME}
|
|
@ -1,150 +0,0 @@
|
|||||||
ARG BASE_IMAGE=docker.io/debian
|
|
||||||
ARG BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG} AS base
|
|
||||||
|
|
||||||
LABEL org.opencontainers.image.title="Pixman build environment for platform coverage" \
|
|
||||||
org.opencontainers.image.authors="Marek Pikuła <m.pikula@partner.samsung.com>"
|
|
||||||
|
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
|
||||||
ENV APT_UPDATE="apt-get update" \
|
|
||||||
APT_INSTALL="apt-get install -y --no-install-recommends" \
|
|
||||||
APT_CLEANUP="rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*"
|
|
||||||
|
|
||||||
ARG GCOVR_VERSION="~=7.2"
|
|
||||||
ARG MESON_VERSION="~=1.6"
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} \
|
|
||||||
# Build dependencies.
|
|
||||||
build-essential \
|
|
||||||
ninja-build \
|
|
||||||
pkg-config \
|
|
||||||
qemu-user \
|
|
||||||
# pipx dependencies.
|
|
||||||
python3-argcomplete \
|
|
||||||
python3-packaging \
|
|
||||||
python3-pip \
|
|
||||||
python3-platformdirs \
|
|
||||||
python3-userpath \
|
|
||||||
python3-venv \
|
|
||||||
# gcovr dependencies.
|
|
||||||
libxml2-dev \
|
|
||||||
libxslt-dev \
|
|
||||||
python3-dev \
|
|
||||||
&& ${APT_CLEANUP} \
|
|
||||||
# Install pipx using pip to have a more recent version of pipx, which
|
|
||||||
# supports the `--global` flag.
|
|
||||||
&& pip install pipx --break-system-packages \
|
|
||||||
# Install a recent version of meson and gcovr using pipx to have the same
|
|
||||||
# version across all variants regardless of base.
|
|
||||||
&& pipx install --global \
|
|
||||||
gcovr${GCOVR_VERSION} \
|
|
||||||
meson${MESON_VERSION} \
|
|
||||||
&& gcovr --version \
|
|
||||||
&& echo Meson version: \
|
|
||||||
&& meson --version
|
|
||||||
|
|
||||||
FROM base AS llvm-base
|
|
||||||
# LLVM 16 is the highest available in Bookworm. Preferably, we should use the
|
|
||||||
# same version for all platforms, but it's not possible at the moment.
|
|
||||||
ARG LLVM_VERSION=16
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} \
|
|
||||||
clang-${LLVM_VERSION} \
|
|
||||||
libclang-rt-${LLVM_VERSION}-dev \
|
|
||||||
lld-${LLVM_VERSION} \
|
|
||||||
llvm-${LLVM_VERSION} \
|
|
||||||
&& ${APT_CLEANUP} \
|
|
||||||
&& ln -f /usr/bin/clang-${LLVM_VERSION} /usr/bin/clang \
|
|
||||||
&& ln -f /usr/bin/lld-${LLVM_VERSION} /usr/bin/lld \
|
|
||||||
&& ln -f /usr/bin/llvm-ar-${LLVM_VERSION} /usr/bin/llvm-ar \
|
|
||||||
&& ln -f /usr/bin/llvm-strip-${LLVM_VERSION} /usr/bin/llvm-strip
|
|
||||||
|
|
||||||
FROM llvm-base AS native-base
|
|
||||||
ARG LLVM_VERSION=16
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} \
|
|
||||||
# Runtime library dependencies.
|
|
||||||
libglib2.0-dev \
|
|
||||||
libgtk-3-dev \
|
|
||||||
libpng-dev \
|
|
||||||
# Install libomp-dev if available (OpenMP support for LLVM). It's done only
|
|
||||||
# for the native images, as OpenMP support in cross-build environment is
|
|
||||||
# tricky for LLVM.
|
|
||||||
&& (${APT_INSTALL} libomp-${LLVM_VERSION}-dev \
|
|
||||||
|| echo "OpenMP not available on this platform.") \
|
|
||||||
&& ${APT_CLEANUP}
|
|
||||||
|
|
||||||
# The following targets differ in BASE_IMAGE.
|
|
||||||
FROM native-base AS linux-386
|
|
||||||
FROM native-base AS linux-amd64
|
|
||||||
FROM native-base AS linux-arm-v5
|
|
||||||
FROM native-base AS linux-arm-v7
|
|
||||||
FROM native-base AS linux-arm64-v8
|
|
||||||
FROM native-base AS linux-mips64el
|
|
||||||
FROM native-base AS linux-mipsel
|
|
||||||
FROM native-base AS linux-ppc64le
|
|
||||||
FROM native-base AS linux-riscv64
|
|
||||||
|
|
||||||
# The following targets should have a common BASE_IMAGE.
|
|
||||||
FROM llvm-base AS linux-mips
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} gcc-multilib-mips-linux-gnu \
|
|
||||||
&& ${APT_CLEANUP}
|
|
||||||
|
|
||||||
FROM llvm-base AS linux-ppc
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} gcc-multilib-powerpc-linux-gnu \
|
|
||||||
&& ${APT_CLEANUP}
|
|
||||||
|
|
||||||
FROM llvm-base AS linux-ppc64
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} gcc-multilib-powerpc64-linux-gnu \
|
|
||||||
&& ${APT_CLEANUP}
|
|
||||||
|
|
||||||
# We use a common image for Windows i686 and amd64, as it doesn't make sense to
|
|
||||||
# make them separate in terms of build time and image size. After two runs they
|
|
||||||
# should use the same cache layers, so in the end it makes the collective image
|
|
||||||
# size smaller.
|
|
||||||
FROM base AS windows-base
|
|
||||||
ARG LLVM_MINGW_RELEASE=20240619
|
|
||||||
ARG LLVM_MINGW_VARIANT=llvm-mingw-${LLVM_MINGW_RELEASE}-msvcrt-ubuntu-20.04-x86_64
|
|
||||||
RUN ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} wget \
|
|
||||||
&& ${APT_CLEANUP} \
|
|
||||||
&& cd /opt \
|
|
||||||
&& wget https://github.com/mstorsjo/llvm-mingw/releases/download/${LLVM_MINGW_RELEASE}/${LLVM_MINGW_VARIANT}.tar.xz \
|
|
||||||
&& tar -xf ${LLVM_MINGW_VARIANT}.tar.xz \
|
|
||||||
&& rm -f ${LLVM_MINGW_VARIANT}.tar.xz
|
|
||||||
ENV PATH=${PATH}:/opt/${LLVM_MINGW_VARIANT}/bin
|
|
||||||
|
|
||||||
FROM windows-base AS windows-x86-base
|
|
||||||
RUN dpkg --add-architecture i386 \
|
|
||||||
&& ${APT_UPDATE} \
|
|
||||||
&& ${APT_INSTALL} \
|
|
||||||
gcc-mingw-w64-i686 \
|
|
||||||
gcc-mingw-w64-x86-64 \
|
|
||||||
mingw-w64-tools \
|
|
||||||
procps \
|
|
||||||
wine \
|
|
||||||
wine32 \
|
|
||||||
wine64 \
|
|
||||||
&& ${APT_CLEANUP} \
|
|
||||||
# Inspired by https://code.videolan.org/videolan/docker-images
|
|
||||||
&& wine wineboot --init \
|
|
||||||
&& while pgrep wineserver > /dev/null; do \
|
|
||||||
echo "waiting ..."; \
|
|
||||||
sleep 1; \
|
|
||||||
done \
|
|
||||||
&& rm -rf /tmp/wine-*
|
|
||||||
|
|
||||||
FROM windows-x86-base AS windows-686
|
|
||||||
FROM windows-x86-base AS windows-amd64
|
|
||||||
|
|
||||||
# aarch64 image requires linaro/wine-arm64 as a base.
|
|
||||||
FROM windows-base AS windows-arm64-v8
|
|
||||||
RUN wine-arm64 wineboot --init \
|
|
||||||
&& while pgrep wineserver > /dev/null; do \
|
|
||||||
echo "waiting ..."; \
|
|
||||||
sleep 1; \
|
|
||||||
done \
|
|
||||||
&& rm -rf /tmp/wine-*
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/386
|
|
||||||
BASE_IMAGE=docker.io/i386/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/amd64
|
|
||||||
BASE_IMAGE=docker.io/amd64/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/arm/v5
|
|
||||||
BASE_IMAGE=docker.io/arm32v5/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/arm/v7
|
|
||||||
BASE_IMAGE=docker.io/arm32v7/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/arm64/v8
|
|
||||||
BASE_IMAGE=docker.io/arm64v8/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/amd64
|
|
||||||
BASE_IMAGE=docker.io/amd64/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/mips64el
|
|
||||||
BASE_IMAGE=docker.io/mips64le/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/mipsel
|
|
||||||
BASE_IMAGE=docker.io/serenitycode/debian-debootstrap
|
|
||||||
BASE_IMAGE_TAG=mipsel-bookworm-slim
|
|
||||||
LLVM_VERSION=14
|
|
@ -1 +0,0 @@
|
|||||||
linux-amd64.env
|
|
@ -1 +0,0 @@
|
|||||||
linux-amd64.env
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/ppc64le
|
|
||||||
BASE_IMAGE=docker.io/ppc64le/debian
|
|
||||||
BASE_IMAGE_TAG=bookworm-slim
|
|
||||||
LLVM_VERSION=16
|
|
@ -1,4 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/riscv64
|
|
||||||
BASE_IMAGE=docker.io/riscv64/debian
|
|
||||||
BASE_IMAGE_TAG=sid-slim
|
|
||||||
LLVM_VERSION=18
|
|
@ -1 +0,0 @@
|
|||||||
linux-amd64.env
|
|
@ -1 +0,0 @@
|
|||||||
linux-amd64.env
|
|
@ -1,3 +0,0 @@
|
|||||||
DOCKER_PLATFORM=linux/amd64
|
|
||||||
BASE_IMAGE=docker.io/linaro/wine-arm64
|
|
||||||
BASE_IMAGE_TAG=latest
|
|
@ -1,107 +0,0 @@
|
|||||||
# Build stage
|
|
||||||
#
|
|
||||||
# This stage builds pixman with enabled coverage for all supported
|
|
||||||
# architectures.
|
|
||||||
#
|
|
||||||
# Some targets don't support atomic profile update, so to decrease the number of
|
|
||||||
# gcov errors, they need to be built without OpenMP (single threaded) by adding
|
|
||||||
# `-Dopenmp=disabled` Meson argument.
|
|
||||||
|
|
||||||
variables:
|
|
||||||
# Used in test stage as well.
|
|
||||||
BUILD_DIR: build-${TOOLCHAIN}
|
|
||||||
|
|
||||||
# Applicable to all build targets.
|
|
||||||
|
|
||||||
include:
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-386
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-amd64
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm-v5
|
|
||||||
qemu_cpu: arm1136
|
|
||||||
# Disable coverage, as the tests take too long to run with a single thread.
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm-v7
|
|
||||||
qemu_cpu: max
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm64-v8
|
|
||||||
qemu_cpu: max
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mips
|
|
||||||
toolchain: [gnu]
|
|
||||||
qemu_cpu: 74Kf
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
# TODO: Merge with the one above once the following issue is resolved:
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/issues/105).
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mips
|
|
||||||
toolchain: [llvm]
|
|
||||||
qemu_cpu: 74Kf
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mips64el
|
|
||||||
qemu_cpu: Loongson-3A4000
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mipsel
|
|
||||||
toolchain: [gnu]
|
|
||||||
qemu_cpu: 74Kf
|
|
||||||
# Disable coverage, as the tests take too long to run with a single thread.
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
# TODO: Merge with the one above once the following issue is resolved:
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/issues/105).
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mipsel
|
|
||||||
toolchain: [llvm]
|
|
||||||
qemu_cpu: 74Kf
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc
|
|
||||||
qemu_cpu: g4
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc64
|
|
||||||
qemu_cpu: ppc64
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc64le
|
|
||||||
qemu_cpu: power10
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-riscv64
|
|
||||||
qemu_cpu: rv64
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: windows-686
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: windows-amd64
|
|
||||||
enable_gnu_coverage: false
|
|
||||||
- local: .gitlab-ci.d/templates/build.yml
|
|
||||||
inputs:
|
|
||||||
target: windows-arm64-v8
|
|
||||||
toolchain: [llvm] # GNU toolchain doesn't seem to support Windows on ARM.
|
|
||||||
qemu_cpu: max
|
|
||||||
enable_gnu_coverage: false
|
|
@ -1,175 +0,0 @@
|
|||||||
# Test stage
|
|
||||||
#
|
|
||||||
# This stage executes the test suite for pixman for all architectures in
|
|
||||||
# different configurations. Build and test is split, as some architectures can
|
|
||||||
# have different QEMU configuration or have multiple supported pixman backends,
|
|
||||||
# which are executed as job matrix.
|
|
||||||
#
|
|
||||||
# Mind that `PIXMAN_ENABLE` variable in matrix runs does nothing, but it looks
|
|
||||||
# better in CI to indicate what is actually being tested.
|
|
||||||
#
|
|
||||||
# Some emulated targets are really slow or cannot be run in multithreaded mode
|
|
||||||
# (mipsel, arm-v5). Thus coverage reporting is disabled for them.
|
|
||||||
|
|
||||||
variables:
|
|
||||||
# Used in summary stage as well.
|
|
||||||
COVERAGE_BASE_DIR: coverage
|
|
||||||
COVERAGE_OUT: ${COVERAGE_BASE_DIR}/${CI_JOB_ID}
|
|
||||||
TEST_NAME: "" # Allow to specify a set of tests to run with run variables.
|
|
||||||
|
|
||||||
include:
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-386
|
|
||||||
toolchain: [gnu]
|
|
||||||
pixman_disable:
|
|
||||||
- "sse2 ssse3" # Testing "mmx"
|
|
||||||
- "mmx ssse3" # Testing "sse2"
|
|
||||||
- "mmx sse2" # Testing "ssse3"
|
|
||||||
# TODO: Merge up after resolving
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/issues/106
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-386
|
|
||||||
toolchain: [llvm]
|
|
||||||
pixman_disable:
|
|
||||||
# Same as above.
|
|
||||||
- "sse2 ssse3"
|
|
||||||
- "mmx ssse3"
|
|
||||||
- "mmx sse2"
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-amd64
|
|
||||||
pixman_disable:
|
|
||||||
- ""
|
|
||||||
- "fast"
|
|
||||||
- "wholeops"
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm-v5
|
|
||||||
toolchain: [gnu]
|
|
||||||
qemu_cpu: [arm1136]
|
|
||||||
pixman_disable: ["arm-neon"] # Test only arm-simd.
|
|
||||||
timeout: 3h
|
|
||||||
test_timeout_multiplier: 40
|
|
||||||
# TODO: Merge up after resolving
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/issues/107
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm-v5
|
|
||||||
toolchain: [llvm]
|
|
||||||
qemu_cpu: [arm1136]
|
|
||||||
pixman_disable: ["arm-neon"] # Test only arm-simd.
|
|
||||||
timeout: 3h
|
|
||||||
test_timeout_multiplier: 40
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm-v7
|
|
||||||
qemu_cpu: [max]
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-arm64-v8
|
|
||||||
qemu_cpu: [max]
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mips
|
|
||||||
toolchain: [gnu] # TODO: Add llvm once the build is fixed.
|
|
||||||
qemu_cpu: [74Kf]
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true # Some tests seem to fail.
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mips64el
|
|
||||||
toolchain: [gnu]
|
|
||||||
qemu_cpu: [Loongson-3A4000]
|
|
||||||
# TODO: Merge up after resolving
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/issues/108
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mips64el
|
|
||||||
toolchain: [llvm]
|
|
||||||
qemu_cpu: [Loongson-3A4000]
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-mipsel
|
|
||||||
toolchain: [gnu] # TODO: Add llvm once the build is fixed.
|
|
||||||
qemu_cpu: [74Kf]
|
|
||||||
timeout: 2h
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc
|
|
||||||
qemu_cpu: [g4]
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true # SIGILL for some tests
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc64
|
|
||||||
qemu_cpu: [ppc64]
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true # SIGSEGV for some tests
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc64le
|
|
||||||
toolchain: [gnu]
|
|
||||||
qemu_cpu: [power10]
|
|
||||||
# TODO: Merge up after resolving
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/issues/109
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-ppc64le
|
|
||||||
toolchain: [llvm]
|
|
||||||
qemu_cpu: [power10]
|
|
||||||
job_name_prefix: "."
|
|
||||||
job_name_suffix: ":failing"
|
|
||||||
allow_failure: true
|
|
||||||
retry: 0
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: linux-riscv64
|
|
||||||
qemu_cpu:
|
|
||||||
# Test on target without RVV (verify no autovectorization).
|
|
||||||
- rv64,v=false
|
|
||||||
# Test correctness for different VLENs.
|
|
||||||
- rv64,v=true,vext_spec=v1.0,vlen=128,elen=64
|
|
||||||
- rv64,v=true,vext_spec=v1.0,vlen=256,elen=64
|
|
||||||
- rv64,v=true,vext_spec=v1.0,vlen=512,elen=64
|
|
||||||
- rv64,v=true,vext_spec=v1.0,vlen=1024,elen=64
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: windows-686
|
|
||||||
pixman_disable:
|
|
||||||
# The same as for linux-386.
|
|
||||||
- "sse2 ssse3"
|
|
||||||
- "mmx ssse3"
|
|
||||||
- "mmx sse2"
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: windows-amd64
|
|
||||||
pixman_disable:
|
|
||||||
# The same as for linux-amd64.
|
|
||||||
- ""
|
|
||||||
- "fast"
|
|
||||||
- "wholeops"
|
|
||||||
- local: .gitlab-ci.d/templates/test.yml
|
|
||||||
inputs:
|
|
||||||
target: windows-arm64-v8
|
|
||||||
toolchain: [llvm]
|
|
||||||
qemu_cpu: [max]
|
|
@ -1,47 +0,0 @@
|
|||||||
# Summary stage
|
|
||||||
#
|
|
||||||
# This stage takes coverage reports from test runs for all architectures, and
|
|
||||||
# merges it into a single report, with GitLab visualization. There is also an
|
|
||||||
# HTML report generated as a separate artifact.
|
|
||||||
|
|
||||||
summary:
|
|
||||||
extends: .target:all
|
|
||||||
stage: summary
|
|
||||||
variables:
|
|
||||||
TARGET: linux-amd64
|
|
||||||
COVERAGE_SUMMARY_DIR: ${COVERAGE_BASE_DIR}/summary
|
|
||||||
needs:
|
|
||||||
- job: test:linux-386
|
|
||||||
optional: true
|
|
||||||
- job: test:linux-amd64
|
|
||||||
optional: true
|
|
||||||
- job: test:linux-arm-v7
|
|
||||||
optional: true
|
|
||||||
- job: test:linux-arm64-v8
|
|
||||||
optional: true
|
|
||||||
- job: test:linux-mips64el
|
|
||||||
optional: true
|
|
||||||
- job: test:linux-ppc64le
|
|
||||||
optional: true
|
|
||||||
- job: test:linux-riscv64
|
|
||||||
optional: true
|
|
||||||
script:
|
|
||||||
- echo "Input coverage reports:" && ls ${COVERAGE_BASE_DIR}/*.json || (echo "No coverage reports available." && exit)
|
|
||||||
- |
|
|
||||||
args=( )
|
|
||||||
for f in ${COVERAGE_BASE_DIR}/*.json; do
|
|
||||||
args+=( "-a" "$f" )
|
|
||||||
done
|
|
||||||
- mkdir -p ${COVERAGE_SUMMARY_DIR}
|
|
||||||
- gcovr "${args[@]}"
|
|
||||||
--cobertura-pretty --cobertura ${COVERAGE_SUMMARY_DIR}/coverage.xml
|
|
||||||
--html-details ${COVERAGE_SUMMARY_DIR}/coverage.html
|
|
||||||
--txt --print-summary
|
|
||||||
coverage: '/^TOTAL.*\s+(\d+\%)$/'
|
|
||||||
artifacts:
|
|
||||||
reports:
|
|
||||||
coverage_report:
|
|
||||||
coverage_format: cobertura
|
|
||||||
path: ${COVERAGE_SUMMARY_DIR}/coverage.xml
|
|
||||||
paths:
|
|
||||||
- ${COVERAGE_SUMMARY_DIR}/
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu-noopenmp.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm-noopenmp.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm.meson
|
|
@ -1,11 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['mips-linux-gnu-gcc', '-DCI_HAS_ALL_MIPS_CPU_FEATURES']
|
|
||||||
ar = 'mips-linux-gnu-ar'
|
|
||||||
strip = 'mips-linux-gnu-strip'
|
|
||||||
exe_wrapper = ['qemu-mips', '-L', '/usr/mips-linux-gnu/']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'linux'
|
|
||||||
cpu_family = 'mips32'
|
|
||||||
cpu = 'mips32'
|
|
||||||
endian = 'big'
|
|
@ -1,14 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['clang', '-target', 'mips-linux-gnu', '-fPIC', '-DCI_HAS_ALL_MIPS_CPU_FEATURES']
|
|
||||||
ar = 'llvm-ar'
|
|
||||||
strip = 'llvm-strip'
|
|
||||||
exe_wrapper = ['qemu-mips', '-L', '/usr/mips-linux-gnu/']
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
c_link_args = ['-target', 'mips-linux-gnu', '-fuse-ld=lld']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'linux'
|
|
||||||
cpu_family = 'mips32'
|
|
||||||
cpu = 'mips32'
|
|
||||||
endian = 'big'
|
|
@ -1,8 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['gcc', '-DCI_HAS_ALL_MIPS_CPU_FEATURES']
|
|
||||||
ar = 'ar'
|
|
||||||
strip = 'strip'
|
|
||||||
pkg-config = 'pkg-config'
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
mips-dspr2 = 'disabled'
|
|
@ -1,8 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['clang', '-DCI_HAS_ALL_MIPS_CPU_FEATURES']
|
|
||||||
ar = 'llvm-ar'
|
|
||||||
strip = 'llvm-strip'
|
|
||||||
pkg-config = 'pkg-config'
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
mips-dspr2 = 'disabled'
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu-noopenmp.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm-noopenmp.meson
|
|
@ -1,11 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'powerpc-linux-gnu-gcc'
|
|
||||||
ar = 'powerpc-linux-gnu-ar'
|
|
||||||
strip = 'powerpc-linux-gnu-strip'
|
|
||||||
exe_wrapper = ['qemu-ppc', '-L', '/usr/powerpc-linux-gnu']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'linux'
|
|
||||||
cpu_family = 'ppc'
|
|
||||||
cpu = 'ppc'
|
|
||||||
endian = 'big'
|
|
@ -1,15 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['clang', '-target', 'powerpc-linux-gnu']
|
|
||||||
ar = 'llvm-ar'
|
|
||||||
strip = 'llvm-strip'
|
|
||||||
exe_wrapper = ['qemu-ppc', '-L', '/usr/powerpc-linux-gnu/']
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
# We cannot use LLD, as it doesn't support big-endian PPC.
|
|
||||||
c_link_args = ['-target', 'powerpc-linux-gnu']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'linux'
|
|
||||||
cpu_family = 'ppc'
|
|
||||||
cpu = 'ppc'
|
|
||||||
endian = 'big'
|
|
@ -1,11 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'powerpc64-linux-gnu-gcc'
|
|
||||||
ar = 'powerpc64-linux-gnu-ar'
|
|
||||||
strip = 'powerpc64-linux-gnu-strip'
|
|
||||||
exe_wrapper = ['qemu-ppc64', '-L', '/usr/powerpc64-linux-gnu/']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'linux'
|
|
||||||
cpu_family = 'ppc64'
|
|
||||||
cpu = 'ppc64'
|
|
||||||
endian = 'big'
|
|
@ -1,15 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['clang', '-target', 'powerpc64-linux-gnu']
|
|
||||||
ar = 'llvm-ar'
|
|
||||||
strip = 'llvm-strip'
|
|
||||||
exe_wrapper = ['qemu-ppc64', '-L', '/usr/powerpc64-linux-gnu/']
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
# We cannot use LLD, as it doesn't support big-endian PPC.
|
|
||||||
c_link_args = ['-target', 'powerpc64-linux-gnu']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'linux'
|
|
||||||
cpu_family = 'ppc64'
|
|
||||||
cpu = 'ppc64'
|
|
||||||
endian = 'big'
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-gnu.meson
|
|
@ -1 +0,0 @@
|
|||||||
native-llvm.meson
|
|
@ -1,8 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['gcc', '-DCI_HAS_ALL_MIPS_CPU_FEATURES']
|
|
||||||
ar = 'ar'
|
|
||||||
strip = 'strip'
|
|
||||||
pkg-config = 'pkg-config'
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
openmp = 'disabled'
|
|
@ -1,5 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'gcc'
|
|
||||||
ar = 'ar'
|
|
||||||
strip = 'strip'
|
|
||||||
pkg-config = 'pkg-config'
|
|
@ -1,8 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = ['clang', '-DCI_HAS_ALL_MIPS_CPU_FEATURES']
|
|
||||||
ar = 'llvm-ar'
|
|
||||||
strip = 'llvm-strip'
|
|
||||||
pkg-config = 'pkg-config'
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
openmp = 'disabled'
|
|
@ -1,5 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'clang'
|
|
||||||
ar = 'llvm-ar'
|
|
||||||
strip = 'llvm-strip'
|
|
||||||
pkg-config = 'pkg-config'
|
|
@ -1,18 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'i686-w64-mingw32-gcc'
|
|
||||||
ar = 'i686-w64-mingw32-ar'
|
|
||||||
strip = 'i686-w64-mingw32-strip'
|
|
||||||
windres = 'i686-w64-mingw32-windres'
|
|
||||||
exe_wrapper = 'wine'
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
c_link_args = ['-static-libgcc']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'windows'
|
|
||||||
cpu_family = 'x86'
|
|
||||||
cpu = 'i686'
|
|
||||||
endian = 'little'
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
openmp = 'disabled'
|
|
@ -1,18 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'i686-w64-mingw32-clang'
|
|
||||||
ar = 'i686-w64-mingw32-llvm-ar'
|
|
||||||
strip = 'i686-w64-mingw32-strip'
|
|
||||||
windres = 'i686-w64-mingw32-windres'
|
|
||||||
exe_wrapper = 'wine'
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
c_link_args = ['-static']
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
openmp = 'disabled'
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'windows'
|
|
||||||
cpu_family = 'x86'
|
|
||||||
cpu = 'i686'
|
|
||||||
endian = 'little'
|
|
@ -1,15 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'x86_64-w64-mingw32-gcc'
|
|
||||||
ar = 'x86_64-w64-mingw32-ar'
|
|
||||||
strip = 'x86_64-w64-mingw32-strip'
|
|
||||||
windres = 'x86_64-w64-mingw32-windres'
|
|
||||||
exe_wrapper = 'wine'
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
c_link_args = ['-static-libgcc']
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'windows'
|
|
||||||
cpu_family = 'x86_64'
|
|
||||||
cpu = 'x86_64'
|
|
||||||
endian = 'little'
|
|
@ -1,20 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'x86_64-w64-mingw32-clang'
|
|
||||||
ar = 'x86_64-w64-mingw32-llvm-ar'
|
|
||||||
strip = 'x86_64-w64-mingw32-strip'
|
|
||||||
windres = 'x86_64-w64-mingw32-windres'
|
|
||||||
exe_wrapper = 'wine'
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
# Static linking is a workaround around `libwinpthread-1` not being discovered correctly.
|
|
||||||
c_link_args = ['-static']
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
# OpenMP is disabled as it is not being discovered correctly during tests.
|
|
||||||
openmp = 'disabled'
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'windows'
|
|
||||||
cpu_family = 'x86_64'
|
|
||||||
cpu = 'x86_64'
|
|
||||||
endian = 'little'
|
|
@ -1,18 +0,0 @@
|
|||||||
[binaries]
|
|
||||||
c = 'aarch64-w64-mingw32-clang'
|
|
||||||
ar = 'aarch64-w64-mingw32-llvm-ar'
|
|
||||||
strip = 'aarch64-w64-mingw32-strip'
|
|
||||||
windres = 'aarch64-w64-mingw32-windres'
|
|
||||||
exe_wrapper = 'wine-arm64'
|
|
||||||
|
|
||||||
[built-in options]
|
|
||||||
c_link_args = ['-static']
|
|
||||||
|
|
||||||
[project options]
|
|
||||||
openmp = 'disabled'
|
|
||||||
|
|
||||||
[host_machine]
|
|
||||||
system = 'windows'
|
|
||||||
cpu_family = 'aarch64'
|
|
||||||
cpu = 'aarch64'
|
|
||||||
endian = 'little'
|
|
@ -1,65 +0,0 @@
|
|||||||
# This file contains the set of jobs run by the pixman project:
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/pipelines
|
|
||||||
|
|
||||||
stages:
|
|
||||||
- docker
|
|
||||||
- build
|
|
||||||
- test
|
|
||||||
- summary
|
|
||||||
|
|
||||||
variables:
|
|
||||||
# Make it possible to change RUNNER_TAG from GitLab variables. The default
|
|
||||||
# `kvm` tag has been tested with FDO infrastructure.
|
|
||||||
RUNNER_TAG: kvm
|
|
||||||
|
|
||||||
# Docker image global configuration.
|
|
||||||
DOCKER_TAG: latest
|
|
||||||
DOCKER_IMAGE_NAME: registry.freedesktop.org/pixman/pixman/pixman:${DOCKER_TAG}
|
|
||||||
|
|
||||||
# Execute to load a target-specific environment.
|
|
||||||
LOAD_TARGET_ENV: source .gitlab-ci.d/01-docker/target-env/${TARGET}.env
|
|
||||||
|
|
||||||
# Enable/disable specific targets for code and platform coverage targets.
|
|
||||||
ACTIVE_TARGET_PATTERN: '/linux-386|linux-amd64|linux-arm-v5|linux-arm-v7|linux-arm64-v8|linux-mips|linux-mips64el|linux-mipsel|linux-ppc|linux-ppc64|linux-ppc64le|linux-riscv64|windows-686|windows-amd64|windows-arm64-v8/i'
|
|
||||||
|
|
||||||
workflow:
|
|
||||||
rules:
|
|
||||||
# Use modified Docker image if building in MR and Docker image is affected
|
|
||||||
# by the MR.
|
|
||||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
||||||
changes:
|
|
||||||
paths:
|
|
||||||
- .gitlab-ci.d/01-docker.yml
|
|
||||||
- .gitlab-ci.d/01-docker/**/*
|
|
||||||
variables:
|
|
||||||
DOCKER_TAG: $CI_COMMIT_REF_SLUG
|
|
||||||
DOCKER_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/pixman:${DOCKER_TAG}
|
|
||||||
|
|
||||||
# A standard set of GitLab CI triggers (i.e., MR, schedule, default branch,
|
|
||||||
# and tag).
|
|
||||||
- if: $CI_PIPELINE_SOURCE == 'merge_request_event'
|
|
||||||
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
|
|
||||||
when: never
|
|
||||||
- if: $CI_PIPELINE_SOURCE == 'schedule'
|
|
||||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
||||||
- if: $CI_COMMIT_BRANCH
|
|
||||||
- if: $CI_COMMIT_TAG
|
|
||||||
|
|
||||||
auto_cancel:
|
|
||||||
on_new_commit: conservative
|
|
||||||
on_job_failure: all
|
|
||||||
|
|
||||||
default:
|
|
||||||
tags:
|
|
||||||
- $RUNNER_TAG
|
|
||||||
|
|
||||||
# Retry in case the runner is misconfigured for multi-arch builds or some
|
|
||||||
# random unexpected runner error occurs (it happened during testing).
|
|
||||||
retry: 1
|
|
||||||
|
|
||||||
include:
|
|
||||||
- local: "/.gitlab-ci.d/templates/targets.yml"
|
|
||||||
- local: "/.gitlab-ci.d/01-docker.yml"
|
|
||||||
- local: "/.gitlab-ci.d/02-build.yml"
|
|
||||||
- local: "/.gitlab-ci.d/03-test.yml"
|
|
||||||
- local: "/.gitlab-ci.d/04-summary.yml"
|
|
@ -1,80 +0,0 @@
|
|||||||
spec:
|
|
||||||
inputs:
|
|
||||||
target:
|
|
||||||
description:
|
|
||||||
Build target in form of "OS-ARCH" pair (e.g., linux-amd64). Mostly the
|
|
||||||
same as platform string for Docker but with a hyphen instead of slash.
|
|
||||||
toolchain:
|
|
||||||
description:
|
|
||||||
An array of toolchains to test with. Each toolchain should have an
|
|
||||||
appropriate Meson cross file.
|
|
||||||
type: array
|
|
||||||
default: [gnu, llvm]
|
|
||||||
qemu_cpu:
|
|
||||||
description:
|
|
||||||
QEMU_CPU environmental variable used by Docker (which uses QEMU
|
|
||||||
underneath). It is not used by x86 targets, as they are executed
|
|
||||||
natively on the host.
|
|
||||||
default: ""
|
|
||||||
enable_gnu_coverage:
|
|
||||||
description:
|
|
||||||
Enable coverage build flags. It can be later used to compile a coverage
|
|
||||||
report for all the jobs. Should be enabled only for native build
|
|
||||||
environments as they have all the optional dependencies, and are the
|
|
||||||
most reliable and uniform (so disable for cross environments).
|
|
||||||
type: boolean
|
|
||||||
default: true
|
|
||||||
job_name_prefix:
|
|
||||||
description:
|
|
||||||
Additional prefix for the job name. Can be used to disable a job with a
|
|
||||||
"." prefix.
|
|
||||||
default: ""
|
|
||||||
job_name_suffix:
|
|
||||||
description:
|
|
||||||
Additional suffix for the job name. Can be used to prevent job
|
|
||||||
duplication for jobs for the same target.
|
|
||||||
default: ""
|
|
||||||
allow_failure:
|
|
||||||
description:
|
|
||||||
Set the `allow_failure` flag for jobs that are expected to fail.
|
|
||||||
Remember to set `retry` argument to 0 to prevent unnecessary retries.
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
retry:
|
|
||||||
description:
|
|
||||||
Set the `retry` flag for a job. Usually used together with
|
|
||||||
`allow_failure`.
|
|
||||||
type: number
|
|
||||||
default: 1
|
|
||||||
---
|
|
||||||
|
|
||||||
"$[[ inputs.job_name_prefix ]]build:$[[ inputs.target ]]$[[ inputs.job_name_suffix ]]":
|
|
||||||
extends: .target:all
|
|
||||||
stage: build
|
|
||||||
allow_failure: $[[ inputs.allow_failure ]]
|
|
||||||
retry: $[[ inputs.retry ]]
|
|
||||||
needs:
|
|
||||||
- job: docker
|
|
||||||
optional: true
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- TARGET: $[[ inputs.target ]]
|
|
||||||
variables:
|
|
||||||
TARGET: $[[ inputs.target ]]
|
|
||||||
QEMU_CPU: $[[ inputs.qemu_cpu ]]
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- TOOLCHAIN: $[[ inputs.toolchain ]]
|
|
||||||
script:
|
|
||||||
- |
|
|
||||||
if [ "$[[ inputs.enable_gnu_coverage ]]" == "true" ] && [ "${TOOLCHAIN}" == "gnu" ]; then
|
|
||||||
COV_C_ARGS=-fprofile-update=atomic
|
|
||||||
COV_MESON_BUILD_ARGS=-Db_coverage=true
|
|
||||||
fi
|
|
||||||
- meson setup ${BUILD_DIR}
|
|
||||||
--cross-file .gitlab-ci.d/meson-cross/${TARGET}-${TOOLCHAIN}.meson
|
|
||||||
-Dc_args="${COV_C_ARGS}" ${COV_MESON_BUILD_ARGS}
|
|
||||||
- meson compile -C ${BUILD_DIR}
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- ${BUILD_DIR}/
|
|
@ -1,9 +0,0 @@
|
|||||||
# General target templates.
|
|
||||||
|
|
||||||
.target:all:
|
|
||||||
image:
|
|
||||||
name: $DOCKER_IMAGE_NAME-$TARGET
|
|
||||||
rules:
|
|
||||||
- if: "$TARGET =~ $ACTIVE_TARGET_PATTERN"
|
|
||||||
before_script:
|
|
||||||
- ${LOAD_TARGET_ENV}
|
|
@ -1,112 +0,0 @@
|
|||||||
spec:
|
|
||||||
inputs:
|
|
||||||
target:
|
|
||||||
description:
|
|
||||||
Build target in form of "OS-ARCH" pair (e.g., linux-amd64). Mostly the
|
|
||||||
same as platform string for Docker but with a hyphen instead of slash.
|
|
||||||
toolchain:
|
|
||||||
description:
|
|
||||||
An array of toolchains to test with. Each toolchain should have an
|
|
||||||
appropriate Meson cross file.
|
|
||||||
type: array
|
|
||||||
default: [gnu, llvm]
|
|
||||||
qemu_cpu:
|
|
||||||
description:
|
|
||||||
An array of QEMU_CPU environmental variables used as a job matrix
|
|
||||||
variable, and in turn by Docker (which uses QEMU underneath). It is not
|
|
||||||
used by x86 targets, as they are executed natively on the host.
|
|
||||||
type: array
|
|
||||||
default: [""]
|
|
||||||
pixman_disable:
|
|
||||||
description:
|
|
||||||
An array of PIXMAN_DISABLE targets used as a job matrix variable.
|
|
||||||
type: array
|
|
||||||
default: [""]
|
|
||||||
timeout:
|
|
||||||
description:
|
|
||||||
GitLab job timeout property. May need to be increased for slow
|
|
||||||
targets.
|
|
||||||
default: 1h
|
|
||||||
test_timeout_multiplier:
|
|
||||||
description:
|
|
||||||
Test timeout multiplier flag used for Meson test execution. May need to
|
|
||||||
be increased for slow targets.
|
|
||||||
type: number
|
|
||||||
default: 20
|
|
||||||
meson_testthreads:
|
|
||||||
description:
|
|
||||||
Sets MESON_TESTTHREADS environmental variable. For some platforms, the
|
|
||||||
tests should be executed one by one (without multithreading) to prevent
|
|
||||||
gcovr errors.
|
|
||||||
type: number
|
|
||||||
default: 0
|
|
||||||
gcovr_flags:
|
|
||||||
description:
|
|
||||||
Additional flags passed to gcovr tool.
|
|
||||||
default: ""
|
|
||||||
job_name_prefix:
|
|
||||||
description:
|
|
||||||
Additional prefix for the job name. Can be used to disable a job with a
|
|
||||||
"." prefix.
|
|
||||||
default: ""
|
|
||||||
job_name_suffix:
|
|
||||||
description:
|
|
||||||
Additional suffix for the job name. Can be used to prevent job
|
|
||||||
duplication for jobs for the same target.
|
|
||||||
default: ""
|
|
||||||
allow_failure:
|
|
||||||
description:
|
|
||||||
Set the `allow_failure` flag for jobs that are expected to fail.
|
|
||||||
Remember to set `retry` argument to 0 to prevent unnecessary retries.
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
retry:
|
|
||||||
description:
|
|
||||||
Set the `retry` flag for a job. Usually used together with
|
|
||||||
`allow_failure`.
|
|
||||||
type: number
|
|
||||||
default: 1
|
|
||||||
---
|
|
||||||
|
|
||||||
"$[[ inputs.job_name_prefix ]]test:$[[ inputs.target ]]$[[ inputs.job_name_suffix ]]":
|
|
||||||
extends: .target:all
|
|
||||||
stage: test
|
|
||||||
allow_failure: $[[ inputs.allow_failure ]]
|
|
||||||
retry: $[[ inputs.retry ]]
|
|
||||||
timeout: $[[ inputs.timeout ]]
|
|
||||||
needs:
|
|
||||||
- job: docker
|
|
||||||
optional: true
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- TARGET: $[[ inputs.target ]]
|
|
||||||
- job: build:$[[ inputs.target ]]
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- TOOLCHAIN: $[[ inputs.toolchain ]]
|
|
||||||
variables:
|
|
||||||
TARGET: $[[ inputs.target ]]
|
|
||||||
TEST_TIMEOUT_MULTIPLIER: $[[ inputs.test_timeout_multiplier ]]
|
|
||||||
GCOVR_FLAGS: $[[ inputs.gcovr_flags ]]
|
|
||||||
MESON_ARGS: -t ${TEST_TIMEOUT_MULTIPLIER} --no-rebuild -v ${TEST_NAME}
|
|
||||||
MESON_TESTTHREADS: $[[ inputs.meson_testthreads ]]
|
|
||||||
parallel:
|
|
||||||
matrix:
|
|
||||||
- TOOLCHAIN: $[[ inputs.toolchain ]]
|
|
||||||
PIXMAN_DISABLE: $[[ inputs.pixman_disable ]]
|
|
||||||
QEMU_CPU: $[[ inputs.qemu_cpu ]]
|
|
||||||
script:
|
|
||||||
- meson test -C ${BUILD_DIR} ${MESON_ARGS}
|
|
||||||
after_script:
|
|
||||||
- mkdir -p ${COVERAGE_OUT}
|
|
||||||
- gcovr ${GCOVR_FLAGS} -r ./ ${BUILD_DIR} -e ./subprojects
|
|
||||||
--json ${COVERAGE_OUT}.json
|
|
||||||
--html-details ${COVERAGE_OUT}/coverage.html
|
|
||||||
--print-summary || echo "No coverage data available."
|
|
||||||
artifacts:
|
|
||||||
paths:
|
|
||||||
- ${BUILD_DIR}/meson-logs/testlog.txt
|
|
||||||
- ${COVERAGE_BASE_DIR}/
|
|
||||||
reports:
|
|
||||||
junit:
|
|
||||||
- ${BUILD_DIR}/meson-logs/testlog.junit.xml
|
|
@ -1,16 +0,0 @@
|
|||||||
#
|
|
||||||
# This is the GitLab CI configuration file for the mainstream pixman project:
|
|
||||||
# https://gitlab.freedesktop.org/pixman/pixman/-/pipelines
|
|
||||||
#
|
|
||||||
# !!! DO NOT ADD ANY NEW CONFIGURATION TO THIS FILE !!!
|
|
||||||
#
|
|
||||||
# Only documentation or comments is accepted.
|
|
||||||
#
|
|
||||||
# To use a different set of jobs than the mainstream project, you need to set
|
|
||||||
# the location of your custom yml file at "custom CI/CD configuration path", on
|
|
||||||
# your GitLab CI namespace:
|
|
||||||
# https://docs.gitlab.com/ee/ci/pipelines/settings.html#custom-cicd-configuration-path
|
|
||||||
#
|
|
||||||
|
|
||||||
include:
|
|
||||||
- local: '/.gitlab-ci.d/pixman-project.yml'
|
|
199
CODING_STYLE
199
CODING_STYLE
@ -1,199 +0,0 @@
|
|||||||
Pixman coding style.
|
|
||||||
====================
|
|
||||||
|
|
||||||
The pixman coding style is close to cairo's with one exception: braces
|
|
||||||
go on their own line, rather than on the line of the if/while/for:
|
|
||||||
|
|
||||||
if (condition)
|
|
||||||
{
|
|
||||||
do_something();
|
|
||||||
do_something_else();
|
|
||||||
}
|
|
||||||
|
|
||||||
not
|
|
||||||
|
|
||||||
if (condition) {
|
|
||||||
do_something();
|
|
||||||
do_something_else();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Indentation
|
|
||||||
===========
|
|
||||||
|
|
||||||
Each new level is indented four spaces:
|
|
||||||
|
|
||||||
if (condition)
|
|
||||||
do_something();
|
|
||||||
|
|
||||||
This may be achieved with space characters or with a combination of
|
|
||||||
tab characters and space characters. Tab characters are interpreted as
|
|
||||||
|
|
||||||
Advance to the next column which is a multiple of 8.
|
|
||||||
|
|
||||||
|
|
||||||
Names
|
|
||||||
=====
|
|
||||||
|
|
||||||
In all names, words are separated with underscores. Do not use
|
|
||||||
CamelCase for any names.
|
|
||||||
|
|
||||||
Macros have ALL_CAPITAL_NAMES
|
|
||||||
|
|
||||||
Type names are in lower case and end with "_t". For example
|
|
||||||
pixman_image_t.
|
|
||||||
|
|
||||||
Labels, functions and variables have lower case names.
|
|
||||||
|
|
||||||
|
|
||||||
Braces
|
|
||||||
======
|
|
||||||
|
|
||||||
Braces always go on their own line:
|
|
||||||
|
|
||||||
if (condition)
|
|
||||||
{
|
|
||||||
do_this ();
|
|
||||||
do_that ();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
do_the_other ();
|
|
||||||
}
|
|
||||||
|
|
||||||
Rules for braces and substatements of if/while/for/do:
|
|
||||||
|
|
||||||
* If a substatement spans multiple lines, then there must be braces
|
|
||||||
around it.
|
|
||||||
|
|
||||||
* If the condition of an if/while/for spans multiple lines, then
|
|
||||||
braces must be used for the substatements.
|
|
||||||
|
|
||||||
* If one substatement of an if statement has braces, then the other
|
|
||||||
must too.
|
|
||||||
|
|
||||||
* Otherwise, don't add braces.
|
|
||||||
|
|
||||||
|
|
||||||
Comments
|
|
||||||
========
|
|
||||||
|
|
||||||
For comments either like this:
|
|
||||||
|
|
||||||
/* One line comment */
|
|
||||||
|
|
||||||
or like this:
|
|
||||||
|
|
||||||
/* This is a multi-line comment
|
|
||||||
*
|
|
||||||
* It extends over multiple lines
|
|
||||||
*/
|
|
||||||
|
|
||||||
Generally comments should say things that aren't clear from the code
|
|
||||||
itself. If too many comments say obvious things, then people will just
|
|
||||||
stop reading all comments, including the good ones.
|
|
||||||
|
|
||||||
|
|
||||||
Whitespace
|
|
||||||
==========
|
|
||||||
|
|
||||||
* Put a single space after commas
|
|
||||||
|
|
||||||
* Put spaces around arithmetic operators such a +, -, *, /:
|
|
||||||
|
|
||||||
y * stride + x
|
|
||||||
|
|
||||||
x / unit_x
|
|
||||||
|
|
||||||
* Do not put spaces after the address-of operator, the * when used as
|
|
||||||
a pointer derefernce or the ! and ~ operators:
|
|
||||||
|
|
||||||
&foo;
|
|
||||||
|
|
||||||
~0x00000000
|
|
||||||
|
|
||||||
!condition
|
|
||||||
|
|
||||||
*result = 100
|
|
||||||
|
|
||||||
* Break up long lines (> ~80 characters) and use whitespace to align
|
|
||||||
things nicely. This is one way:
|
|
||||||
|
|
||||||
some_very_long_function name (
|
|
||||||
implementation, op, src, mask, dest,
|
|
||||||
src_x, src_y, mask_x, mask_y, dest_x, dest_y,
|
|
||||||
width, height);
|
|
||||||
|
|
||||||
This is another:
|
|
||||||
|
|
||||||
some_very_long_function_name (implementation, op,
|
|
||||||
src, mask, dest,
|
|
||||||
src_x, src_y,
|
|
||||||
mask_x, mask_y,
|
|
||||||
dest_x, dest_y,
|
|
||||||
width, height);
|
|
||||||
|
|
||||||
* Separate logically distinct chunks with a single newline. This
|
|
||||||
obviously applies between functions, but also applies within a
|
|
||||||
function or block or structure definition.
|
|
||||||
|
|
||||||
* Use a newline after a block of variable declarations.
|
|
||||||
|
|
||||||
* Use a single space before a left parenthesis, except where the
|
|
||||||
standard will not allow it, (eg. when defining a parameterized macro).
|
|
||||||
|
|
||||||
* Don't eliminate newlines just because things would still fit on one
|
|
||||||
line. This breaks the expected visual structure of the code making
|
|
||||||
it much harder to read and understand:
|
|
||||||
|
|
||||||
if (condition) foo (); else bar (); /* Yuck! */
|
|
||||||
|
|
||||||
|
|
||||||
Function Definitions
|
|
||||||
====================
|
|
||||||
|
|
||||||
Function definitions should take the following form:
|
|
||||||
|
|
||||||
void
|
|
||||||
my_function (int argument)
|
|
||||||
{
|
|
||||||
do_my_things ();
|
|
||||||
}
|
|
||||||
|
|
||||||
If all the parameters to a function fit naturally on one line, format
|
|
||||||
them that way. Otherwise, put one argument on each line, adding
|
|
||||||
whitespace so that the parameter names are aligned with each other.
|
|
||||||
|
|
||||||
I.e., do either this:
|
|
||||||
|
|
||||||
void
|
|
||||||
short_arguments (const char *str, int x, int y, int z)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
or this:
|
|
||||||
|
|
||||||
void
|
|
||||||
long_arguments (const char *char_star_arg,
|
|
||||||
int int_arg,
|
|
||||||
double *double_star_arg,
|
|
||||||
double double_arg)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Mode lines
|
|
||||||
==========
|
|
||||||
|
|
||||||
Given the rules above, what is the best way to simplify one's life as
|
|
||||||
a code monkey? Get your editor to do most of the tedious work of
|
|
||||||
beautifying your code!
|
|
||||||
|
|
||||||
As a reward for reading this far, here are some mode lines for the more
|
|
||||||
popular editors:
|
|
||||||
/*
|
|
||||||
* vim:sw=4:sts=4:ts=8:tw=78:fo=tcroq:cindent:cino=\:0,(0
|
|
||||||
* vim:isk=a-z,A-Z,48-57,_,.,-,>
|
|
||||||
*/
|
|
||||||
|
|
42
COPYING
42
COPYING
@ -1,42 +0,0 @@
|
|||||||
The following is the MIT license, agreed upon by most contributors.
|
|
||||||
Copyright holders of new code should use this license statement where
|
|
||||||
possible. They may also add themselves to the list below.
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copyright 1987, 1988, 1989, 1998 The Open Group
|
|
||||||
* Copyright 1987, 1988, 1989 Digital Equipment Corporation
|
|
||||||
* Copyright 1999, 2004, 2008 Keith Packard
|
|
||||||
* Copyright 2000 SuSE, Inc.
|
|
||||||
* Copyright 2000 Keith Packard, member of The XFree86 Project, Inc.
|
|
||||||
* Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc.
|
|
||||||
* Copyright 2004 Nicholas Miell
|
|
||||||
* Copyright 2005 Lars Knoll & Zack Rusin, Trolltech
|
|
||||||
* Copyright 2005 Trolltech AS
|
|
||||||
* Copyright 2007 Luca Barbato
|
|
||||||
* Copyright 2008 Aaron Plattner, NVIDIA Corporation
|
|
||||||
* Copyright 2008 Rodrigo Kumpera
|
|
||||||
* Copyright 2008 André Tupinambá
|
|
||||||
* Copyright 2008 Mozilla Corporation
|
|
||||||
* Copyright 2008 Frederic Plourde
|
|
||||||
* Copyright 2009, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
* Copyright 2009, 2010 Nokia Corporation
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice (including the next
|
|
||||||
* paragraph) shall be included in all copies or substantial portions of the
|
|
||||||
* Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
* DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
234
INSTALL
Normal file
234
INSTALL
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
Installation Instructions
|
||||||
|
*************************
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Basic Installation
|
||||||
|
==================
|
||||||
|
|
||||||
|
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
|
||||||
|
those values to create a `Makefile' in each directory of the package.
|
||||||
|
It may also create one or more `.h' files containing system-dependent
|
||||||
|
definitions. Finally, it creates a shell script `config.status' that
|
||||||
|
you can run in the future to recreate the current configuration, and a
|
||||||
|
file `config.log' containing compiler output (useful mainly for
|
||||||
|
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
|
||||||
|
disabled by default to prevent problems with accidental use of stale
|
||||||
|
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
|
||||||
|
diffs or instructions to the address given in the `README' so they can
|
||||||
|
be considered for the next release. If you are using the cache, and at
|
||||||
|
some point `config.cache' contains results you don't want to keep, you
|
||||||
|
may remove or edit it.
|
||||||
|
|
||||||
|
The file `configure.ac' (or `configure.in') is used to create
|
||||||
|
`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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
3. Optionally, type `make check' to run any self-tests that come with
|
||||||
|
the package.
|
||||||
|
|
||||||
|
4. Type `make install' to install the programs and any data files and
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
5. You can remove the program binaries and object files from the
|
||||||
|
source code directory by typing `make clean'. To also remove the
|
||||||
|
files that `configure' created (so you can compile the package for
|
||||||
|
a different kind of computer), type `make distclean'. There is
|
||||||
|
also a `make maintainer-clean' target, but that is intended mainly
|
||||||
|
for the package's developers. If you use it, you may have to get
|
||||||
|
all sorts of other programs in order to regenerate files that came
|
||||||
|
with the distribution.
|
||||||
|
|
||||||
|
Compilers and Options
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Some systems require unusual options for compilation or linking that the
|
||||||
|
`configure' script does not know about. Run `./configure --help' for
|
||||||
|
details on some of the pertinent environment variables.
|
||||||
|
|
||||||
|
You can give `configure' initial values for configuration parameters
|
||||||
|
by setting variables in the command line or in the environment. Here
|
||||||
|
is an example:
|
||||||
|
|
||||||
|
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||||
|
|
||||||
|
*Note Defining Variables::, for more details.
|
||||||
|
|
||||||
|
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 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 `..'.
|
||||||
|
|
||||||
|
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
|
||||||
|
==================
|
||||||
|
|
||||||
|
By default, `make install' installs the package's commands under
|
||||||
|
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||||
|
can specify an installation prefix other than `/usr/local' by giving
|
||||||
|
`configure' the option `--prefix=PREFIX'.
|
||||||
|
|
||||||
|
You can specify separate installation prefixes for
|
||||||
|
architecture-specific files and architecture-independent files. If you
|
||||||
|
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||||
|
PREFIX as the prefix for installing programs and libraries.
|
||||||
|
Documentation and other data files still use the regular prefix.
|
||||||
|
|
||||||
|
In addition, if you use an unusual directory layout you can give
|
||||||
|
options like `--bindir=DIR' to specify different values for particular
|
||||||
|
kinds of files. Run `configure --help' for a list of the directories
|
||||||
|
you can set and what kinds of files go in them.
|
||||||
|
|
||||||
|
If the package supports it, you can cause programs to be installed
|
||||||
|
with an extra prefix or suffix on their names by giving `configure' the
|
||||||
|
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||||
|
|
||||||
|
Optional Features
|
||||||
|
=================
|
||||||
|
|
||||||
|
Some packages pay attention to `--enable-FEATURE' options to
|
||||||
|
`configure', where FEATURE indicates an optional part of the package.
|
||||||
|
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||||
|
is something like `gnu-as' or `x' (for the X Window System). The
|
||||||
|
`README' should mention any `--enable-' and `--with-' options that the
|
||||||
|
package recognizes.
|
||||||
|
|
||||||
|
For packages that use the X Window System, `configure' can usually
|
||||||
|
find the X include and library files automatically, but if it doesn't,
|
||||||
|
you can use the `configure' options `--x-includes=DIR' and
|
||||||
|
`--x-libraries=DIR' to specify their locations.
|
||||||
|
|
||||||
|
Specifying the System Type
|
||||||
|
==========================
|
||||||
|
|
||||||
|
There may be some features `configure' cannot figure out automatically,
|
||||||
|
but needs to determine by the type of machine the package will run on.
|
||||||
|
Usually, assuming the package is built to be run on the _same_
|
||||||
|
architectures, `configure' can figure that out, but if it prints a
|
||||||
|
message saying it cannot guess the machine type, give it the
|
||||||
|
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||||
|
type, such as `sun4', or a canonical name which has the form:
|
||||||
|
|
||||||
|
CPU-COMPANY-SYSTEM
|
||||||
|
|
||||||
|
where SYSTEM can have one of these forms:
|
||||||
|
|
||||||
|
OS KERNEL-OS
|
||||||
|
|
||||||
|
See the file `config.sub' for the possible values of each field. If
|
||||||
|
`config.sub' isn't included in this package, then this package doesn't
|
||||||
|
need to know the machine type.
|
||||||
|
|
||||||
|
If you are _building_ compiler tools for cross-compiling, you should
|
||||||
|
use the option `--target=TYPE' to select the type of system they will
|
||||||
|
produce code for.
|
||||||
|
|
||||||
|
If you want to _use_ a cross compiler, that generates code for a
|
||||||
|
platform different from the build platform, you should specify the
|
||||||
|
"host" platform (i.e., that on which the generated programs will
|
||||||
|
eventually be run) with `--host=TYPE'.
|
||||||
|
|
||||||
|
Sharing Defaults
|
||||||
|
================
|
||||||
|
|
||||||
|
If you want to set default values for `configure' scripts to share, you
|
||||||
|
can create a site shell script called `config.site' that gives default
|
||||||
|
values for variables like `CC', `cache_file', and `prefix'.
|
||||||
|
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||||
|
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||||
|
`CONFIG_SITE' environment variable to the location of the site script.
|
||||||
|
A warning: not all `configure' scripts look for a site script.
|
||||||
|
|
||||||
|
Defining Variables
|
||||||
|
==================
|
||||||
|
|
||||||
|
Variables not defined in a site shell script can be set in the
|
||||||
|
environment passed to `configure'. However, some packages may run
|
||||||
|
configure again during the build, and the customized values of these
|
||||||
|
variables may be lost. In order to avoid this problem, you should set
|
||||||
|
them in the `configure' command line, using `VAR=value'. For example:
|
||||||
|
|
||||||
|
./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).
|
||||||
|
|
||||||
|
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
||||||
|
an Autoconf bug. Until the bug is fixed you can use this workaround:
|
||||||
|
|
||||||
|
CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||||
|
|
||||||
|
`configure' Invocation
|
||||||
|
======================
|
||||||
|
|
||||||
|
`configure' recognizes the following options to control how it operates.
|
||||||
|
|
||||||
|
`--help'
|
||||||
|
`-h'
|
||||||
|
Print a summary of the options to `configure', and exit.
|
||||||
|
|
||||||
|
`--version'
|
||||||
|
`-V'
|
||||||
|
Print the version of Autoconf used to generate the `configure'
|
||||||
|
script, and exit.
|
||||||
|
|
||||||
|
`--cache-file=FILE'
|
||||||
|
Enable the cache: use and save the results of the tests in FILE,
|
||||||
|
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||||
|
disable caching.
|
||||||
|
|
||||||
|
`--config-cache'
|
||||||
|
`-C'
|
||||||
|
Alias for `--cache-file=config.cache'.
|
||||||
|
|
||||||
|
`--quiet'
|
||||||
|
`--silent'
|
||||||
|
`-q'
|
||||||
|
Do not print messages saying which checks are being made. To
|
||||||
|
suppress all normal output, redirect it to `/dev/null' (any error
|
||||||
|
messages will still be shown).
|
||||||
|
|
||||||
|
`--srcdir=DIR'
|
||||||
|
Look for the package's source code in directory DIR. Usually
|
||||||
|
`configure' can determine that directory automatically.
|
||||||
|
|
||||||
|
`configure' also accepts some other, not widely useful, options. Run
|
||||||
|
`configure --help' for more details.
|
||||||
|
|
6
Makefile.am
Normal file
6
Makefile.am
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SUBDIRS = pixman test
|
||||||
|
|
||||||
|
pkgconfigdir=$(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA=pixman-1.pc
|
||||||
|
|
||||||
|
$(pkgconfig_DATA): pixman-1.pc.in
|
671
Makefile.in
Normal file
671
Makefile.in
Normal file
@ -0,0 +1,671 @@
|
|||||||
|
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||||
|
# @configure_input@
|
||||||
|
|
||||||
|
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||||
|
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
|
# This Makefile.in 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.
|
||||||
|
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||||
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
|
||||||
|
VPATH = @srcdir@
|
||||||
|
pkgdatadir = $(datadir)/@PACKAGE@
|
||||||
|
pkglibdir = $(libdir)/@PACKAGE@
|
||||||
|
pkgincludedir = $(includedir)/@PACKAGE@
|
||||||
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||||
|
install_sh_DATA = $(install_sh) -c -m 644
|
||||||
|
install_sh_PROGRAM = $(install_sh) -c
|
||||||
|
install_sh_SCRIPT = $(install_sh) -c
|
||||||
|
INSTALL_HEADER = $(INSTALL_DATA)
|
||||||
|
transform = $(program_transform_name)
|
||||||
|
NORMAL_INSTALL = :
|
||||||
|
PRE_INSTALL = :
|
||||||
|
POST_INSTALL = :
|
||||||
|
NORMAL_UNINSTALL = :
|
||||||
|
PRE_UNINSTALL = :
|
||||||
|
POST_UNINSTALL = :
|
||||||
|
build_triplet = @build@
|
||||||
|
host_triplet = @host@
|
||||||
|
subdir = .
|
||||||
|
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
|
||||||
|
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||||
|
$(srcdir)/pixman-1.pc.in $(top_srcdir)/configure AUTHORS \
|
||||||
|
COPYING ChangeLog INSTALL NEWS TODO compile config.guess \
|
||||||
|
config.sub depcomp install-sh ltmain.sh missing
|
||||||
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
|
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||||
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
|
$(ACLOCAL_M4)
|
||||||
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
|
configure.lineno config.status.lineno
|
||||||
|
mkinstalldirs = $(install_sh) -d
|
||||||
|
CONFIG_HEADER = config.h
|
||||||
|
CONFIG_CLEAN_FILES = pixman-1.pc
|
||||||
|
SOURCES =
|
||||||
|
DIST_SOURCES =
|
||||||
|
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
|
||||||
|
html-recursive info-recursive install-data-recursive \
|
||||||
|
install-dvi-recursive install-exec-recursive \
|
||||||
|
install-html-recursive install-info-recursive \
|
||||||
|
install-pdf-recursive install-ps-recursive install-recursive \
|
||||||
|
installcheck-recursive installdirs-recursive pdf-recursive \
|
||||||
|
ps-recursive uninstall-recursive
|
||||||
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
|
am__vpath_adj = case $$p in \
|
||||||
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
*) f=$$p;; \
|
||||||
|
esac;
|
||||||
|
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||||
|
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
|
||||||
|
pkgconfigDATA_INSTALL = $(INSTALL_DATA)
|
||||||
|
DATA = $(pkgconfig_DATA)
|
||||||
|
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||||
|
distclean-recursive maintainer-clean-recursive
|
||||||
|
ETAGS = etags
|
||||||
|
CTAGS = ctags
|
||||||
|
DIST_SUBDIRS = $(SUBDIRS)
|
||||||
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
|
top_distdir = $(distdir)
|
||||||
|
am__remove_distdir = \
|
||||||
|
{ test ! -d $(distdir) \
|
||||||
|
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||||
|
&& rm -fr $(distdir); }; }
|
||||||
|
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
|
||||||
|
GZIP_ENV = --best
|
||||||
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
|
distcleancheck_listfiles = find . -type f -print
|
||||||
|
ACLOCAL = @ACLOCAL@
|
||||||
|
AMTAR = @AMTAR@
|
||||||
|
AR = @AR@
|
||||||
|
AUTOCONF = @AUTOCONF@
|
||||||
|
AUTOHEADER = @AUTOHEADER@
|
||||||
|
AUTOMAKE = @AUTOMAKE@
|
||||||
|
AWK = @AWK@
|
||||||
|
CC = @CC@
|
||||||
|
CCDEPMODE = @CCDEPMODE@
|
||||||
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
|
CPPFLAGS = @CPPFLAGS@
|
||||||
|
CXX = @CXX@
|
||||||
|
CXXCPP = @CXXCPP@
|
||||||
|
CXXDEPMODE = @CXXDEPMODE@
|
||||||
|
CXXFLAGS = @CXXFLAGS@
|
||||||
|
CYGPATH_W = @CYGPATH_W@
|
||||||
|
DEFS = @DEFS@
|
||||||
|
DEPDIR = @DEPDIR@
|
||||||
|
DEP_CFLAGS = @DEP_CFLAGS@
|
||||||
|
DEP_LIBS = @DEP_LIBS@
|
||||||
|
ECHO = @ECHO@
|
||||||
|
ECHO_C = @ECHO_C@
|
||||||
|
ECHO_N = @ECHO_N@
|
||||||
|
ECHO_T = @ECHO_T@
|
||||||
|
EGREP = @EGREP@
|
||||||
|
EXEEXT = @EXEEXT@
|
||||||
|
F77 = @F77@
|
||||||
|
FFLAGS = @FFLAGS@
|
||||||
|
GREP = @GREP@
|
||||||
|
GTK_CFLAGS = @GTK_CFLAGS@
|
||||||
|
GTK_LIBS = @GTK_LIBS@
|
||||||
|
INSTALL = @INSTALL@
|
||||||
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||||
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||||
|
LDFLAGS = @LDFLAGS@
|
||||||
|
LIBOBJS = @LIBOBJS@
|
||||||
|
LIBS = @LIBS@
|
||||||
|
LIBTOOL = @LIBTOOL@
|
||||||
|
LN_S = @LN_S@
|
||||||
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
|
LT_VERSION_INFO = @LT_VERSION_INFO@
|
||||||
|
MAKEINFO = @MAKEINFO@
|
||||||
|
MKDIR_P = @MKDIR_P@
|
||||||
|
MMX_CFLAGS = @MMX_CFLAGS@
|
||||||
|
OBJEXT = @OBJEXT@
|
||||||
|
PACKAGE = @PACKAGE@
|
||||||
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
PACKAGE_NAME = @PACKAGE_NAME@
|
||||||
|
PACKAGE_STRING = @PACKAGE_STRING@
|
||||||
|
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||||
|
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||||
|
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||||
|
PIXMAN_MAJOR = @PIXMAN_MAJOR@
|
||||||
|
PKG_CONFIG = @PKG_CONFIG@
|
||||||
|
RANLIB = @RANLIB@
|
||||||
|
SED = @SED@
|
||||||
|
SET_MAKE = @SET_MAKE@
|
||||||
|
SHELL = @SHELL@
|
||||||
|
STRIP = @STRIP@
|
||||||
|
VERSION = @VERSION@
|
||||||
|
abs_builddir = @abs_builddir@
|
||||||
|
abs_srcdir = @abs_srcdir@
|
||||||
|
abs_top_builddir = @abs_top_builddir@
|
||||||
|
abs_top_srcdir = @abs_top_srcdir@
|
||||||
|
ac_ct_CC = @ac_ct_CC@
|
||||||
|
ac_ct_CXX = @ac_ct_CXX@
|
||||||
|
ac_ct_F77 = @ac_ct_F77@
|
||||||
|
am__include = @am__include@
|
||||||
|
am__leading_dot = @am__leading_dot@
|
||||||
|
am__quote = @am__quote@
|
||||||
|
am__tar = @am__tar@
|
||||||
|
am__untar = @am__untar@
|
||||||
|
bindir = @bindir@
|
||||||
|
build = @build@
|
||||||
|
build_alias = @build_alias@
|
||||||
|
build_cpu = @build_cpu@
|
||||||
|
build_os = @build_os@
|
||||||
|
build_vendor = @build_vendor@
|
||||||
|
builddir = @builddir@
|
||||||
|
datadir = @datadir@
|
||||||
|
datarootdir = @datarootdir@
|
||||||
|
docdir = @docdir@
|
||||||
|
dvidir = @dvidir@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
host = @host@
|
||||||
|
host_alias = @host_alias@
|
||||||
|
host_cpu = @host_cpu@
|
||||||
|
host_os = @host_os@
|
||||||
|
host_vendor = @host_vendor@
|
||||||
|
htmldir = @htmldir@
|
||||||
|
includedir = @includedir@
|
||||||
|
infodir = @infodir@
|
||||||
|
install_sh = @install_sh@
|
||||||
|
libdir = @libdir@
|
||||||
|
libexecdir = @libexecdir@
|
||||||
|
localedir = @localedir@
|
||||||
|
localstatedir = @localstatedir@
|
||||||
|
mandir = @mandir@
|
||||||
|
mkdir_p = @mkdir_p@
|
||||||
|
oldincludedir = @oldincludedir@
|
||||||
|
pdfdir = @pdfdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
program_transform_name = @program_transform_name@
|
||||||
|
psdir = @psdir@
|
||||||
|
sbindir = @sbindir@
|
||||||
|
sharedstatedir = @sharedstatedir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
sysconfdir = @sysconfdir@
|
||||||
|
target_alias = @target_alias@
|
||||||
|
top_builddir = @top_builddir@
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
SUBDIRS = pixman test
|
||||||
|
pkgconfigdir = $(libdir)/pkgconfig
|
||||||
|
pkgconfig_DATA = pixman-1.pc
|
||||||
|
all: config.h
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||||
|
|
||||||
|
.SUFFIXES:
|
||||||
|
am--refresh:
|
||||||
|
@:
|
||||||
|
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
|
@for dep in $?; do \
|
||||||
|
case '$(am__configure_deps)' in \
|
||||||
|
*$$dep*) \
|
||||||
|
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
|
||||||
|
cd $(srcdir) && $(AUTOMAKE) --gnu \
|
||||||
|
&& exit 0; \
|
||||||
|
exit 1;; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||||
|
cd $(top_srcdir) && \
|
||||||
|
$(AUTOMAKE) --gnu Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
|
@case '$?' in \
|
||||||
|
*config.status*) \
|
||||||
|
echo ' $(SHELL) ./config.status'; \
|
||||||
|
$(SHELL) ./config.status;; \
|
||||||
|
*) \
|
||||||
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||||
|
esac;
|
||||||
|
|
||||||
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
|
$(top_srcdir)/configure: $(am__configure_deps)
|
||||||
|
cd $(srcdir) && $(AUTOCONF)
|
||||||
|
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||||
|
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||||
|
|
||||||
|
config.h: stamp-h1
|
||||||
|
@if test ! -f $@; then \
|
||||||
|
rm -f stamp-h1; \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
|
||||||
|
else :; fi
|
||||||
|
|
||||||
|
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: $(am__configure_deps)
|
||||||
|
cd $(top_srcdir) && $(AUTOHEADER)
|
||||||
|
rm -f stamp-h1
|
||||||
|
touch $@
|
||||||
|
|
||||||
|
distclean-hdr:
|
||||||
|
-rm -f config.h stamp-h1
|
||||||
|
pixman-1.pc: $(top_builddir)/config.status $(srcdir)/pixman-1.pc.in
|
||||||
|
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||||
|
|
||||||
|
mostlyclean-libtool:
|
||||||
|
-rm -f *.lo
|
||||||
|
|
||||||
|
clean-libtool:
|
||||||
|
-rm -rf .libs _libs
|
||||||
|
|
||||||
|
distclean-libtool:
|
||||||
|
-rm -f libtool
|
||||||
|
install-pkgconfigDATA: $(pkgconfig_DATA)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
|
||||||
|
@list='$(pkgconfig_DATA)'; for p in $$list; do \
|
||||||
|
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
|
||||||
|
$(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall-pkgconfigDATA:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(pkgconfig_DATA)'; for p in $$list; do \
|
||||||
|
f=$(am__strip_dir) \
|
||||||
|
echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
|
||||||
|
rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
# This directory's subdirectories are mostly independent; you can cd
|
||||||
|
# into them and run `make' without going through this Makefile.
|
||||||
|
# To change the values of `make' variables: instead of editing Makefiles,
|
||||||
|
# (1) if the variable is set in `config.status', edit `config.status'
|
||||||
|
# (which will cause the Makefiles to be regenerated when you run `make');
|
||||||
|
# (2) otherwise, pass the desired values on the `make' command line.
|
||||||
|
$(RECURSIVE_TARGETS):
|
||||||
|
@failcom='exit 1'; \
|
||||||
|
for f in x $$MAKEFLAGS; do \
|
||||||
|
case $$f in \
|
||||||
|
*=* | --[!k]*);; \
|
||||||
|
*k*) failcom='fail=yes';; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
dot_seen=no; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
dot_seen=yes; \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done; \
|
||||||
|
if test "$$dot_seen" = "no"; then \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||||
|
fi; test -z "$$fail"
|
||||||
|
|
||||||
|
$(RECURSIVE_CLEAN_TARGETS):
|
||||||
|
@failcom='exit 1'; \
|
||||||
|
for f in x $$MAKEFLAGS; do \
|
||||||
|
case $$f in \
|
||||||
|
*=* | --[!k]*);; \
|
||||||
|
*k*) failcom='fail=yes';; \
|
||||||
|
esac; \
|
||||||
|
done; \
|
||||||
|
dot_seen=no; \
|
||||||
|
case "$@" in \
|
||||||
|
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||||
|
*) list='$(SUBDIRS)' ;; \
|
||||||
|
esac; \
|
||||||
|
rev=''; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = "."; then :; else \
|
||||||
|
rev="$$subdir $$rev"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
rev="$$rev ."; \
|
||||||
|
target=`echo $@ | sed s/-recursive//`; \
|
||||||
|
for subdir in $$rev; do \
|
||||||
|
echo "Making $$target in $$subdir"; \
|
||||||
|
if test "$$subdir" = "."; then \
|
||||||
|
local_target="$$target-am"; \
|
||||||
|
else \
|
||||||
|
local_target="$$target"; \
|
||||||
|
fi; \
|
||||||
|
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||||
|
|| eval $$failcom; \
|
||||||
|
done && test -z "$$fail"
|
||||||
|
tags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
|
||||||
|
done
|
||||||
|
ctags-recursive:
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
|
||||||
|
done
|
||||||
|
|
||||||
|
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||||
|
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
mkid -fID $$unique
|
||||||
|
tags: TAGS
|
||||||
|
|
||||||
|
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||||
|
$(TAGS_FILES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||||
|
include_option=--etags-include; \
|
||||||
|
empty_fix=.; \
|
||||||
|
else \
|
||||||
|
include_option=--include; \
|
||||||
|
empty_fix=; \
|
||||||
|
fi; \
|
||||||
|
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test ! -f $$subdir/TAGS || \
|
||||||
|
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
|
||||||
|
fi; \
|
||||||
|
done; \
|
||||||
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||||
|
test -n "$$unique" || unique=$$empty_fix; \
|
||||||
|
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||||
|
$$tags $$unique; \
|
||||||
|
fi
|
||||||
|
ctags: CTAGS
|
||||||
|
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||||
|
$(TAGS_FILES) $(LISP)
|
||||||
|
tags=; \
|
||||||
|
here=`pwd`; \
|
||||||
|
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||||
|
unique=`for i in $$list; do \
|
||||||
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
|
done | \
|
||||||
|
$(AWK) ' { files[$$0] = 1; } \
|
||||||
|
END { for (i in files) print i; }'`; \
|
||||||
|
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||||
|
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||||
|
$$tags $$unique
|
||||||
|
|
||||||
|
GTAGS:
|
||||||
|
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||||
|
&& cd $(top_srcdir) \
|
||||||
|
&& gtags -i $(GTAGS_ARGS) $$here
|
||||||
|
|
||||||
|
distclean-tags:
|
||||||
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
|
distdir: $(DISTFILES)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
test -d $(distdir) || mkdir $(distdir)
|
||||||
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
list='$(DISTFILES)'; \
|
||||||
|
dist_files=`for file in $$list; do echo $$file; done | \
|
||||||
|
sed -e "s|^$$srcdirstrip/||;t" \
|
||||||
|
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||||
|
case $$dist_files in \
|
||||||
|
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||||
|
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||||
|
sort -u` ;; \
|
||||||
|
esac; \
|
||||||
|
for file in $$dist_files; do \
|
||||||
|
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||||
|
if test -d $$d/$$file; then \
|
||||||
|
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||||
|
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||||
|
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
fi; \
|
||||||
|
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||||
|
else \
|
||||||
|
test -f $(distdir)/$$file \
|
||||||
|
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||||
|
if test "$$subdir" = .; then :; else \
|
||||||
|
test -d "$(distdir)/$$subdir" \
|
||||||
|
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||||
|
|| exit 1; \
|
||||||
|
distdir=`$(am__cd) $(distdir) && pwd`; \
|
||||||
|
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
|
||||||
|
(cd $$subdir && \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
top_distdir="$$top_distdir" \
|
||||||
|
distdir="$$distdir/$$subdir" \
|
||||||
|
am__remove_distdir=: \
|
||||||
|
am__skip_length_check=: \
|
||||||
|
distdir) \
|
||||||
|
|| exit 1; \
|
||||||
|
fi; \
|
||||||
|
done
|
||||||
|
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||||
|
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||||
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||||
|
|| chmod -R a+r $(distdir)
|
||||||
|
dist-gzip: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
dist-bzip2: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-tarZ: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-shar: distdir
|
||||||
|
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist-zip: distdir
|
||||||
|
-rm -f $(distdir).zip
|
||||||
|
zip -rq $(distdir).zip $(distdir)
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
dist dist-all: distdir
|
||||||
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
|
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||||
|
$(am__remove_distdir)
|
||||||
|
|
||||||
|
# This target untars the dist file and tries a VPATH configuration. Then
|
||||||
|
# it guarantees that the distribution is self-contained by making another
|
||||||
|
# tarfile.
|
||||||
|
distcheck: dist
|
||||||
|
case '$(DIST_ARCHIVES)' in \
|
||||||
|
*.tar.gz*) \
|
||||||
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
|
*.tar.bz2*) \
|
||||||
|
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
|
*.tar.Z*) \
|
||||||
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
|
*.shar.gz*) \
|
||||||
|
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||||
|
*.zip*) \
|
||||||
|
unzip $(distdir).zip ;;\
|
||||||
|
esac
|
||||||
|
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||||
|
mkdir $(distdir)/_build
|
||||||
|
mkdir $(distdir)/_inst
|
||||||
|
chmod a-w $(distdir)
|
||||||
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||||
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||||
|
&& cd $(distdir)/_build \
|
||||||
|
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||||
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||||
|
distuninstallcheck \
|
||||||
|
&& chmod -R a-w "$$dc_install_base" \
|
||||||
|
&& ({ \
|
||||||
|
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||||
|
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||||
|
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||||
|
&& rm -rf "$$dc_destdir" \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||||
|
&& rm -rf $(DIST_ARCHIVES) \
|
||||||
|
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||||
|
$(am__remove_distdir)
|
||||||
|
@(echo "$(distdir) archives ready for distribution: "; \
|
||||||
|
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||||
|
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||||
|
distuninstallcheck:
|
||||||
|
@cd $(distuninstallcheck_dir) \
|
||||||
|
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||||
|
|| { echo "ERROR: files left after uninstall:" ; \
|
||||||
|
if test -n "$(DESTDIR)"; then \
|
||||||
|
echo " (check DESTDIR support)"; \
|
||||||
|
fi ; \
|
||||||
|
$(distuninstallcheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
distcleancheck: distclean
|
||||||
|
@if test '$(srcdir)' = . ; then \
|
||||||
|
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||||
|
exit 1 ; \
|
||||||
|
fi
|
||||||
|
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||||
|
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||||
|
$(distcleancheck_listfiles) ; \
|
||||||
|
exit 1; } >&2
|
||||||
|
check-am: all-am
|
||||||
|
check: check-recursive
|
||||||
|
all-am: Makefile $(DATA) config.h
|
||||||
|
installdirs: installdirs-recursive
|
||||||
|
installdirs-am:
|
||||||
|
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
|
||||||
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
|
done
|
||||||
|
install: install-recursive
|
||||||
|
install-exec: install-exec-recursive
|
||||||
|
install-data: install-data-recursive
|
||||||
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
|
install-am: all-am
|
||||||
|
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||||
|
|
||||||
|
installcheck: installcheck-recursive
|
||||||
|
install-strip:
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||||
|
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||||
|
`test -z '$(STRIP)' || \
|
||||||
|
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||||
|
mostlyclean-generic:
|
||||||
|
|
||||||
|
clean-generic:
|
||||||
|
|
||||||
|
distclean-generic:
|
||||||
|
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||||
|
|
||||||
|
maintainer-clean-generic:
|
||||||
|
@echo "This command is intended for maintainers to use"
|
||||||
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
|
clean: clean-recursive
|
||||||
|
|
||||||
|
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||||
|
|
||||||
|
distclean: distclean-recursive
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -f Makefile
|
||||||
|
distclean-am: clean-am distclean-generic distclean-hdr \
|
||||||
|
distclean-libtool distclean-tags
|
||||||
|
|
||||||
|
dvi: dvi-recursive
|
||||||
|
|
||||||
|
dvi-am:
|
||||||
|
|
||||||
|
html: html-recursive
|
||||||
|
|
||||||
|
info: info-recursive
|
||||||
|
|
||||||
|
info-am:
|
||||||
|
|
||||||
|
install-data-am: install-pkgconfigDATA
|
||||||
|
|
||||||
|
install-dvi: install-dvi-recursive
|
||||||
|
|
||||||
|
install-exec-am:
|
||||||
|
|
||||||
|
install-html: install-html-recursive
|
||||||
|
|
||||||
|
install-info: install-info-recursive
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
|
||||||
|
install-pdf: install-pdf-recursive
|
||||||
|
|
||||||
|
install-ps: install-ps-recursive
|
||||||
|
|
||||||
|
installcheck-am:
|
||||||
|
|
||||||
|
maintainer-clean: maintainer-clean-recursive
|
||||||
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
|
-rm -f Makefile
|
||||||
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
mostlyclean: mostlyclean-recursive
|
||||||
|
|
||||||
|
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||||
|
|
||||||
|
pdf: pdf-recursive
|
||||||
|
|
||||||
|
pdf-am:
|
||||||
|
|
||||||
|
ps: ps-recursive
|
||||||
|
|
||||||
|
ps-am:
|
||||||
|
|
||||||
|
uninstall-am: uninstall-pkgconfigDATA
|
||||||
|
|
||||||
|
.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
|
||||||
|
install-strip
|
||||||
|
|
||||||
|
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
|
||||||
|
all all-am am--refresh check check-am clean clean-generic \
|
||||||
|
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
|
||||||
|
dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
|
||||||
|
distclean-generic distclean-hdr distclean-libtool \
|
||||||
|
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
||||||
|
dvi-am html html-am info info-am install install-am \
|
||||||
|
install-data install-data-am install-dvi install-dvi-am \
|
||||||
|
install-exec install-exec-am install-html install-html-am \
|
||||||
|
install-info install-info-am install-man install-pdf \
|
||||||
|
install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
|
||||||
|
install-strip installcheck installcheck-am installdirs \
|
||||||
|
installdirs-am maintainer-clean maintainer-clean-generic \
|
||||||
|
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||||
|
ps ps-am tags tags-recursive uninstall uninstall-am \
|
||||||
|
uninstall-pkgconfigDATA
|
||||||
|
|
||||||
|
|
||||||
|
$(pkgconfig_DATA): pixman-1.pc.in
|
||||||
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
.NOEXPORT:
|
134
README
134
README
@ -1,134 +0,0 @@
|
|||||||
Pixman
|
|
||||||
======
|
|
||||||
|
|
||||||
Pixman is a library that provides low-level pixel manipulation
|
|
||||||
features such as image compositing and trapezoid rasterization.
|
|
||||||
|
|
||||||
Questions should be directed to the pixman mailing list:
|
|
||||||
|
|
||||||
https://lists.freedesktop.org/mailman/listinfo/pixman
|
|
||||||
|
|
||||||
You can also file bugs at
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
|
||||||
Contributing
|
|
||||||
------------
|
|
||||||
|
|
||||||
In order to contribute to pixman, you will need a working knowledge of
|
|
||||||
the git version control system. For a quick getting started guide,
|
|
||||||
there is the "Everyday Git With 20 Commands Or So guide"
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
https://www.freedesktop.org/wiki/Infrastructure/git/Developers
|
|
||||||
|
|
||||||
The Pixman master repository can be found at:
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/pixman/pixman
|
|
||||||
|
|
||||||
|
|
||||||
Sending patches
|
|
||||||
---------------
|
|
||||||
|
|
||||||
Patches should be submitted in form of Merge Requests via Gitlab.
|
|
||||||
|
|
||||||
You will first need to create a fork of the main pixman repository at
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/pixman/pixman
|
|
||||||
|
|
||||||
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 remote add my-gitlab git@gitlab.freedesktop.org:YOURUSERNAME/pixman.git
|
|
||||||
|
|
||||||
git fetch my-gitlab
|
|
||||||
|
|
||||||
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:
|
|
||||||
|
|
||||||
git checkout -b fix-some-bug
|
|
||||||
...
|
|
||||||
git push my-gitlab
|
|
||||||
|
|
||||||
The output of the `git push` command will include a link that allows you to
|
|
||||||
create a Merge Request against the official pixman repository.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
The exception here is if you are changing the test suite to
|
|
||||||
demonstrate a bug. In this case, make one commit that makes the
|
|
||||||
test suite fail due to the bug, and then another commit that fixes
|
|
||||||
the bug.
|
|
||||||
|
|
||||||
You can run the test suite with
|
|
||||||
|
|
||||||
meson test -C builddir
|
|
||||||
|
|
||||||
It will take around two minutes to run on a modern PC.
|
|
||||||
|
|
||||||
- Follow the coding style described in the CODING_STYLE file
|
|
||||||
|
|
||||||
- For bug fixes, include an update to the test suite to make sure
|
|
||||||
the bug doesn't reappear.
|
|
||||||
|
|
||||||
- For new features, add tests of the feature to the test
|
|
||||||
suite. Also, add a program demonstrating the new feature to the
|
|
||||||
demos/ directory.
|
|
||||||
|
|
||||||
- Write descriptive commit messages. Useful information to include:
|
|
||||||
- Benchmark results, before and after
|
|
||||||
- Description of the bug that was fixed
|
|
||||||
- Detailed rationale for any new API
|
|
||||||
- Alternative approaches that were rejected (and why they
|
|
||||||
don't work)
|
|
||||||
- If review comments were incorporated, a brief version
|
|
||||||
history describing what those changes were.
|
|
||||||
|
|
||||||
- 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
|
|
||||||
was necessary.
|
|
||||||
|
|
||||||
Pixman has high standards for code quality and so almost everybody
|
|
||||||
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. The purpose
|
|
||||||
of the guidelines and code review is to ensure high code quality; it is
|
|
||||||
not an exercise in compliance.
|
|
58
RELEASING
58
RELEASING
@ -1,58 +0,0 @@
|
|||||||
Here are the steps to follow to create a new pixman release:
|
|
||||||
|
|
||||||
1) Ensure that there are no uncommitted changes or unpushed commits,
|
|
||||||
and that you are up to date with the latest commits in the central
|
|
||||||
repository. Here are a couple of useful commands:
|
|
||||||
|
|
||||||
git diff (no output)
|
|
||||||
|
|
||||||
git status (should report "nothing to commit")
|
|
||||||
|
|
||||||
git log master...origin (no output; note: *3* dots)
|
|
||||||
|
|
||||||
2) Increment the version in meson.build.
|
|
||||||
|
|
||||||
3) Make sure that new version works, including
|
|
||||||
|
|
||||||
- meson test passes
|
|
||||||
|
|
||||||
- the X server still works with the new pixman version
|
|
||||||
installed
|
|
||||||
|
|
||||||
- the cairo test suite hasn't gained any new failures compared
|
|
||||||
to last pixman version.
|
|
||||||
|
|
||||||
4) Use "git commit" to record the changes made in step 2 and 3.
|
|
||||||
|
|
||||||
5) Generate and publish the tar files by running
|
|
||||||
|
|
||||||
make PREV=<last version> GPGKEY=<your gpg key id> release-publish
|
|
||||||
|
|
||||||
If your freedesktop user name is different from your local one,
|
|
||||||
then also set the variable USER to your freedesktop user name.
|
|
||||||
|
|
||||||
6) Run
|
|
||||||
|
|
||||||
make release-publish-message
|
|
||||||
|
|
||||||
to generate a draft release announcement. Edit it as appropriate and
|
|
||||||
send it to
|
|
||||||
|
|
||||||
cairo-announce@cairographics.org
|
|
||||||
|
|
||||||
pixman@lists.freedesktop.org
|
|
||||||
|
|
||||||
xorg-announce@lists.freedesktop.org
|
|
||||||
|
|
||||||
7) Increment pixman_micro to the next larger (odd) number in
|
|
||||||
configure.ac. Commit this change, and push all commits created
|
|
||||||
during this process using
|
|
||||||
|
|
||||||
git push
|
|
||||||
git push --tags
|
|
||||||
|
|
||||||
You must use "--tags" here; otherwise the new tag will not
|
|
||||||
be pushed out.
|
|
||||||
|
|
||||||
8) Change the topic of the #cairo IRC channel on freenode to advertise
|
|
||||||
the new version.
|
|
139
TODO
Normal file
139
TODO
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
- Go through things marked FIXME
|
||||||
|
|
||||||
|
- Add calls to prepare and finish access where necessary. grep for
|
||||||
|
ACCESS_MEM, and make sure they are correctly wrapped in prepare
|
||||||
|
and finish.
|
||||||
|
|
||||||
|
- restore READ/WRITE in the fbcompose combiners since they sometimes
|
||||||
|
store directly to destination drawables.
|
||||||
|
|
||||||
|
- It probably makes sense to move the more strange X region API
|
||||||
|
into pixman as well, but guarded with PIXMAN_XORG_COMPATIBILITY
|
||||||
|
|
||||||
|
- Reinstate the FbBits typedef? At the moment we don't
|
||||||
|
even have the FbBits type; we just use uint32_t everywhere.
|
||||||
|
|
||||||
|
Keith says in bug 2335:
|
||||||
|
|
||||||
|
The 64-bit code in fb (pixman) is probably broken; it hasn't been
|
||||||
|
used in quite some time as PCI (and AGP) is 32-bits wide, so
|
||||||
|
doing things 64-bits at a time is a net loss. To quickly fix
|
||||||
|
this, I suggest just using 32-bit datatypes by setting
|
||||||
|
IC_SHIFT to 5 for all machines.
|
||||||
|
|
||||||
|
- Consider whether calling regions region16 is really such a great
|
||||||
|
idea Vlad wants 32 bit regions for Cairo. This will break X server
|
||||||
|
ABI, but should otherwise be mostly harmless, though a
|
||||||
|
pixman_region_get_boxes16() may be useful.
|
||||||
|
|
||||||
|
- Make source clipping optional.
|
||||||
|
- done: source clipping happens through an indirection.
|
||||||
|
still needs to make the indirection settable. (And call it
|
||||||
|
from X)
|
||||||
|
|
||||||
|
- Consider optimizing the 8/16 bit solid fills in pixman-util.c by
|
||||||
|
storing more than one value at a time.
|
||||||
|
|
||||||
|
- Add an image cache to prevent excessive malloc/free. Note that pixman
|
||||||
|
needs to be thread safe when used from cairo.
|
||||||
|
|
||||||
|
- Review the pixman_format_code_t enum to make sure it will support
|
||||||
|
future formats. Some formats we will probably need:
|
||||||
|
|
||||||
|
ARGB/ABGR with 16/32/64 bit integer/floating channels
|
||||||
|
YUV2,
|
||||||
|
YV12
|
||||||
|
|
||||||
|
Also we may need the ability to distinguish between PICT_c8 and
|
||||||
|
PICT_x4c4. (This could be done by interpreting the A channel as
|
||||||
|
the depth for TYPE_COLOR and TYPE_GRAY formats).
|
||||||
|
|
||||||
|
A possibility may be to reserve the two top bits and make them
|
||||||
|
encode "number of places to shift the channel widths given" Since
|
||||||
|
these bits are 00 at the moment everything will continue to work,
|
||||||
|
but these additional widths will be allowed:
|
||||||
|
|
||||||
|
All even widths between 18-32
|
||||||
|
All multiples of four widths between 33 and 64
|
||||||
|
All multiples of eight between 64 and 128
|
||||||
|
|
||||||
|
This means things like r21g22b21 won't work - is that worth
|
||||||
|
worrying about? I don't think so. And of course the bpp field
|
||||||
|
can't handle a depth of over 256, so > 64 bit channels arent'
|
||||||
|
really all that useful.
|
||||||
|
|
||||||
|
We could reserve one extra bit to indicate floating point, but
|
||||||
|
we may also just add
|
||||||
|
|
||||||
|
PIXMAN_TYPE_ARGB_FLOAT
|
||||||
|
PIXMAN_TYPE_BGRA_FLOAT
|
||||||
|
PIXMAN_TYPE_A_FLOAT
|
||||||
|
|
||||||
|
image types. With five bits we can support up to 32 different
|
||||||
|
format types, which should be enough for everybody, even if we
|
||||||
|
decide to support all the various video formats here:
|
||||||
|
|
||||||
|
http://www.fourcc.org/yuv.php
|
||||||
|
|
||||||
|
It may make sense to have a PIXMAN_TYPE_YUV, and then use the
|
||||||
|
channel bits to specify the exact subtype.
|
||||||
|
|
||||||
|
What about color spaces such a linear vs. srGB etc.?
|
||||||
|
|
||||||
|
|
||||||
|
done:
|
||||||
|
|
||||||
|
- Run cairo test suite; fix bugs
|
||||||
|
- one bug in source-scale-clip
|
||||||
|
|
||||||
|
- Remove the warning suppression in the ACCESS_MEM macro and fix the
|
||||||
|
warnings that are real
|
||||||
|
- irrelevant now.
|
||||||
|
|
||||||
|
- make the wrapper functions global instead of image specific
|
||||||
|
- this won't work since pixman is linked to both fb and wfb
|
||||||
|
|
||||||
|
- Add non-mmx solid fill
|
||||||
|
|
||||||
|
- Make sure the endian-ness macros are defined correctly.
|
||||||
|
|
||||||
|
- The rectangles in a region probably shouldn't be returned const as
|
||||||
|
the X server will be changing them.
|
||||||
|
|
||||||
|
- Right now we _always_ have a clip region, which is empty by default.
|
||||||
|
Why does this work at all? It probably doesn't. The server
|
||||||
|
distinguishes two cases, one where nothing is clipped (CT_NONE), and
|
||||||
|
one where there is a clip region (CT_REGION).
|
||||||
|
|
||||||
|
- Default clip region should be the full image
|
||||||
|
|
||||||
|
- Test if pseudo color still works. It does, but it also shows that
|
||||||
|
copying a pixman_indexed_t on every composite operation is not
|
||||||
|
going to fly. So, for now set_indexed() does not copy the
|
||||||
|
indexed table.
|
||||||
|
|
||||||
|
Also just the malloc() to allocate a pixman image shows up pretty
|
||||||
|
high.
|
||||||
|
|
||||||
|
Options include
|
||||||
|
|
||||||
|
- Make all the setters not copy their arguments
|
||||||
|
|
||||||
|
- Possibly combined with going back to the stack allocated
|
||||||
|
approach that we already use for regions.
|
||||||
|
|
||||||
|
- Keep a cached pixman_image_t around for every picture. It would
|
||||||
|
have to be kept uptodate every time something changes about the
|
||||||
|
picture.
|
||||||
|
|
||||||
|
- Break the X server ABI and simply have the relevant parameter
|
||||||
|
stored in the pixman image. This would have the additional benefits
|
||||||
|
that:
|
||||||
|
|
||||||
|
- We can get rid of the annoying repeat field which is duplicated
|
||||||
|
elsewhere.
|
||||||
|
|
||||||
|
- We can use pixman_color_t and pixman_gradient_stop_t
|
||||||
|
etc. instead of the types that are defined in
|
||||||
|
renderproto.h
|
||||||
|
|
@ -1,5 +0,0 @@
|
|||||||
.text
|
|
||||||
.arch armv8-a
|
|
||||||
.altmacro
|
|
||||||
prfm pldl2strm, [x0]
|
|
||||||
xtn v0.8b, v0.8h
|
|
7613
aclocal.m4
vendored
Normal file
7613
aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,10 +0,0 @@
|
|||||||
.text
|
|
||||||
.arch armv6
|
|
||||||
.object_arch armv4
|
|
||||||
.arm
|
|
||||||
.altmacro
|
|
||||||
#ifndef __ARM_EABI__
|
|
||||||
#error EABI is required (to be sure that calling conventions are compatible)
|
|
||||||
#endif
|
|
||||||
pld [r0]
|
|
||||||
uqadd8 r0, r0, r0
|
|
12
autogen.sh
Executable file
12
autogen.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
srcdir=`dirname $0`
|
||||||
|
test -z "$srcdir" && srcdir=.
|
||||||
|
|
||||||
|
ORIGDIR=`pwd`
|
||||||
|
cd $srcdir
|
||||||
|
|
||||||
|
autoreconf -v --install || exit 1
|
||||||
|
cd $ORIGDIR || exit $?
|
||||||
|
|
||||||
|
$srcdir/configure --enable-maintainer-mode "$@"
|
142
compile
Executable file
142
compile
Executable file
@ -0,0 +1,142 @@
|
|||||||
|
#! /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 <tromey@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-automake@gnu.org> or send patches to
|
||||||
|
# <automake-patches@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-automake@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:
|
1516
config.guess
vendored
Executable file
1516
config.guess
vendored
Executable file
File diff suppressed because it is too large
Load Diff
65
config.h.in
Normal file
65
config.h.in
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
#undef HAVE_DLFCN_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getisax' function. */
|
||||||
|
#undef HAVE_GETISAX
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#undef PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
/* use MMX compiler intrinsics */
|
||||||
|
#undef USE_MMX
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/* Define to 1 if your processor stores words with the most significant byte
|
||||||
|
first (like Motorola and SPARC, unlike Intel and VAX). */
|
||||||
|
#undef WORDS_BIGENDIAN
|
1626
config.sub
vendored
Executable file
1626
config.sub
vendored
Executable file
File diff suppressed because it is too large
Load Diff
131
configure.ac
Normal file
131
configure.ac
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
dnl Copyright 2005 Red Hat, Inc.
|
||||||
|
dnl
|
||||||
|
dnl Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
dnl documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
dnl the above copyright notice appear in all copies and that both that
|
||||||
|
dnl copyright notice and this permission notice appear in supporting
|
||||||
|
dnl documentation, and that the name of Red Hat not be used in
|
||||||
|
dnl advertising or publicity pertaining to distribution of the software without
|
||||||
|
dnl specific, written prior permission. Red Hat makes no
|
||||||
|
dnl representations about the suitability of this software for any purpose. It
|
||||||
|
dnl is provided "as is" without express or implied warranty.
|
||||||
|
dnl
|
||||||
|
dnl RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||||
|
dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||||
|
dnl EVENT SHALL RED HAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||||
|
dnl CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||||
|
dnl DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||||
|
dnl TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
dnl PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
dnl
|
||||||
|
dnl Process this file with autoconf to create configure.
|
||||||
|
|
||||||
|
AC_PREREQ([2.57])
|
||||||
|
|
||||||
|
# Pixman versioning scheme
|
||||||
|
#
|
||||||
|
# - If the changes don't affect API or ABI, then increment pixman_micro
|
||||||
|
# - If API is added, then increment PIXMAN_MINOR, and set MICRO to 0
|
||||||
|
#
|
||||||
|
# - If you break ABI, then
|
||||||
|
# - In the first development release where you break ABI, find all instances of
|
||||||
|
# "pixman-n" and change it to pixman-(n+1)
|
||||||
|
#
|
||||||
|
# This needs to be done at least in
|
||||||
|
# configure.ac
|
||||||
|
# all Makefile.am's
|
||||||
|
# pixman-n.pc.in
|
||||||
|
#
|
||||||
|
# This ensures that binary incompatible versions can be installed in parallel.
|
||||||
|
# See http://www106.pair.com/rhp/parallel.html for more information
|
||||||
|
#
|
||||||
|
|
||||||
|
m4_define([pixman_major], 0)
|
||||||
|
m4_define([pixman_minor], 9)
|
||||||
|
m4_define([pixman_micro], 5)
|
||||||
|
|
||||||
|
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
|
||||||
|
|
||||||
|
AC_INIT(pixman, pixman_version, "sandmann@daimi.au.dk", pixman)
|
||||||
|
AM_INIT_AUTOMAKE([dist-bzip2])
|
||||||
|
|
||||||
|
AM_CONFIG_HEADER(config.h)
|
||||||
|
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
AC_CHECK_FUNCS([getisax])
|
||||||
|
AC_C_BIGENDIAN
|
||||||
|
|
||||||
|
#
|
||||||
|
# We ignore pixman_major in the version here because the major version should
|
||||||
|
# always be encoded in the actual library name. Ie., the soname is:
|
||||||
|
#
|
||||||
|
# pixman-$(pixman_major).0.minor.micro
|
||||||
|
#
|
||||||
|
m4_define([lt_current], [pixman_minor])
|
||||||
|
m4_define([lt_revision], [pixman_micro])
|
||||||
|
m4_define([lt_age], [pixman_minor])
|
||||||
|
|
||||||
|
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
|
||||||
|
|
||||||
|
PIXMAN_MAJOR=pixman_major
|
||||||
|
AC_SUBST(PIXMAN_MAJOR)
|
||||||
|
|
||||||
|
AC_SUBST(LT_VERSION_INFO)
|
||||||
|
|
||||||
|
# Check for dependencies
|
||||||
|
#PKG_CHECK_MODULES(DEP, x11)
|
||||||
|
|
||||||
|
changequote(,)dnl
|
||||||
|
if test "x$GCC" = "xyes"; then
|
||||||
|
case " $CFLAGS " in
|
||||||
|
*[\ \ ]-Wall[\ \ ]*) ;;
|
||||||
|
*) CFLAGS="$CFLAGS -Wall" ;;
|
||||||
|
esac fi changequote([,])dnl
|
||||||
|
|
||||||
|
dnl ===========================================================================
|
||||||
|
dnl Check for MMX
|
||||||
|
|
||||||
|
MMX_CFLAGS="-mmmx -msse -Winline --param inline-unit-growth=10000 --param large-function-growth=10000"
|
||||||
|
|
||||||
|
have_mmx_intrinsics=no
|
||||||
|
AC_MSG_CHECKING(For MMX/SSE intrinsics in the compiler)
|
||||||
|
xserver_save_CFLAGS=$CFLAGS
|
||||||
|
CFLAGS="$CFLAGS $MMX_CFLAGS"
|
||||||
|
AC_COMPILE_IFELSE([
|
||||||
|
#if defined(__GNUC__) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 4))
|
||||||
|
#error "Need GCC >= 3.4 for MMX intrinsics"
|
||||||
|
#endif
|
||||||
|
#include <mmintrin.h>
|
||||||
|
#include <xmmintrin.h>
|
||||||
|
int main () {
|
||||||
|
__m64 v = _mm_cvtsi32_si64 (1);
|
||||||
|
v = _mm_shuffle_pi16 (v, _MM_SHUFFLE(3, 3, 3, 3));
|
||||||
|
return _mm_cvtsi64_si32 (v);
|
||||||
|
}], have_mmx_intrinsics=yes)
|
||||||
|
CFLAGS=$xserver_save_CFLAGS
|
||||||
|
AC_MSG_RESULT($have_mmx_intrinsics)
|
||||||
|
|
||||||
|
if test $have_mmx_intrinsics = yes ; then
|
||||||
|
AC_DEFINE(USE_MMX, 1, [use MMX compiler intrinsics])
|
||||||
|
else
|
||||||
|
MMX_CFLAGS=
|
||||||
|
fi
|
||||||
|
AC_SUBST(MMX_CFLAGS)
|
||||||
|
|
||||||
|
AM_CONDITIONAL(USE_MMX, test $have_mmx_intrinsics = yes)
|
||||||
|
|
||||||
|
dnl ========================================================
|
||||||
|
|
||||||
|
PKG_CHECK_MODULES(GTK, [gtk+-2.0], [HAVE_GTK=yes], [HAVE_GTK=no])
|
||||||
|
AM_CONDITIONAL(HAVE_GTK, [test "x$HAVE_GTK" = xyes])
|
||||||
|
|
||||||
|
AC_SUBST(GTK_CFLAGS)
|
||||||
|
AC_SUBST(GTK_LIBS)
|
||||||
|
AC_SUBST(DEP_CFLAGS)
|
||||||
|
AC_SUBST(DEP_LIBS)
|
||||||
|
|
||||||
|
AC_OUTPUT([pixman-1.pc
|
||||||
|
Makefile
|
||||||
|
pixman/Makefile
|
||||||
|
test/Makefile])
|
3
debian/README.source
vendored
3
debian/README.source
vendored
@ -1,3 +0,0 @@
|
|||||||
This package uses quilt to manage modifications to the upstream source. See
|
|
||||||
/usr/share/doc/quilt/README.source for details.
|
|
||||||
|
|
545
debian/changelog
vendored
545
debian/changelog
vendored
@ -1,548 +1,3 @@
|
|||||||
pixman (0.44.0-4) UNRELEASED; urgency=medium
|
|
||||||
|
|
||||||
* Team upload.
|
|
||||||
* debian/copyright: Convert to machine-readable format
|
|
||||||
|
|
||||||
-- Dylan Aïssi <daissi@debian.org> Thu, 31 Jul 2025 22:16:23 +0200
|
|
||||||
|
|
||||||
pixman (0.44.0-3) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Replace timeout bump patch by using a multiplier option instead.
|
|
||||||
Thanks, Aurelien Jarno! (Closes: #1086999)
|
|
||||||
|
|
||||||
-- Timo Aaltonen <tjaalton@debian.org> Sat, 09 Nov 2024 11:02:55 +0200
|
|
||||||
|
|
||||||
pixman (0.44.0-2) unstable; urgency=medium
|
|
||||||
|
|
||||||
* patches: Increase test timeout 120->240s. (Closes: #1086999)
|
|
||||||
|
|
||||||
-- Timo Aaltonen <tjaalton@debian.org> Fri, 08 Nov 2024 09:58:04 +0200
|
|
||||||
|
|
||||||
pixman (0.44.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* patches: Refresh patch.
|
|
||||||
* control, rules: Build with meson.
|
|
||||||
* symbols: Updated.
|
|
||||||
* control: Migrate to pkgconf.
|
|
||||||
* rules: Drop obsolete dbgsym-migration.
|
|
||||||
|
|
||||||
-- Timo Aaltonen <tjaalton@debian.org> Thu, 07 Nov 2024 16:48:29 +0200
|
|
||||||
|
|
||||||
pixman (0.42.2-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* d/p/Avoid-integer-overflow-leading-to-out-of-bounds-writ.diff:
|
|
||||||
- Removed, fixed upstream.
|
|
||||||
|
|
||||||
-- Emilio Pozuelo Monfort <pochu@debian.org> Fri, 11 Nov 2022 13:42:25 +0100
|
|
||||||
|
|
||||||
pixman (0.40.0-1.1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Non-maintainer upload.
|
|
||||||
* Avoid integer overflow leading to out-of-bounds write (CVE-2022-44638)
|
|
||||||
(Closes: #1023427)
|
|
||||||
|
|
||||||
-- Salvatore Bonaccorso <carnil@debian.org> Thu, 03 Nov 2022 23:07:46 +0100
|
|
||||||
|
|
||||||
pixman (0.40.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release. (Closes: #958298, #832579, #838650)
|
|
||||||
* control, rules: Migrate to debhelper-compat, bump to 13.
|
|
||||||
* symbols: Updated, bump shlibs.
|
|
||||||
|
|
||||||
-- Timo Aaltonen <tjaalton@debian.org> Thu, 03 Dec 2020 15:28:13 +0200
|
|
||||||
|
|
||||||
pixman (0.36.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Update to my Debian address.
|
|
||||||
* Update Vcs-* URLs to point to salsa.debian.org.
|
|
||||||
* Use https URL in debian/copyright.
|
|
||||||
* Set source format to 1.0.
|
|
||||||
* Bump debhelper compat to 11.
|
|
||||||
* Bump standards version to 4.2.1.
|
|
||||||
|
|
||||||
-- Andreas Boll <aboll@debian.org> Wed, 12 Dec 2018 22:02:44 +0100
|
|
||||||
|
|
||||||
pixman (0.34.0-2) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Declare Multi-Arch: same for libpixman-1-dev (Closes: #884166).
|
|
||||||
* Switch to dbsym package.
|
|
||||||
* Stop passing --disable-silent-rules to configure, debhelper does it
|
|
||||||
now.
|
|
||||||
* Bump standards version to 4.1.2.
|
|
||||||
|
|
||||||
-- Andreas Boll <andreas.boll.dev@gmail.com> Sun, 17 Dec 2017 13:33:55 +0100
|
|
||||||
|
|
||||||
pixman (0.34.0-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Team upload.
|
|
||||||
* New upstream release (no actual changes)
|
|
||||||
* Use https URL in debian/watch.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 24 Sep 2016 13:25:16 +0200
|
|
||||||
|
|
||||||
pixman (0.33.6-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release candidate.
|
|
||||||
* Add myself to Uploaders.
|
|
||||||
|
|
||||||
-- Andreas Boll <andreas.boll.dev@gmail.com> Thu, 14 Jan 2016 13:46:28 +0100
|
|
||||||
|
|
||||||
pixman (0.33.4-1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Team upload.
|
|
||||||
* New upstream release candidate.
|
|
||||||
|
|
||||||
-- Andreas Boll <andreas.boll.dev@gmail.com> Wed, 04 Nov 2015 13:26:18 +0100
|
|
||||||
|
|
||||||
pixman (0.33.2-2) sid; urgency=medium
|
|
||||||
|
|
||||||
* Run tests with VERBOSE=1.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 12 Sep 2015 20:31:06 +0200
|
|
||||||
|
|
||||||
pixman (0.33.2-1) sid; urgency=medium
|
|
||||||
|
|
||||||
[ Andreas Boll ]
|
|
||||||
* New upstream release candidate.
|
|
||||||
* Enable vmx on ppc64el (closes: #786345).
|
|
||||||
* Update Vcs-* fields.
|
|
||||||
* Add upstream url.
|
|
||||||
* Drop XC- prefix from Package-Type field.
|
|
||||||
* Bump standards version to 3.9.6.
|
|
||||||
|
|
||||||
[ intrigeri ]
|
|
||||||
* Simplify hardening build flags handling (closes: #760100).
|
|
||||||
Thanks to Simon Ruderich <simon@ruderich.org> for the patch.
|
|
||||||
* Enable all hardening build flags. Thanks to Simon Ruderich too.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 12 Sep 2015 13:08:02 +0200
|
|
||||||
|
|
||||||
pixman (0.32.6-3) sid; urgency=medium
|
|
||||||
|
|
||||||
[ intrigeri ]
|
|
||||||
* Enable hardening build flags with dpkg-buildflags.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 23 Aug 2014 22:16:40 -0700
|
|
||||||
|
|
||||||
pixman (0.32.6-2) sid; urgency=medium
|
|
||||||
|
|
||||||
[ Julien Cristau ]
|
|
||||||
* Disable vmx on ppc64el (closes: #745547). Thanks, Breno Leitao!
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Mon, 18 Aug 2014 22:50:39 +0200
|
|
||||||
|
|
||||||
pixman (0.32.6-1) sid; urgency=medium
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bump debhelper compat level to 9.
|
|
||||||
* Remove Cyril from Uploaders.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 13 Jul 2014 16:31:06 +0200
|
|
||||||
|
|
||||||
pixman (0.32.4-1) sid; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Tue, 17 Dec 2013 22:04:15 +0100
|
|
||||||
|
|
||||||
pixman (0.30.2-2) sid; urgency=low
|
|
||||||
|
|
||||||
* Cherry-pick upstream bigfixes for fixing a crash when rendering
|
|
||||||
invalid trapezoids. (LP: #1197921)
|
|
||||||
Addresses CVE-2013-6425.
|
|
||||||
|
|
||||||
-- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Mon, 18 Nov 2013 15:08:56 +0100
|
|
||||||
|
|
||||||
pixman (0.30.2-1) sid; urgency=low
|
|
||||||
|
|
||||||
* New upstream release
|
|
||||||
- includes big-endian matrix-test fix
|
|
||||||
* Increase alpha-loop test timeout some more.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Tue, 13 Aug 2013 12:08:18 +0200
|
|
||||||
|
|
||||||
pixman (0.30.0-3) sid; urgency=low
|
|
||||||
|
|
||||||
* Increase timeout for the alpha-loop test. That will hopefully let it pass
|
|
||||||
on the mips buildd.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 03 Aug 2013 10:24:29 +0200
|
|
||||||
|
|
||||||
pixman (0.30.0-2) sid; urgency=low
|
|
||||||
|
|
||||||
* Disable silent Makefile rules.
|
|
||||||
* Disable arm iwmmxt fast paths. It breaks the build.
|
|
||||||
* Fix matrix-test on big endian (patch from Siarhei Siamashka).
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 27 Jul 2013 21:40:48 +0200
|
|
||||||
|
|
||||||
pixman (0.30.0-1) sid; urgency=low
|
|
||||||
|
|
||||||
[ Maarten Lankhorst, Cyril Brulebois, Julien Cristau ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Fri, 26 Jul 2013 14:58:25 +0200
|
|
||||||
|
|
||||||
pixman (0.26.0-4) sid; urgency=high
|
|
||||||
|
|
||||||
* Fix for CVE-2013-1591 (stack-based buffer overflow), cherry-picked from
|
|
||||||
0.27.4 (closes: #700308).
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Mon, 18 Feb 2013 19:58:33 +0100
|
|
||||||
|
|
||||||
pixman (0.26.0-3) unstable; urgency=low
|
|
||||||
|
|
||||||
* Pass LS_CFLAGS=" " to configure to prevent -march=loongson2f from
|
|
||||||
being passed to gcc, which would break on loongson2e (see fdo bug
|
|
||||||
#51451). This fixes the test suite failures on mipsel, and should
|
|
||||||
avoid any crashes depending on user systems.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Jun 2012 12:11:54 +0200
|
|
||||||
|
|
||||||
pixman (0.26.0-2) unstable; urgency=low
|
|
||||||
|
|
||||||
* Cherry-pick from upstream master branch to fix FTBFS on *i386:
|
|
||||||
- da6193b1fc “mmx: add missing _mm_empty calls”
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Fri, 15 Jun 2012 01:25:20 +0200
|
|
||||||
|
|
||||||
pixman (0.26.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Fri, 15 Jun 2012 00:16:47 +0200
|
|
||||||
|
|
||||||
pixman (0.25.6-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release candidate.
|
|
||||||
* Remove demos/parrot.jpg before building the source package to avoid
|
|
||||||
“binary file contents changed” until it's shipped in the upstream
|
|
||||||
tarball.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Sun, 20 May 2012 17:56:35 +0200
|
|
||||||
|
|
||||||
pixman (0.25.2-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release candidate.
|
|
||||||
* Add new symbols and bump shlibs accordingly:
|
|
||||||
- pixman_region32_clear
|
|
||||||
- pixman_region_clear
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Fri, 09 Mar 2012 13:17:16 +0100
|
|
||||||
|
|
||||||
pixman (0.24.4-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release
|
|
||||||
- Revert "Reject trapezoids where top (botttom) is above (below) the
|
|
||||||
edges" (closes: #656682)
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Thu, 09 Feb 2012 21:16:47 +0100
|
|
||||||
|
|
||||||
pixman (0.24.2-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release:
|
|
||||||
- Stable bug fix release from the 0.24 branch.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Thu, 19 Jan 2012 12:22:54 +0100
|
|
||||||
|
|
||||||
pixman (0.24.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Mon, 07 Nov 2011 18:13:47 +0100
|
|
||||||
|
|
||||||
pixman (0.23.8-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Tue, 01 Nov 2011 12:29:16 +0100
|
|
||||||
|
|
||||||
pixman (0.23.6-1) experimental; urgency=low
|
|
||||||
|
|
||||||
[ Rico Tzschichholz ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 22 Oct 2011 11:09:04 +0200
|
|
||||||
|
|
||||||
pixman (0.23.2-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Enable parallel building (by passing --parallel to dh $@).
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Tue, 05 Jul 2011 01:37:27 +0200
|
|
||||||
|
|
||||||
pixman (0.22.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* Team upload.
|
|
||||||
|
|
||||||
[ Steve Langasek ]
|
|
||||||
* Build for multiarch.
|
|
||||||
|
|
||||||
[ Julien Cristau ]
|
|
||||||
* Bump Standards-Version to 3.9.2.
|
|
||||||
* New upstream release (no changes from 0.21.8 except for the version bump).
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 12 Jun 2011 17:02:01 +0200
|
|
||||||
|
|
||||||
pixman (0.21.8-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* As seen in the upstream announcement: “When this version of pixman is
|
|
||||||
used with the git version of the X server, trapezoid rendering will be
|
|
||||||
corrupted. This is a known bug in the X server.”
|
|
||||||
* This new release should fix the FTBFS on big endian machines, tests
|
|
||||||
were failing due to missing swapping (Closes: #622211).
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Fri, 29 Apr 2011 17:53:12 +0200
|
|
||||||
|
|
||||||
pixman (0.21.6-2) unstable; urgency=low
|
|
||||||
|
|
||||||
* Upload to unstable.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Sun, 10 Apr 2011 23:08:36 +0200
|
|
||||||
|
|
||||||
pixman (0.21.6-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Update symbols file with new symbols.
|
|
||||||
* Bump shlibs accordingly.
|
|
||||||
* Wrap Build-Depends.
|
|
||||||
* Remove libpixman1-dev from Conflicts, last seen in etch!
|
|
||||||
* Update Uploaders list. Thanks, David!
|
|
||||||
* Switch to dh:
|
|
||||||
- Use debhelper 8.
|
|
||||||
- Use dh-autoreconf.
|
|
||||||
- Kill .la files.
|
|
||||||
- Switch dh_install from --list-missing to --fail-missing for
|
|
||||||
additionaly safety.
|
|
||||||
* Add a quilt series placeholder file.
|
|
||||||
* Bump Standards-Version to 3.9.1 (no changes needed).
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Wed, 09 Mar 2011 04:08:02 +0100
|
|
||||||
|
|
||||||
pixman (0.21.4-2) unstable; urgency=low
|
|
||||||
|
|
||||||
* Upload to unstable.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Sun, 06 Feb 2011 05:31:10 +0100
|
|
||||||
|
|
||||||
pixman (0.21.4-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Update debian/copyright from upstream's COPYING.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Wed, 19 Jan 2011 20:31:26 +0100
|
|
||||||
|
|
||||||
pixman (0.21.2-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Update debian/copyright from upstream's COPYING.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Wed, 17 Nov 2010 15:56:46 +0100
|
|
||||||
|
|
||||||
pixman (0.20.0-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Sat, 06 Nov 2010 10:00:54 +0100
|
|
||||||
|
|
||||||
pixman (0.19.6-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bump SHLIBS_VERSION from 0.18.0 to 0.19.4 for newly-added functions.
|
|
||||||
* Update symbols file with newly-added functions.
|
|
||||||
* Add -c4 to the dh_makeshlibs call, to ensure the build breaks if
|
|
||||||
unexpected symbol-related changes happened.
|
|
||||||
* As of pixman-0.19.2-5-g5b99710, Gtk+ is auto-detected, make sure not
|
|
||||||
to pick it accidentally, by passing --disable-gtk. (That's only for
|
|
||||||
test purposes, but would require pixman-1 itself.)
|
|
||||||
* Enable the testsuite.
|
|
||||||
* Add myself to Uploaders.
|
|
||||||
|
|
||||||
-- Cyril Brulebois <kibi@debian.org> Wed, 27 Oct 2010 23:14:00 +0200
|
|
||||||
|
|
||||||
pixman (0.18.4-1) experimental; urgency=low
|
|
||||||
|
|
||||||
[ Robert Hooker ]
|
|
||||||
* New upstream stable release.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Mon, 06 Sep 2010 21:15:07 +0200
|
|
||||||
|
|
||||||
pixman (0.18.2-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream stable release. Changes since 0.18.0:
|
|
||||||
- b48d8b5... Pre-release version bump to 0.18.2
|
|
||||||
- 970c183... Add macros for thread local storage on MinGW 32
|
|
||||||
- 61ff1a3... Don't use __thread on MinGW.
|
|
||||||
- f973be4... Don't consider indexed formats opaque.
|
|
||||||
- 34fb385... Add missing HAVE_CONFIG_H guards for config.h inclusion
|
|
||||||
- 38928af... Update README to mention the pixman mailing list
|
|
||||||
- 6649842... [mmx] Fix mask creation bugs
|
|
||||||
- d197dc5... Fixes for pthread thread local storage.
|
|
||||||
- 9babaab... Fix uninitialized cache when pthreads are used
|
|
||||||
- 4fe0a40... Visual Studio 2010 includes stdint.h
|
|
||||||
- 9a46edd... Post-release version bump to 0.18.1
|
|
||||||
|
|
||||||
-- Robert Hooker <sarvatt@ubuntu.com> Fri, 14 May 2010 13:03:42 -0400
|
|
||||||
|
|
||||||
pixman (0.18.0-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* Rename the build directory to not include DEB_BUILD_GNU_TYPE for no
|
|
||||||
good reason. Thanks, Colin Watson!
|
|
||||||
* Remove myself from Uploaders
|
|
||||||
* New upstream release (closes: #579014).
|
|
||||||
* Update symbols file for new API, bump shlibs.
|
|
||||||
* Drop pixman-arm-don-t-use-env-vars-to-get-hwcap-platform.patch, obsolete.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Tue, 11 May 2010 14:16:09 +0200
|
|
||||||
|
|
||||||
pixman (0.16.4-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Add dependencies on ${misc:Depends} (lintian).
|
|
||||||
* Bump Standards-Version to 3.8.3.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sat, 02 Jan 2010 11:26:29 +0000
|
|
||||||
|
|
||||||
pixman (0.16.2-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release (closes: #546849).
|
|
||||||
* Upload to unstable.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Mon, 28 Sep 2009 18:12:47 +0200
|
|
||||||
|
|
||||||
pixman (0.15.20-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release candidate.
|
|
||||||
* Bump shlibs and update symbols file for
|
|
||||||
pixman_disable_out_of_bounds_workaround and new formats.
|
|
||||||
* Add patch to disable use of env vars to force hwcap and platform on arm.
|
|
||||||
* Add README.source with a pointer to the quilt package.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 23 Aug 2009 12:44:59 +0200
|
|
||||||
|
|
||||||
pixman (0.15.14-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* Update debian/copyright from upstream COPYING (closes: #519078). Thanks,
|
|
||||||
Jo Shields!
|
|
||||||
* New upstream development release.
|
|
||||||
* Enable arm simd, we can do runtime detection now.
|
|
||||||
* Update symbols file and bump shlibs for new version.
|
|
||||||
* Run dh_shlibdeps after dh_installdeb to avoid a dpkg-shlibdeps warning.
|
|
||||||
* Move libpixman-1-0-dbg to new 'debug' section.
|
|
||||||
* Add ~ to pixman_image_set_source_clipping version in symbols file, to make
|
|
||||||
lintian happy.
|
|
||||||
* Don't handle nostrip explicitly in debian/rules, dh_strip does that for
|
|
||||||
us.
|
|
||||||
* Use filter instead of findstring for DEB_BUILD_OPTIONS parsing, as
|
|
||||||
standardized by policy 3.8.0.
|
|
||||||
* Handle parallel=n in DEB_BUILD_OPTIONS.
|
|
||||||
* Bump Standards-Version to 3.8.2.
|
|
||||||
* Version the build-dep on debhelper to silence lintian.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Wed, 24 Jun 2009 21:13:07 +0200
|
|
||||||
|
|
||||||
pixman (0.14.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
[ Brice Goglin ]
|
|
||||||
* Update upstream URL in debian/copyright.
|
|
||||||
* Install the upstream ChangeLog.
|
|
||||||
|
|
||||||
[ Julien Cristau ]
|
|
||||||
* New upstream release.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 15 Feb 2009 23:01:14 +0100
|
|
||||||
|
|
||||||
pixman (0.13.2-1) experimental; urgency=low
|
|
||||||
|
|
||||||
[ Timo Aaltonen ]
|
|
||||||
* New upstream release.
|
|
||||||
* Update libpixman-1-0.symbols with new symbols.
|
|
||||||
|
|
||||||
[ Julien Cristau ]
|
|
||||||
* Don't use ARM SIMD code. It doesn't do runtime detection, and will only
|
|
||||||
work on ARMv6.
|
|
||||||
* Fix shlibs for the udeb.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 04 Jan 2009 21:39:31 +0100
|
|
||||||
|
|
||||||
pixman (0.12.0-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bump pixman_format_supported_source's version in the symbols file, depth
|
|
||||||
30 formats were added in 0.11.10.
|
|
||||||
* Bump shlibs to 0.11.10 as well.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 21 Sep 2008 17:01:01 +0200
|
|
||||||
|
|
||||||
pixman (0.11.8-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream development release.
|
|
||||||
* Bump versions for pixman_image_create_bits and
|
|
||||||
pixman_format_supported_destination, as some formats were added in 0.11.6.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Fri, 18 Jul 2008 15:21:17 +0200
|
|
||||||
|
|
||||||
pixman (0.11.6-1) experimental; urgency=low
|
|
||||||
|
|
||||||
* New upstream development release.
|
|
||||||
* Bump shlibs and update symbols files.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Tue, 15 Jul 2008 21:36:11 +0200
|
|
||||||
|
|
||||||
pixman (0.10.0-2) unstable; urgency=low
|
|
||||||
|
|
||||||
[ Frans Pop ]
|
|
||||||
* Add libpixman-1-0-udeb (needed for cairo). Closes: #476480.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Thu, 17 Apr 2008 14:08:20 +0200
|
|
||||||
|
|
||||||
pixman (0.10.0-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release.
|
|
||||||
* Bump shlibs to 0.10.0.
|
|
||||||
* Run autoreconf at build-time.
|
|
||||||
Build-depend on automake, autoconf, libtool and pkg-config. Drop patch
|
|
||||||
for maintainer mode, and drop build-dep on quilt and corresponding code in
|
|
||||||
debian/rules. Add new rules autogen and config, where we run autoreconf
|
|
||||||
and configure, respectively. Update clean rule to remove files generated
|
|
||||||
by autogen.
|
|
||||||
* Add symbols file for libpixman-1-0.
|
|
||||||
* Bump Standards-Version to 3.7.3.
|
|
||||||
* Add Vcs-Git and Vcs-Browser control fields.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Fri, 04 Apr 2008 14:31:30 +0200
|
|
||||||
|
|
||||||
pixman (0.9.6-1) unstable; urgency=low
|
|
||||||
|
|
||||||
* New upstream release (closes: #452734).
|
|
||||||
+ 02_no-sse.diff: remove, fix included upstream;
|
|
||||||
+ 03_fbFetchTransformed_64bit_fix.diff: remove, 64bit issues should be
|
|
||||||
fixed too.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Sun, 25 Nov 2007 00:41:31 +0100
|
|
||||||
|
|
||||||
pixman (0.9.5-3) unstable; urgency=low
|
|
||||||
|
|
||||||
* Add patch by Francis Whittle from upstream bug#12398
|
|
||||||
(https://bugs.freedesktop.org/attachment.cgi?id=11896) to fix arithmetic
|
|
||||||
bug in fbFetchTransformed (causing X crashes on 64bit); closes: #444457.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Tue, 16 Oct 2007 09:52:16 +0200
|
|
||||||
|
|
||||||
pixman (0.9.5-2) unstable; urgency=high
|
|
||||||
|
|
||||||
* High urgency for RC bugfix.
|
|
||||||
* Don't use -msse, to prevent gcc 4.2 from generating SSE instructions for
|
|
||||||
its builtin functions, the X server from going SIGILL on CPUs supporting
|
|
||||||
MMX but not SSE, and us from losing (closes: #442829).
|
|
||||||
* Enable maintainer mode in configure.ac.
|
|
||||||
|
|
||||||
-- Julien Cristau <jcristau@debian.org> Wed, 19 Sep 2007 23:21:46 +0200
|
|
||||||
|
|
||||||
pixman (0.9.5-1) unstable; urgency=low
|
pixman (0.9.5-1) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream release (no actual changes since 0.9.4-2, just new upstream
|
* New upstream release (no actual changes since 0.9.4-2, just new upstream
|
||||||
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
5
|
41
debian/control
vendored
41
debian/control
vendored
@ -2,49 +2,34 @@ Source: pixman
|
|||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
||||||
Uploaders: Andreas Boll <aboll@debian.org>
|
Uploaders: Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>
|
||||||
Build-Depends:
|
Build-Depends: quilt, debhelper
|
||||||
debhelper-compat (= 13),
|
Standards-Version: 3.7.2
|
||||||
meson,
|
|
||||||
pkgconf,
|
|
||||||
quilt,
|
|
||||||
Standards-Version: 4.2.1
|
|
||||||
Vcs-Git: https://salsa.debian.org/xorg-team/lib/pixman.git
|
|
||||||
Vcs-Browser: https://salsa.debian.org/xorg-team/lib/pixman
|
|
||||||
Homepage: http://pixman.org/
|
|
||||||
|
|
||||||
Package: libpixman-1-0
|
Package: libpixman-1-0
|
||||||
Section: libs
|
Section: libs
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends:
|
Depends: ${shlibs:Depends}
|
||||||
${shlibs:Depends},
|
|
||||||
${misc:Depends},
|
|
||||||
Pre-Depends: ${misc:Pre-Depends}
|
|
||||||
Multi-Arch: same
|
|
||||||
Description: pixel-manipulation library for X and cairo
|
Description: pixel-manipulation library for X and cairo
|
||||||
A library for manipulating pixel regions -- a set of Y-X banded
|
A library for manipulating pixel regions -- a set of Y-X banded
|
||||||
rectangles, image compositing using the Porter/Duff model
|
rectangles, image compositing using the Porter/Duff model
|
||||||
and implicit mask generation for geometric primitives including
|
and implicit mask generation for geometric primitives including
|
||||||
trapezoids, triangles, and rectangles.
|
trapezoids, triangles, and rectangles.
|
||||||
|
|
||||||
Package: libpixman-1-0-udeb
|
Package: libpixman-1-0-dbg
|
||||||
Section: debian-installer
|
Section: libdevel
|
||||||
Package-Type: udeb
|
Priority: extra
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends:
|
Depends: libpixman-1-0 (= ${binary:Version})
|
||||||
${shlibs:Depends},
|
Description: pixel-manipulation library for X and cairo (debugging symbols)
|
||||||
${misc:Depends},
|
Debugging symbols for the Cairo/X pixel manipulation library. This is
|
||||||
Description: pixel-manipulation library for X and cairo
|
needed to debug programs linked against libpixman0.
|
||||||
This package contains a minimal set of libraries needed for the Debian
|
|
||||||
installer. Do not install it on a normal system.
|
|
||||||
|
|
||||||
Package: libpixman-1-dev
|
Package: libpixman-1-dev
|
||||||
Section: libdevel
|
Section: libdevel
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends:
|
Depends: libpixman-1-0 (= ${binary:Version})
|
||||||
libpixman-1-0 (= ${binary:Version}),
|
Conflicts: libpixman1-dev
|
||||||
${misc:Depends},
|
|
||||||
Multi-Arch: same
|
|
||||||
Description: pixel-manipulation library for X and cairo (development files)
|
Description: pixel-manipulation library for X and cairo (development files)
|
||||||
Development libraries, header files and documentation needed by
|
Development libraries, header files and documentation needed by
|
||||||
programs that want to compile with the Cairo/X pixman library.
|
programs that want to compile with the Cairo/X pixman library.
|
||||||
|
113
debian/copyright
vendored
113
debian/copyright
vendored
@ -1,48 +1,71 @@
|
|||||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
Debian packaging by Julien Cristau <jcristau@debian.org>, 18 May 2007.
|
||||||
Upstream-Name: pixman
|
Downloaded from git://anongit.freedesktop.org/git/pixman.
|
||||||
Source: https://gitlab.freedesktop.org/pixman/pixman
|
|
||||||
License: Expat
|
|
||||||
|
|
||||||
Files: *
|
Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||||
Copyright: 1987-1998 The Open Group
|
2005 Lars Knoll & Zack Rusin, Trolltech
|
||||||
1987-1989 Digital Equipment Corporation
|
Copyright © 2000 SuSE, Inc.
|
||||||
1999-2008 Keith Packard
|
Copyright © 2007 Red Hat, Inc.
|
||||||
2000 SuSE, Inc.
|
Copyright © 1998 Keith Packard
|
||||||
2000 Keith Packard, member of The XFree86 Project, Inc.
|
|
||||||
2004-2010 Red Hat, Inc.
|
|
||||||
2004 Nicholas Miell
|
|
||||||
2005 Lars Knoll & Zack Rusin, Trolltech
|
|
||||||
2005 Trolltech AS
|
|
||||||
2007 Luca Barbato
|
|
||||||
2008 Aaron Plattner, NVIDIA Corporation
|
|
||||||
2008 Rodrigo Kumpera
|
|
||||||
2008 André Tupinambá
|
|
||||||
2008 Mozilla Corporation
|
|
||||||
2008 Frederic Plourde
|
|
||||||
2009, Oracle and/or its affiliates. All rights reserved.
|
|
||||||
2009-2010 Nokia Corporation
|
|
||||||
License: Expat
|
|
||||||
|
|
||||||
Files: debian/*
|
Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
Copyright: 2007 Julien Cristau <jcristau@debian.org>
|
documentation for any purpose is hereby granted without fee, provided that
|
||||||
License: Expat
|
the above copyright notice appear in all copies and that both that
|
||||||
|
copyright notice and this permission notice appear in supporting
|
||||||
|
documentation, and that the name of the copyright holders not be used in
|
||||||
|
advertising or publicity pertaining to distribution of the software without
|
||||||
|
specific, written prior permission. The copyright holders make no
|
||||||
|
representations about the suitability of this software for any purpose. It
|
||||||
|
is provided "as is" without express or implied warranty.
|
||||||
|
|
||||||
|
THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||||
|
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
||||||
|
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||||
|
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
Copyright 1987, 1988, 1989, 1998 The Open Group
|
||||||
|
|
||||||
|
Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
the above copyright notice appear in all copies and that both that
|
||||||
|
copyright notice and this permission notice appear in supporting
|
||||||
|
documentation.
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||||
|
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of The Open Group shall not be
|
||||||
|
used in advertising or otherwise to promote the sale, use or other dealings
|
||||||
|
in this Software without prior written authorization from The Open Group.
|
||||||
|
|
||||||
|
Copyright 1987, 1988, 1989 by
|
||||||
|
Digital Equipment Corporation, Maynard, Massachusetts.
|
||||||
|
|
||||||
|
All Rights Reserved
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and distribute this software and its
|
||||||
|
documentation for any purpose and without fee is hereby granted,
|
||||||
|
provided that the above copyright notice appear in all copies and that
|
||||||
|
both that copyright notice and this permission notice appear in
|
||||||
|
supporting documentation, and that the name of Digital not be
|
||||||
|
used in advertising or publicity pertaining to distribution of the
|
||||||
|
software without specific, written prior permission.
|
||||||
|
|
||||||
|
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||||
|
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||||
|
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||||
|
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
License: Expat
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
copy of this software and associated documentation files (the "Software"),
|
|
||||||
to deal in the Software without restriction, including without limitation
|
|
||||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
Software is furnished to do so, subject to the following conditions:
|
|
||||||
.
|
|
||||||
The above copyright notice and this permission notice (including the next
|
|
||||||
paragraph) shall be included in all copies or substantial portions of the
|
|
||||||
Software.
|
|
||||||
.
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
||||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
||||||
DEALINGS IN THE SOFTWARE.
|
|
||||||
|
1
debian/libpixman-1-0-udeb.install
vendored
1
debian/libpixman-1-0-udeb.install
vendored
@ -1 +0,0 @@
|
|||||||
usr/lib/*/libpixman-1.so.* /usr/lib
|
|
2
debian/libpixman-1-0.install
vendored
2
debian/libpixman-1-0.install
vendored
@ -1 +1 @@
|
|||||||
usr/lib/*/libpixman-1.so.*
|
usr/lib/libpixman-1.so.*
|
||||||
|
2
debian/libpixman-1-0.lintian-overrides
vendored
2
debian/libpixman-1-0.lintian-overrides
vendored
@ -1,2 +0,0 @@
|
|||||||
libpixman-1-0: symbols-declares-dependency-on-other-package libpixman-1-0-private
|
|
||||||
|
|
1
debian/libpixman-1-0.shlibs
vendored
Normal file
1
debian/libpixman-1-0.shlibs
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
libpixman-1 0 libpixman-1-0 (>= 0.9.4-2)
|
153
debian/libpixman-1-0.symbols
vendored
153
debian/libpixman-1-0.symbols
vendored
@ -1,153 +0,0 @@
|
|||||||
libpixman-1.so.0 libpixman-1-0 #MINVER#
|
|
||||||
| libpixman-1-0-private
|
|
||||||
_pixman_internal_only_get_implementation@Base 0 1
|
|
||||||
pixman_add_trapezoids@Base 0
|
|
||||||
pixman_add_traps@Base 0
|
|
||||||
pixman_add_triangles@Base 0.21.6
|
|
||||||
pixman_blt@Base 0
|
|
||||||
pixman_composite_glyphs@Base 0.27.2
|
|
||||||
pixman_composite_glyphs_no_mask@Base 0.27.2
|
|
||||||
pixman_composite_trapezoids@Base 0.21.6
|
|
||||||
pixman_composite_triangles@Base 0.21.6
|
|
||||||
pixman_compute_composite_region@Base 0
|
|
||||||
pixman_disable_out_of_bounds_workaround@Base 0.15.16
|
|
||||||
pixman_edge_init@Base 0
|
|
||||||
pixman_edge_step@Base 0
|
|
||||||
pixman_f_transform_bounds@Base 0.13.2
|
|
||||||
pixman_f_transform_from_pixman_transform@Base 0.13.2
|
|
||||||
pixman_f_transform_init_identity@Base 0.13.2
|
|
||||||
pixman_f_transform_init_rotate@Base 0.13.2
|
|
||||||
pixman_f_transform_init_scale@Base 0.13.2
|
|
||||||
pixman_f_transform_init_translate@Base 0.13.2
|
|
||||||
pixman_f_transform_invert@Base 0.13.2
|
|
||||||
pixman_f_transform_multiply@Base 0.13.2
|
|
||||||
pixman_f_transform_point@Base 0.13.2
|
|
||||||
pixman_f_transform_point_3d@Base 0.13.2
|
|
||||||
pixman_f_transform_rotate@Base 0.13.2
|
|
||||||
pixman_f_transform_scale@Base 0.13.2
|
|
||||||
pixman_f_transform_translate@Base 0.13.2
|
|
||||||
pixman_fill@Base 0
|
|
||||||
pixman_filter_create_separable_convolution@Base 0.30.0
|
|
||||||
pixman_format_supported_destination@Base 0.15.16
|
|
||||||
pixman_format_supported_source@Base 0.15.16
|
|
||||||
pixman_glyph_cache_create@Base 0.27.2
|
|
||||||
pixman_glyph_cache_destroy@Base 0.27.2
|
|
||||||
pixman_glyph_cache_freeze@Base 0.27.2
|
|
||||||
pixman_glyph_cache_insert@Base 0.27.2
|
|
||||||
pixman_glyph_cache_lookup@Base 0.27.2
|
|
||||||
pixman_glyph_cache_remove@Base 0.27.2
|
|
||||||
pixman_glyph_cache_thaw@Base 0.27.2
|
|
||||||
pixman_glyph_get_extents@Base 0.27.2
|
|
||||||
pixman_glyph_get_mask_format@Base 0.27.2
|
|
||||||
pixman_image_composite@Base 0.15.14
|
|
||||||
pixman_image_composite32@Base 0.18.0
|
|
||||||
pixman_image_create_bits@Base 0.15.12
|
|
||||||
pixman_image_create_bits_no_clear@Base 0.27.4
|
|
||||||
pixman_image_create_conical_gradient@Base 0
|
|
||||||
pixman_image_create_linear_gradient@Base 0
|
|
||||||
pixman_image_create_radial_gradient@Base 0
|
|
||||||
pixman_image_create_solid_fill@Base 0
|
|
||||||
pixman_image_fill_boxes@Base 0.18.0
|
|
||||||
pixman_image_fill_rectangles@Base 0.15.14
|
|
||||||
pixman_image_get_component_alpha@Base 0.19.6
|
|
||||||
pixman_image_get_data@Base 0
|
|
||||||
pixman_image_get_depth@Base 0
|
|
||||||
pixman_image_get_destroy_data@Base 0.18.0
|
|
||||||
pixman_image_get_format@Base 0.19.6
|
|
||||||
pixman_image_get_height@Base 0
|
|
||||||
pixman_image_get_stride@Base 0
|
|
||||||
pixman_image_get_width@Base 0
|
|
||||||
pixman_image_ref@Base 0
|
|
||||||
pixman_image_set_accessors@Base 0
|
|
||||||
pixman_image_set_alpha_map@Base 0
|
|
||||||
pixman_image_set_clip_region32@Base 0.11.2
|
|
||||||
pixman_image_set_clip_region@Base 0
|
|
||||||
pixman_image_set_component_alpha@Base 0
|
|
||||||
pixman_image_set_destroy_function@Base 0.15.12
|
|
||||||
pixman_image_set_dither@Base 0.40.0
|
|
||||||
pixman_image_set_dither_offset@Base 0.40.0
|
|
||||||
pixman_image_set_filter@Base 0.30.0
|
|
||||||
pixman_image_set_has_client_clip@Base 0
|
|
||||||
pixman_image_set_indexed@Base 0
|
|
||||||
pixman_image_set_repeat@Base 0
|
|
||||||
pixman_image_set_source_clipping@Base 0.9.4-2~
|
|
||||||
pixman_image_set_transform@Base 0
|
|
||||||
pixman_image_unref@Base 0
|
|
||||||
pixman_line_fixed_edge_init@Base 0
|
|
||||||
pixman_rasterize_edges@Base 0
|
|
||||||
pixman_rasterize_trapezoid@Base 0
|
|
||||||
pixman_region32_clear@Base 0.25.2
|
|
||||||
pixman_region32_contains_point@Base 0.11.2
|
|
||||||
pixman_region32_contains_rectangle@Base 0.11.2
|
|
||||||
pixman_region32_copy@Base 0.11.2
|
|
||||||
pixman_region32_empty@Base 0.44.0
|
|
||||||
pixman_region32_equal@Base 0.11.2
|
|
||||||
pixman_region32_extents@Base 0.11.2
|
|
||||||
pixman_region32_fini@Base 0.11.2
|
|
||||||
pixman_region32_init@Base 0.11.2
|
|
||||||
pixman_region32_init_from_image@Base 0.18.0
|
|
||||||
pixman_region32_init_rect@Base 0.11.2
|
|
||||||
pixman_region32_init_rects@Base 0.11.2
|
|
||||||
pixman_region32_init_with_extents@Base 0.11.2
|
|
||||||
pixman_region32_intersect@Base 0.11.2
|
|
||||||
pixman_region32_intersect_rect@Base 0.19.6
|
|
||||||
pixman_region32_inverse@Base 0.11.2
|
|
||||||
pixman_region32_n_rects@Base 0.11.2
|
|
||||||
pixman_region32_not_empty@Base 0.11.2
|
|
||||||
pixman_region32_rectangles@Base 0.11.2
|
|
||||||
pixman_region32_reset@Base 0.11.2
|
|
||||||
pixman_region32_selfcheck@Base 0.11.2
|
|
||||||
pixman_region32_subtract@Base 0.11.2
|
|
||||||
pixman_region32_translate@Base 0.11.2
|
|
||||||
pixman_region32_union@Base 0.11.2
|
|
||||||
pixman_region32_union_rect@Base 0.11.2
|
|
||||||
pixman_region_clear@Base 0.25.2
|
|
||||||
pixman_region_contains_point@Base 0
|
|
||||||
pixman_region_contains_rectangle@Base 0
|
|
||||||
pixman_region_copy@Base 0
|
|
||||||
pixman_region_empty@Base 0.44.0
|
|
||||||
pixman_region_equal@Base 0
|
|
||||||
pixman_region_extents@Base 0
|
|
||||||
pixman_region_fini@Base 0
|
|
||||||
pixman_region_init@Base 0
|
|
||||||
pixman_region_init_from_image@Base 0.18.0
|
|
||||||
pixman_region_init_rect@Base 0
|
|
||||||
pixman_region_init_rects@Base 0
|
|
||||||
pixman_region_init_with_extents@Base 0
|
|
||||||
pixman_region_intersect@Base 0
|
|
||||||
pixman_region_intersect_rect@Base 0.19.6
|
|
||||||
pixman_region_inverse@Base 0
|
|
||||||
pixman_region_n_rects@Base 0
|
|
||||||
pixman_region_not_empty@Base 0
|
|
||||||
pixman_region_rectangles@Base 0
|
|
||||||
pixman_region_reset@Base 0
|
|
||||||
pixman_region_selfcheck@Base 0
|
|
||||||
pixman_region_set_static_pointers@Base 0
|
|
||||||
pixman_region_subtract@Base 0
|
|
||||||
pixman_region_translate@Base 0
|
|
||||||
pixman_region_union@Base 0
|
|
||||||
pixman_region_union_rect@Base 0
|
|
||||||
pixman_sample_ceil_y@Base 0
|
|
||||||
pixman_sample_floor_y@Base 0
|
|
||||||
pixman_transform_bounds@Base 0.13.2
|
|
||||||
pixman_transform_from_pixman_f_transform@Base 0.13.2
|
|
||||||
pixman_transform_init_identity@Base 0.13.2
|
|
||||||
pixman_transform_init_rotate@Base 0.13.2
|
|
||||||
pixman_transform_init_scale@Base 0.13.2
|
|
||||||
pixman_transform_init_translate@Base 0.13.2
|
|
||||||
pixman_transform_invert@Base 0.13.2
|
|
||||||
pixman_transform_is_identity@Base 0.13.2
|
|
||||||
pixman_transform_is_int_translate@Base 0.13.2
|
|
||||||
pixman_transform_is_inverse@Base 0.13.2
|
|
||||||
pixman_transform_is_scale@Base 0.13.2
|
|
||||||
pixman_transform_multiply@Base 0.13.2
|
|
||||||
pixman_transform_point@Base 0.13.2
|
|
||||||
pixman_transform_point_31_16@Base 0 1
|
|
||||||
pixman_transform_point_31_16_3d@Base 0 1
|
|
||||||
pixman_transform_point_31_16_affine@Base 0 1
|
|
||||||
pixman_transform_rotate@Base 0.13.2
|
|
||||||
pixman_transform_scale@Base 0.13.2
|
|
||||||
pixman_transform_translate@Base 0.13.2
|
|
||||||
pixman_transform_point_3d@Base 0
|
|
||||||
pixman_version@Base 0.10.0
|
|
||||||
pixman_version_string@Base 0.10.0
|
|
5
debian/libpixman-1-dev.install
vendored
5
debian/libpixman-1-dev.install
vendored
@ -1,3 +1,4 @@
|
|||||||
usr/lib/*/libpixman-1.so
|
usr/lib/libpixman-1.so
|
||||||
usr/lib/*/pkgconfig
|
usr/lib/libpixman-1.a
|
||||||
|
usr/lib/pkgconfig
|
||||||
usr/include/pixman-1
|
usr/include/pixman-1
|
||||||
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -1 +0,0 @@
|
|||||||
test-increase-timeout.diff
|
|
11
debian/patches/test-increase-timeout.diff
vendored
11
debian/patches/test-increase-timeout.diff
vendored
@ -1,11 +0,0 @@
|
|||||||
--- a/test/alpha-loop.c
|
|
||||||
+++ b/test/alpha-loop.c
|
|
||||||
@@ -22,7 +22,7 @@ main (int argc, char **argv)
|
|
||||||
d = pixman_image_create_bits (PIXMAN_a8r8g8b8, WIDTH, HEIGHT, dest, WIDTH * 4);
|
|
||||||
s = pixman_image_create_bits (PIXMAN_a2r10g10b10, WIDTH, HEIGHT, src, WIDTH * 4);
|
|
||||||
|
|
||||||
- fail_after (5, "Infinite loop detected: 5 seconds without progress\n");
|
|
||||||
+ fail_after (50, "Infinite loop detected: 50 seconds without progress\n");
|
|
||||||
|
|
||||||
pixman_image_set_alpha_map (s, a, 0, 0);
|
|
||||||
pixman_image_set_alpha_map (a, s, 0, 0);
|
|
94
debian/rules
vendored
94
debian/rules
vendored
@ -1,32 +1,82 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
PACKAGE = libpixman-1-0
|
PACKAGE = libpixman-1-0
|
||||||
SHLIBS = 0.40.0
|
|
||||||
|
|
||||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
include /usr/share/quilt/quilt.make
|
||||||
|
|
||||||
# Disable Gtk+ autodetection:
|
CFLAGS = -Wall -g
|
||||||
override_dh_auto_configure:
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||||
# also avoid loongson2f optimizations on mipsel, see 0.26.0-3
|
CFLAGS += -O0
|
||||||
# changelog entry:
|
else
|
||||||
LS_CFLAGS=" " dh_auto_configure -- \
|
CFLAGS += -O2
|
||||||
-Dgtk=disabled
|
endif
|
||||||
|
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
||||||
|
INSTALL_PROGRAM += -s
|
||||||
|
endif
|
||||||
|
|
||||||
# Install in debian/tmp to retain control through dh_install:
|
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
|
||||||
override_dh_auto_install:
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||||
dh_auto_install --destdir=debian/tmp
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||||
|
ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
|
||||||
|
confflags += --build=$(DEB_HOST_GNU_TYPE)
|
||||||
|
else
|
||||||
|
confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
|
||||||
|
endif
|
||||||
|
|
||||||
# Kill *.la files, and forget no-one:
|
build: patch build-stamp
|
||||||
override_dh_install:
|
build-stamp:
|
||||||
find debian/tmp -name '*.la' -delete
|
dh_testdir
|
||||||
dh_install
|
test -d obj-$(DEB_BUILD_GNU_TYPE) || mkdir obj-$(DEB_BUILD_GNU_TYPE)
|
||||||
|
cd obj-$(DEB_BUILD_GNU_TYPE) && \
|
||||||
|
../configure --prefix=/usr --mandir=\$${prefix}/share/man \
|
||||||
|
--infodir=\$${prefix}/share/info $(confflags) \
|
||||||
|
CFLAGS="$(CFLAGS)"
|
||||||
|
cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE)
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
# Shlibs:
|
clean: unpatch
|
||||||
override_dh_makeshlibs:
|
dh_testdir
|
||||||
dh_makeshlibs -p$(PACKAGE) --add-udeb $(PACKAGE)-udeb -V"$(PACKAGE) (>= $(SHLIBS))" -- -c4
|
dh_testroot
|
||||||
|
rm -f build-stamp
|
||||||
|
|
||||||
|
rm -f config.cache config.log config.status
|
||||||
|
rm -f */config.cache */config.log */config.status
|
||||||
|
rm -f conftest* */conftest*
|
||||||
|
rm -rf autom4te.cache */autom4te.cache
|
||||||
|
rm -rf obj-*
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
override_dh_auto_test:
|
install: build
|
||||||
dh_auto_test -- --verbose --timeout-multiplier 3
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
%:
|
cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
|
||||||
dh $@ --with quilt --builddirectory=build/
|
|
||||||
|
# Install architecture-dependent files here.
|
||||||
|
binary-arch: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
|
||||||
|
dh_installdocs
|
||||||
|
dh_install --sourcedir=debian/tmp --list-missing
|
||||||
|
dh_installchangelogs
|
||||||
|
dh_link
|
||||||
|
dh_strip --dbg-package=$(PACKAGE)-dbg
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
dh_makeshlibs
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_installdeb
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary-indep: build install
|
||||||
|
# Nothing to do
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install
|
||||||
|
1
debian/source/format
vendored
1
debian/source/format
vendored
@ -1 +0,0 @@
|
|||||||
1.0
|
|
3
debian/watch
vendored
3
debian/watch
vendored
@ -1,3 +1,2 @@
|
|||||||
#git=git://anongit.freedesktop.org/pixman
|
|
||||||
version=3
|
version=3
|
||||||
https://xorg.freedesktop.org/releases/individual/lib/ pixman-(.*)\.tar\.gz
|
http://xorg.freedesktop.org/releases/individual/lib/ pixman-(.*)\.tar\.gz
|
||||||
|
@ -1,119 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "pixman.h"
|
|
||||||
#include "gtk-utils.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
#define WIDTH 400
|
|
||||||
#define HEIGHT 200
|
|
||||||
|
|
||||||
uint32_t *alpha = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
uint32_t *dest = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
uint32_t *src = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
pixman_image_t *grad_img;
|
|
||||||
pixman_image_t *alpha_img;
|
|
||||||
pixman_image_t *dest_img;
|
|
||||||
pixman_image_t *src_img;
|
|
||||||
int i;
|
|
||||||
pixman_gradient_stop_t stops[2] =
|
|
||||||
{
|
|
||||||
{ pixman_int_to_fixed (0), { 0x0000, 0x0000, 0x0000, 0x0000 } },
|
|
||||||
{ pixman_int_to_fixed (1), { 0xffff, 0x0000, 0x1111, 0xffff } }
|
|
||||||
};
|
|
||||||
pixman_point_fixed_t p1 = { pixman_double_to_fixed (0), 0 };
|
|
||||||
pixman_point_fixed_t p2 = { pixman_double_to_fixed (WIDTH),
|
|
||||||
pixman_int_to_fixed (0) };
|
|
||||||
#if 0
|
|
||||||
pixman_transform_t trans = {
|
|
||||||
{ { pixman_double_to_fixed (2), pixman_double_to_fixed (0.5), pixman_double_to_fixed (-100), },
|
|
||||||
{ pixman_double_to_fixed (0), pixman_double_to_fixed (3), pixman_double_to_fixed (0), },
|
|
||||||
{ pixman_double_to_fixed (0), pixman_double_to_fixed (0.000), pixman_double_to_fixed (1.0) }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
pixman_transform_t trans = {
|
|
||||||
{ { pixman_fixed_1, 0, 0 },
|
|
||||||
{ 0, pixman_fixed_1, 0 },
|
|
||||||
{ 0, 0, pixman_fixed_1 } }
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
pixman_point_fixed_t c_inner;
|
|
||||||
pixman_point_fixed_t c_outer;
|
|
||||||
pixman_fixed_t r_inner;
|
|
||||||
pixman_fixed_t r_outer;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
for (i = 0; i < WIDTH * HEIGHT; ++i)
|
|
||||||
alpha[i] = 0x4f00004f; /* pale blue */
|
|
||||||
|
|
||||||
alpha_img = pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
alpha,
|
|
||||||
WIDTH * 4);
|
|
||||||
|
|
||||||
for (i = 0; i < WIDTH * HEIGHT; ++i)
|
|
||||||
dest[i] = 0xffffff00; /* yellow */
|
|
||||||
|
|
||||||
dest_img = pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
dest,
|
|
||||||
WIDTH * 4);
|
|
||||||
|
|
||||||
for (i = 0; i < WIDTH * HEIGHT; ++i)
|
|
||||||
src[i] = 0xffff0000;
|
|
||||||
|
|
||||||
src_img = pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
src,
|
|
||||||
WIDTH * 4);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
c_inner.x = pixman_double_to_fixed (50.0);
|
|
||||||
c_inner.y = pixman_double_to_fixed (50.0);
|
|
||||||
c_outer.x = pixman_double_to_fixed (50.0);
|
|
||||||
c_outer.y = pixman_double_to_fixed (50.0);
|
|
||||||
r_inner = 0;
|
|
||||||
r_outer = pixman_double_to_fixed (50.0);
|
|
||||||
|
|
||||||
grad_img = pixman_image_create_conical_gradient (&c_inner, r_inner,
|
|
||||||
stops, 2);
|
|
||||||
#endif
|
|
||||||
#if 0
|
|
||||||
grad_img = pixman_image_create_conical_gradient (&c_inner, r_inner,
|
|
||||||
stops, 2);
|
|
||||||
grad_img = pixman_image_create_linear_gradient (&c_inner, &c_outer,
|
|
||||||
r_inner, r_outer,
|
|
||||||
stops, 2);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
grad_img = pixman_image_create_linear_gradient (&p1, &p2,
|
|
||||||
stops, 2);
|
|
||||||
|
|
||||||
pixman_image_set_transform (grad_img, &trans);
|
|
||||||
pixman_image_set_repeat (grad_img, PIXMAN_REPEAT_PAD);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_OVER, grad_img, NULL, alpha_img,
|
|
||||||
0, 0, 0, 0, 0, 0, 10 * WIDTH, HEIGHT);
|
|
||||||
|
|
||||||
pixman_image_set_alpha_map (src_img, alpha_img, 10, 10);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_OVER, src_img, NULL, dest_img,
|
|
||||||
0, 0, 0, 0, 0, 0, 10 * WIDTH, HEIGHT);
|
|
||||||
|
|
||||||
printf ("0, 0: %x\n", dest[0]);
|
|
||||||
printf ("10, 10: %x\n", dest[10 * 10 + 10]);
|
|
||||||
printf ("w, h: %x\n", dest[(HEIGHT - 1) * 100 + (WIDTH - 1)]);
|
|
||||||
|
|
||||||
show_image (dest_img);
|
|
||||||
|
|
||||||
pixman_image_unref (src_img);
|
|
||||||
pixman_image_unref (grad_img);
|
|
||||||
pixman_image_unref (alpha_img);
|
|
||||||
free (dest);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,71 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "pixman.h"
|
|
||||||
#include "gtk-utils.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
#define WIDTH 400
|
|
||||||
#define HEIGHT 400
|
|
||||||
#define TILE_SIZE 25
|
|
||||||
|
|
||||||
pixman_image_t *checkerboard;
|
|
||||||
pixman_image_t *destination;
|
|
||||||
#define D2F(d) (pixman_double_to_fixed(d))
|
|
||||||
pixman_transform_t trans = { {
|
|
||||||
{ D2F (-1.96830), D2F (-1.82250), D2F (512.12250)},
|
|
||||||
{ D2F (0.00000), D2F (-7.29000), D2F (1458.00000)},
|
|
||||||
{ D2F (0.00000), D2F (-0.00911), D2F (0.59231)},
|
|
||||||
}};
|
|
||||||
int i, j;
|
|
||||||
|
|
||||||
checkerboard = pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
NULL, 0);
|
|
||||||
|
|
||||||
destination = pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
NULL, 0);
|
|
||||||
|
|
||||||
for (i = 0; i < HEIGHT / TILE_SIZE; ++i)
|
|
||||||
{
|
|
||||||
for (j = 0; j < WIDTH / TILE_SIZE; ++j)
|
|
||||||
{
|
|
||||||
double u = (double)(j + 1) / (WIDTH / TILE_SIZE);
|
|
||||||
double v = (double)(i + 1) / (HEIGHT / TILE_SIZE);
|
|
||||||
pixman_color_t black = { 0, 0, 0, 0xffff };
|
|
||||||
pixman_color_t white = {
|
|
||||||
v * 0xffff,
|
|
||||||
u * 0xffff,
|
|
||||||
(1 - (double)u) * 0xffff,
|
|
||||||
0xffff };
|
|
||||||
pixman_color_t *c;
|
|
||||||
pixman_image_t *fill;
|
|
||||||
|
|
||||||
if ((j & 1) != (i & 1))
|
|
||||||
c = &black;
|
|
||||||
else
|
|
||||||
c = &white;
|
|
||||||
|
|
||||||
fill = pixman_image_create_solid_fill (c);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_SRC, fill, NULL, checkerboard,
|
|
||||||
0, 0, 0, 0, j * TILE_SIZE, i * TILE_SIZE,
|
|
||||||
TILE_SIZE, TILE_SIZE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pixman_image_set_transform (checkerboard, &trans);
|
|
||||||
pixman_image_set_filter (checkerboard, PIXMAN_FILTER_BEST, NULL, 0);
|
|
||||||
pixman_image_set_repeat (checkerboard, PIXMAN_REPEAT_NONE);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_SRC,
|
|
||||||
checkerboard, NULL, destination,
|
|
||||||
0, 0, 0, 0, 0, 0,
|
|
||||||
WIDTH, HEIGHT);
|
|
||||||
|
|
||||||
show_image (destination);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,50 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include "pixman.h"
|
|
||||||
#include "gtk-utils.h"
|
|
||||||
|
|
||||||
/* This test demonstrates that clipping is done totally different depending
|
|
||||||
* on whether the source is transformed or not.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
#define WIDTH 200
|
|
||||||
#define HEIGHT 200
|
|
||||||
|
|
||||||
#define SMALL 25
|
|
||||||
|
|
||||||
uint32_t *sbits = malloc (SMALL * SMALL * 4);
|
|
||||||
uint32_t *bits = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
pixman_transform_t trans = {
|
|
||||||
{
|
|
||||||
{ pixman_double_to_fixed (1.0), pixman_double_to_fixed (0), pixman_double_to_fixed (-0.1), },
|
|
||||||
{ pixman_double_to_fixed (0), pixman_double_to_fixed (1), pixman_double_to_fixed (-0.1), },
|
|
||||||
{ pixman_double_to_fixed (0), pixman_double_to_fixed (0), pixman_double_to_fixed (1.0) }
|
|
||||||
} };
|
|
||||||
|
|
||||||
pixman_image_t *src_img = pixman_image_create_bits (PIXMAN_a8r8g8b8, SMALL, SMALL, sbits, 4 * SMALL);
|
|
||||||
pixman_image_t *dest_img = pixman_image_create_bits (PIXMAN_a8r8g8b8, WIDTH, HEIGHT, bits, 4 * WIDTH);
|
|
||||||
|
|
||||||
memset (bits, 0xff, WIDTH * HEIGHT * 4);
|
|
||||||
memset (sbits, 0x00, SMALL * SMALL * 4);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_IN,
|
|
||||||
src_img, NULL, dest_img,
|
|
||||||
0, 0, 0, 0, SMALL, SMALL, 200, 200);
|
|
||||||
|
|
||||||
pixman_image_set_transform (src_img, &trans);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_IN,
|
|
||||||
src_img, NULL, dest_img,
|
|
||||||
0, 0, 0, 0, SMALL * 2, SMALL * 2, 200, 200);
|
|
||||||
|
|
||||||
show_image (dest_img);
|
|
||||||
|
|
||||||
pixman_image_unref (src_img);
|
|
||||||
pixman_image_unref (dest_img);
|
|
||||||
free (bits);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,97 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include "pixman.h"
|
|
||||||
#include "gtk-utils.h"
|
|
||||||
|
|
||||||
#define WIDTH 200
|
|
||||||
#define HEIGHT 200
|
|
||||||
|
|
||||||
static pixman_image_t *
|
|
||||||
create_solid_bits (uint32_t pixel)
|
|
||||||
{
|
|
||||||
uint32_t *pixels = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < WIDTH * HEIGHT; ++i)
|
|
||||||
pixels[i] = pixel;
|
|
||||||
|
|
||||||
return pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
pixels,
|
|
||||||
WIDTH * 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
pixman_image_t *gradient_img;
|
|
||||||
pixman_image_t *src_img, *dst_img;
|
|
||||||
pixman_gradient_stop_t stops[2] =
|
|
||||||
{
|
|
||||||
{ pixman_int_to_fixed (0), { 0xffff, 0x0000, 0x0000, 0xffff } },
|
|
||||||
{ pixman_int_to_fixed (1), { 0xffff, 0xffff, 0x0000, 0xffff } }
|
|
||||||
};
|
|
||||||
#if 0
|
|
||||||
pixman_point_fixed_t p1 = { 0, 0 };
|
|
||||||
pixman_point_fixed_t p2 = { pixman_int_to_fixed (WIDTH),
|
|
||||||
pixman_int_to_fixed (HEIGHT) };
|
|
||||||
#endif
|
|
||||||
pixman_point_fixed_t c_inner;
|
|
||||||
pixman_point_fixed_t c_outer;
|
|
||||||
pixman_fixed_t r_inner;
|
|
||||||
pixman_fixed_t r_outer;
|
|
||||||
pixman_region32_t clip_region;
|
|
||||||
pixman_transform_t trans = {
|
|
||||||
{ { pixman_double_to_fixed (1.3), pixman_double_to_fixed (0), pixman_double_to_fixed (-0.5), },
|
|
||||||
{ pixman_double_to_fixed (0), pixman_double_to_fixed (1), pixman_double_to_fixed (-0.5), },
|
|
||||||
{ pixman_double_to_fixed (0), pixman_double_to_fixed (0), pixman_double_to_fixed (1.0) }
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
src_img = create_solid_bits (0xff0000ff);
|
|
||||||
|
|
||||||
c_inner.x = pixman_double_to_fixed (100.0);
|
|
||||||
c_inner.y = pixman_double_to_fixed (100.0);
|
|
||||||
c_outer.x = pixman_double_to_fixed (100.0);
|
|
||||||
c_outer.y = pixman_double_to_fixed (100.0);
|
|
||||||
r_inner = 0;
|
|
||||||
r_outer = pixman_double_to_fixed (100.0);
|
|
||||||
|
|
||||||
gradient_img = pixman_image_create_radial_gradient (&c_inner, &c_outer,
|
|
||||||
r_inner, r_outer,
|
|
||||||
stops, 2);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
gradient_img = pixman_image_create_linear_gradient (&p1, &p2,
|
|
||||||
stops, 2);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_OVER, gradient_img, NULL, src_img,
|
|
||||||
0, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
|
|
||||||
|
|
||||||
pixman_region32_init_rect (&clip_region, 50, 0, 100, 200);
|
|
||||||
pixman_image_set_clip_region32 (src_img, &clip_region);
|
|
||||||
pixman_image_set_source_clipping (src_img, TRUE);
|
|
||||||
pixman_image_set_has_client_clip (src_img, TRUE);
|
|
||||||
pixman_image_set_transform (src_img, &trans);
|
|
||||||
pixman_image_set_repeat (src_img, PIXMAN_REPEAT_NORMAL);
|
|
||||||
|
|
||||||
dst_img = create_solid_bits (0xffff0000);
|
|
||||||
pixman_image_composite (PIXMAN_OP_OVER, src_img, NULL, dst_img,
|
|
||||||
0, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
|
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
printf ("0, 0: %x\n", src[0]);
|
|
||||||
printf ("10, 10: %x\n", src[10 * 10 + 10]);
|
|
||||||
printf ("w, h: %x\n", src[(HEIGHT - 1) * 100 + (WIDTH - 1)]);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
show_image (dst_img);
|
|
||||||
|
|
||||||
pixman_image_unref (gradient_img);
|
|
||||||
pixman_image_unref (src_img);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -1,186 +0,0 @@
|
|||||||
#include <gtk/gtk.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "pixman.h"
|
|
||||||
#include "gtk-utils.h"
|
|
||||||
#include "parrot.c"
|
|
||||||
|
|
||||||
#define WIDTH 80
|
|
||||||
#define HEIGHT 80
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
const char *name;
|
|
||||||
pixman_op_t op;
|
|
||||||
} operator_t;
|
|
||||||
|
|
||||||
static const operator_t operators[] = {
|
|
||||||
{ "CLEAR", PIXMAN_OP_CLEAR },
|
|
||||||
{ "SRC", PIXMAN_OP_SRC },
|
|
||||||
{ "DST", PIXMAN_OP_DST },
|
|
||||||
{ "OVER", PIXMAN_OP_OVER },
|
|
||||||
{ "OVER_REVERSE", PIXMAN_OP_OVER_REVERSE },
|
|
||||||
{ "IN", PIXMAN_OP_IN },
|
|
||||||
{ "IN_REVERSE", PIXMAN_OP_IN_REVERSE },
|
|
||||||
{ "OUT", PIXMAN_OP_OUT },
|
|
||||||
{ "OUT_REVERSE", PIXMAN_OP_OUT_REVERSE },
|
|
||||||
{ "ATOP", PIXMAN_OP_ATOP },
|
|
||||||
{ "ATOP_REVERSE", PIXMAN_OP_ATOP_REVERSE },
|
|
||||||
{ "XOR", PIXMAN_OP_XOR },
|
|
||||||
{ "ADD", PIXMAN_OP_ADD },
|
|
||||||
{ "SATURATE", PIXMAN_OP_SATURATE },
|
|
||||||
|
|
||||||
{ "MULTIPLY", PIXMAN_OP_MULTIPLY },
|
|
||||||
{ "SCREEN", PIXMAN_OP_SCREEN },
|
|
||||||
{ "OVERLAY", PIXMAN_OP_OVERLAY },
|
|
||||||
{ "DARKEN", PIXMAN_OP_DARKEN },
|
|
||||||
{ "LIGHTEN", PIXMAN_OP_LIGHTEN },
|
|
||||||
{ "COLOR_DODGE", PIXMAN_OP_COLOR_DODGE },
|
|
||||||
{ "COLOR_BURN", PIXMAN_OP_COLOR_BURN },
|
|
||||||
{ "HARD_LIGHT", PIXMAN_OP_HARD_LIGHT },
|
|
||||||
{ "SOFT_LIGHT", PIXMAN_OP_SOFT_LIGHT },
|
|
||||||
{ "DIFFERENCE", PIXMAN_OP_DIFFERENCE },
|
|
||||||
{ "EXCLUSION", PIXMAN_OP_EXCLUSION },
|
|
||||||
{ "HSL_HUE", PIXMAN_OP_HSL_HUE },
|
|
||||||
{ "HSL_SATURATION", PIXMAN_OP_HSL_SATURATION },
|
|
||||||
{ "HSL_COLOR", PIXMAN_OP_HSL_COLOR },
|
|
||||||
{ "HSL_LUMINOSITY", PIXMAN_OP_HSL_LUMINOSITY },
|
|
||||||
};
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
reader (const void *src, int size)
|
|
||||||
{
|
|
||||||
switch (size)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
return *(uint8_t *)src;
|
|
||||||
case 2:
|
|
||||||
return *(uint16_t *)src;
|
|
||||||
case 4:
|
|
||||||
return *(uint32_t *)src;
|
|
||||||
default:
|
|
||||||
g_assert_not_reached();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
writer (void *src, uint32_t value, int size)
|
|
||||||
{
|
|
||||||
switch (size)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
*(uint8_t *)src = value;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
*(uint16_t *)src = value;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 4:
|
|
||||||
*(uint32_t *)src = value;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
main (int argc, char **argv)
|
|
||||||
{
|
|
||||||
#define d2f pixman_double_to_fixed
|
|
||||||
|
|
||||||
GtkWidget *window, *swindow;
|
|
||||||
GtkWidget *table;
|
|
||||||
uint32_t *dest = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
uint32_t *src = malloc (WIDTH * HEIGHT * 4);
|
|
||||||
pixman_image_t *gradient, *parrot;
|
|
||||||
pixman_image_t *dest_img;
|
|
||||||
pixman_point_fixed_t p1 = { -10 << 16, 10 << 16 };
|
|
||||||
pixman_point_fixed_t p2 = { (WIDTH + 10) << 16, (HEIGHT - 10) << 16 };
|
|
||||||
uint16_t alpha = 0xdddd;
|
|
||||||
pixman_gradient_stop_t stops[6] =
|
|
||||||
{
|
|
||||||
{ d2f (0.0), { 0xf2f2, 0x8787, 0x7d7d, alpha } },
|
|
||||||
{ d2f (0.22), { 0xf3f3, 0xeaea, 0x8383, alpha } },
|
|
||||||
{ d2f (0.42), { 0x6b6b, 0xc0c0, 0x7777, alpha } },
|
|
||||||
{ d2f (0.57), { 0x4b4b, 0xc9c9, 0xf5f5, alpha } },
|
|
||||||
{ d2f (0.75), { 0x6a6a, 0x7f7f, 0xbebe, alpha } },
|
|
||||||
{ d2f (1.0), { 0xeded, 0x8282, 0xb0b0, alpha } },
|
|
||||||
};
|
|
||||||
|
|
||||||
int i;
|
|
||||||
|
|
||||||
gtk_init (&argc, &argv);
|
|
||||||
|
|
||||||
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
||||||
|
|
||||||
gtk_window_set_default_size (GTK_WINDOW (window), 800, 600);
|
|
||||||
|
|
||||||
g_signal_connect (window, "delete-event",
|
|
||||||
G_CALLBACK (gtk_main_quit),
|
|
||||||
NULL);
|
|
||||||
table = gtk_table_new (G_N_ELEMENTS (operators) / 6, 6, TRUE);
|
|
||||||
|
|
||||||
gradient = pixman_image_create_linear_gradient (&p1, &p2, stops, G_N_ELEMENTS (stops));
|
|
||||||
parrot = pixman_image_create_bits (PIXMAN_a8r8g8b8, WIDTH, HEIGHT, (uint32_t *)parrot_bits, WIDTH * 4);
|
|
||||||
|
|
||||||
pixman_image_set_repeat (gradient, PIXMAN_REPEAT_PAD);
|
|
||||||
|
|
||||||
dest_img = pixman_image_create_bits (PIXMAN_a8r8g8b8,
|
|
||||||
WIDTH, HEIGHT,
|
|
||||||
NULL,
|
|
||||||
WIDTH * 4);
|
|
||||||
pixman_image_set_accessors (dest_img, reader, writer);
|
|
||||||
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (operators); ++i)
|
|
||||||
{
|
|
||||||
GtkWidget *image;
|
|
||||||
GdkPixbuf *pixbuf;
|
|
||||||
GtkWidget *vbox;
|
|
||||||
GtkWidget *label;
|
|
||||||
|
|
||||||
vbox = gtk_vbox_new (FALSE, 0);
|
|
||||||
|
|
||||||
label = gtk_label_new (operators[i].name);
|
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 6);
|
|
||||||
gtk_widget_show (label);
|
|
||||||
|
|
||||||
pixman_image_composite (PIXMAN_OP_SRC, gradient, NULL, dest_img,
|
|
||||||
0, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
|
|
||||||
pixman_image_composite (operators[i].op, parrot, NULL, dest_img,
|
|
||||||
0, 0, 0, 0, 0, 0, WIDTH, HEIGHT);
|
|
||||||
pixbuf = pixbuf_from_argb32 (pixman_image_get_data (dest_img),
|
|
||||||
WIDTH, HEIGHT, WIDTH * 4);
|
|
||||||
image = gtk_image_new_from_pixbuf (pixbuf);
|
|
||||||
gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0);
|
|
||||||
gtk_widget_show (image);
|
|
||||||
|
|
||||||
gtk_table_attach_defaults (GTK_TABLE (table), vbox,
|
|
||||||
i % 6, (i % 6) + 1, i / 6, (i / 6) + 1);
|
|
||||||
gtk_widget_show (vbox);
|
|
||||||
|
|
||||||
g_object_unref (pixbuf);
|
|
||||||
}
|
|
||||||
|
|
||||||
pixman_image_unref (gradient);
|
|
||||||
free (src);
|
|
||||||
pixman_image_unref (dest_img);
|
|
||||||
free (dest);
|
|
||||||
|
|
||||||
swindow = gtk_scrolled_window_new (NULL, NULL);
|
|
||||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swindow),
|
|
||||||
GTK_POLICY_AUTOMATIC,
|
|
||||||
GTK_POLICY_AUTOMATIC);
|
|
||||||
|
|
||||||
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (swindow), table);
|
|
||||||
gtk_widget_show (table);
|
|
||||||
|
|
||||||
gtk_container_add (GTK_CONTAINER (window), swindow);
|
|
||||||
gtk_widget_show (swindow);
|
|
||||||
|
|
||||||
gtk_widget_show (window);
|
|
||||||
|
|
||||||
gtk_main ();
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user