mirror of
https://salsa.debian.org/xorg-team/lib/pixman
synced 2025-09-01 10:35:16 +00:00
Compare commits
No commits in common. "debian-unstable" and "pixman-0.9.6-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
|
27
.gitignore
vendored
27
.gitignore
vendored
@ -3,7 +3,6 @@ Makefile.in
|
||||
.deps
|
||||
.libs
|
||||
.msg
|
||||
*.pc
|
||||
*.lo
|
||||
*.la
|
||||
*.a
|
||||
@ -22,35 +21,15 @@ install-sh
|
||||
libtool
|
||||
ltmain.sh
|
||||
missing
|
||||
pixman.pc
|
||||
stamp-h?
|
||||
config.h
|
||||
config.h.in
|
||||
.*.swp
|
||||
demos/*-test
|
||||
demos/checkerboard
|
||||
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
|
||||
test/composite-test
|
||||
test/gradient-test
|
||||
*.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
|
672
Makefile.in
Normal file
672
Makefile.in
Normal file
@ -0,0 +1,672 @@
|
||||
# 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@
|
||||
MAINT = @MAINT@
|
||||
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: @MAINTAINER_MODE_TRUE@ $(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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(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: @MAINTAINER_MODE_TRUE@ $(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 +1,26 @@
|
||||
Pixman
|
||||
======
|
||||
|
||||
Pixman is a library that provides low-level pixel manipulation
|
||||
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:
|
||||
Please submit bugs & patches to the libpixman bugzilla:
|
||||
|
||||
https://lists.freedesktop.org/mailman/listinfo/pixman
|
||||
https://bugs.freedesktop.org/enter_bug.cgi?product=libpixman
|
||||
|
||||
You can also file bugs at
|
||||
All questions regarding this software should be directed to either the
|
||||
Xorg mailing list:
|
||||
|
||||
https://gitlab.freedesktop.org/pixman/pixman/-/issues/new
|
||||
http://lists.freedesktop.org/mailman/listinfo/xorg
|
||||
|
||||
or submit improvements in form of a Merge Request via
|
||||
or the cairo mailing list:
|
||||
|
||||
https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests
|
||||
http://lists.freedesktop.org/mailman/listinfo/cairo
|
||||
|
||||
For real time discussions about pixman, feel free to join the IRC
|
||||
channels #cairo and #xorg-devel on the FreeNode IRC network.
|
||||
The master development code repository can be found at:
|
||||
|
||||
git://anongit.freedesktop.org/git/pixman
|
||||
|
||||
Contributing
|
||||
------------
|
||||
http://gitweb.freedesktop.org/?p=pixman;a=summary
|
||||
|
||||
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"
|
||||
For more information on the git code manager, see:
|
||||
|
||||
https://www.kernel.org/pub/software/scm/git/docs/everyday.html
|
||||
http://wiki.x.org/wiki/GitPage
|
||||
|
||||
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
|
7642
aclocal.m4
vendored
Normal file
7642
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
68
config.h.in
Normal file
68
config.h.in
Normal file
@ -0,0 +1,68 @@
|
||||
/* 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
|
||||
|
||||
/* use SSE compiler intrinsics */
|
||||
#undef USE_SSE
|
||||
|
||||
/* 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
164
configure.ac
Normal file
164
configure.ac
Normal file
@ -0,0 +1,164 @@
|
||||
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], 6)
|
||||
|
||||
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 -Winline --param inline-unit-growth=10000 --param large-function-growth=10000"
|
||||
|
||||
have_mmx_intrinsics=no
|
||||
AC_MSG_CHECKING(whether to use MMX intrinsics)
|
||||
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>
|
||||
int main () {
|
||||
__m64 v = _mm_cvtsi32_si64 (1);
|
||||
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
|
||||
|
||||
AM_CONDITIONAL(USE_MMX, test $have_mmx_intrinsics = yes)
|
||||
|
||||
dnl =======================================================
|
||||
|
||||
dnl GCC 4.2 when compiling with -msse will generate SSE instructions
|
||||
dnl on its own. This means anything compiled with -mss can only be
|
||||
dnl run after a runtime check for SSE. Unfortunately, since we still
|
||||
dnl need to support MMX-but-not-SSE (such as the OLPC), this means we
|
||||
dnl can only use SSE when compiling for x86-64 (where SSE is always
|
||||
dnl supported).
|
||||
|
||||
have_sse_intrinsics=no
|
||||
AC_MSG_CHECKING(whether to use SSE intrinsics)
|
||||
xserver_save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS -msse $MMX_CFLAGS"
|
||||
|
||||
AC_COMPILE_IFELSE([
|
||||
#if !defined(__amd64__) && !defined(__x86_64__)
|
||||
#error "Need x86-64 for SSE"
|
||||
#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_sse_intrinsics=yes)
|
||||
CFLAGS=$xserver_save_CFLAGS
|
||||
AC_MSG_RESULT($have_sse_intrinsics)
|
||||
|
||||
if test $have_sse_intrinsics = yes ; then
|
||||
AC_DEFINE(USE_SSE, 1, [use SSE compiler intrinsics])
|
||||
MMX_CFLAGS="-msse $MMX_CFLAGS"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(USE_SSE, test $have_sse_intrinsics = yes)
|
||||
|
||||
dnl ========================================================
|
||||
AC_SUBST(MMX_CFLAGS)
|
||||
|
||||
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.
|
||||
|
518
debian/changelog
vendored
518
debian/changelog
vendored
@ -1,521 +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).
|
||||
|
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
|
||||
Priority: optional
|
||||
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
|
||||
Uploaders: Andreas Boll <aboll@debian.org>
|
||||
Build-Depends:
|
||||
debhelper-compat (= 13),
|
||||
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/
|
||||
Uploaders: Julien Cristau <jcristau@debian.org>, David Nusinow <dnusinow@debian.org>
|
||||
Build-Depends: quilt, debhelper
|
||||
Standards-Version: 3.7.2
|
||||
|
||||
Package: libpixman-1-0
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends:
|
||||
${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
Pre-Depends: ${misc:Pre-Depends}
|
||||
Multi-Arch: same
|
||||
Depends: ${shlibs:Depends}
|
||||
Description: pixel-manipulation library for X and cairo
|
||||
A library for manipulating pixel regions -- a set of Y-X banded
|
||||
rectangles, image compositing using the Porter/Duff model
|
||||
and implicit mask generation for geometric primitives including
|
||||
trapezoids, triangles, and rectangles.
|
||||
|
||||
Package: libpixman-1-0-udeb
|
||||
Section: debian-installer
|
||||
Package-Type: udeb
|
||||
Package: libpixman-1-0-dbg
|
||||
Section: libdevel
|
||||
Priority: extra
|
||||
Architecture: any
|
||||
Depends:
|
||||
${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
Description: pixel-manipulation library for X and cairo
|
||||
This package contains a minimal set of libraries needed for the Debian
|
||||
installer. Do not install it on a normal system.
|
||||
Depends: libpixman-1-0 (= ${binary:Version})
|
||||
Description: pixel-manipulation library for X and cairo (debugging symbols)
|
||||
Debugging symbols for the Cairo/X pixel manipulation library. This is
|
||||
needed to debug programs linked against libpixman0.
|
||||
|
||||
Package: libpixman-1-dev
|
||||
Section: libdevel
|
||||
Architecture: any
|
||||
Depends:
|
||||
libpixman-1-0 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
Multi-Arch: same
|
||||
Depends: libpixman-1-0 (= ${binary:Version})
|
||||
Conflicts: libpixman1-dev
|
||||
Description: pixel-manipulation library for X and cairo (development files)
|
||||
Development libraries, header files and documentation needed by
|
||||
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/
|
||||
Upstream-Name: pixman
|
||||
Source: https://gitlab.freedesktop.org/pixman/pixman
|
||||
License: Expat
|
||||
Debian packaging by Julien Cristau <jcristau@debian.org>, 18 May 2007.
|
||||
Downloaded from git://anongit.freedesktop.org/git/pixman.
|
||||
|
||||
Files: *
|
||||
Copyright: 1987-1998 The Open Group
|
||||
1987-1989 Digital Equipment Corporation
|
||||
1999-2008 Keith Packard
|
||||
2000 SuSE, Inc.
|
||||
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
|
||||
Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
|
||||
2005 Lars Knoll & Zack Rusin, Trolltech
|
||||
Copyright © 2000 SuSE, Inc.
|
||||
Copyright © 2007 Red Hat, Inc.
|
||||
Copyright © 1998 Keith Packard
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2007 Julien Cristau <jcristau@debian.org>
|
||||
License: Expat
|
||||
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, 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/*/pkgconfig
|
||||
usr/lib/libpixman-1.so
|
||||
usr/lib/libpixman-1.a
|
||||
usr/lib/pkgconfig
|
||||
usr/include/pixman-1
|
||||
|
13
debian/patches/01_maintainer-mode.diff
vendored
Normal file
13
debian/patches/01_maintainer-mode.diff
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
Index: pixman/configure.ac
|
||||
===================================================================
|
||||
--- pixman.orig/configure.ac 2007-09-19 23:17:42.000000000 +0200
|
||||
+++ pixman/configure.ac 2007-09-19 23:20:01.000000000 +0200
|
||||
@@ -49,6 +49,8 @@
|
||||
AC_INIT(pixman, pixman_version, "sandmann@daimi.au.dk", pixman)
|
||||
AM_INIT_AUTOMAKE([dist-bzip2])
|
||||
|
||||
+AM_MAINTAINER_MODE
|
||||
+
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
AC_PROG_CC
|
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -1 +1 @@
|
||||
test-increase-timeout.diff
|
||||
01_maintainer-mode.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
|
||||
|
||||
PACKAGE = libpixman-1-0
|
||||
SHLIBS = 0.40.0
|
||||
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
include /usr/share/quilt/quilt.make
|
||||
|
||||
# Disable Gtk+ autodetection:
|
||||
override_dh_auto_configure:
|
||||
# also avoid loongson2f optimizations on mipsel, see 0.26.0-3
|
||||
# changelog entry:
|
||||
LS_CFLAGS=" " dh_auto_configure -- \
|
||||
-Dgtk=disabled
|
||||
CFLAGS = -Wall -g
|
||||
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
CFLAGS += -O0
|
||||
else
|
||||
CFLAGS += -O2
|
||||
endif
|
||||
ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
||||
INSTALL_PROGRAM += -s
|
||||
endif
|
||||
|
||||
# Install in debian/tmp to retain control through dh_install:
|
||||
override_dh_auto_install:
|
||||
dh_auto_install --destdir=debian/tmp
|
||||
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
|
||||
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||
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:
|
||||
override_dh_install:
|
||||
find debian/tmp -name '*.la' -delete
|
||||
dh_install
|
||||
build: patch build-stamp
|
||||
build-stamp:
|
||||
dh_testdir
|
||||
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:
|
||||
override_dh_makeshlibs:
|
||||
dh_makeshlibs -p$(PACKAGE) --add-udeb $(PACKAGE)-udeb -V"$(PACKAGE) (>= $(SHLIBS))" -- -c4
|
||||
clean: unpatch
|
||||
dh_testdir
|
||||
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:
|
||||
dh_auto_test -- --verbose --timeout-multiplier 3
|
||||
install: build
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
dh_clean -k
|
||||
dh_installdirs
|
||||
|
||||
%:
|
||||
dh $@ --with quilt --builddirectory=build/
|
||||
cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
|
||||
|
||||
# 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
|
||||
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;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user