mirror of
https://salsa.debian.org/xorg-team/lib/pixman
synced 2025-09-04 00:13:41 +00:00

This commit adds a meson build system for pixman. It carries the usual improvements of meson, better clean build time, much better incremental build times, while being simpler and easier to understand. This takes advantage of some features from the most recent versions of meson: the builtin openmp dependency and the feature option type. There are a couple of things that I've done a bit differently than the autotools build system, I've built a libdemos which is the utilities from the demos folder, and I've linked the demos with libtestutils from tetsts, otherwise I expect that most things will be the same. I've tested so far cross compiling from x86_64 -> x86, x86_64 -> Aarch64, and Linux to Windows via mingw, as well as native x86_64 Linux builds which all work. I've also built with mingw nativly, there are some test failures there. An MSVC build can be generated, but fails. v2: - set WORDS_BIGENDIAN in the config for big endian systems.
104 lines
2.6 KiB
Meson
104 lines
2.6 KiB
Meson
# Copyright © 2018 Intel 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 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.
|
|
|
|
option(
|
|
'loongson-mmi',
|
|
type : 'feature',
|
|
description : 'Use Loongson MMI intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'mmx',
|
|
type : 'feature',
|
|
description : 'Use X86 MMX intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'sse2',
|
|
type : 'feature',
|
|
description : 'Use X86 SSE2 intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'ssse3',
|
|
type : 'feature',
|
|
description : 'Use X86 SSSE3 intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'vmx',
|
|
type : 'feature',
|
|
description : 'Use PPC VMX/Altivec intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'arm-simd',
|
|
type : 'feature',
|
|
description : 'Use ARMv6 SIMD intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'neon',
|
|
type : 'feature',
|
|
description : 'Use ARM NEON intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'iwmmxt',
|
|
type : 'feature',
|
|
description : 'Use ARM IWMMXT intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'iwmmxt2',
|
|
type : 'boolean',
|
|
value : true,
|
|
description : 'Use ARM IWMMXT2 intrinsic instead of IWMMXT',
|
|
)
|
|
option(
|
|
'mips-dspr2',
|
|
type : 'feature',
|
|
description : 'Use MIPS32 DSPr2 intrinsic optimized paths',
|
|
)
|
|
option(
|
|
'gnu-inline-asm',
|
|
type : 'feature',
|
|
description : 'Use GNU style inline assembler',
|
|
)
|
|
option(
|
|
'openmp',
|
|
type : 'feature',
|
|
description : 'Enable openmp support',
|
|
)
|
|
option(
|
|
'timers',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable TIMER_* macros',
|
|
)
|
|
option(
|
|
'gnuplot',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Enable output of filters that can be piped to gnuplot',
|
|
)
|
|
option(
|
|
'gtk',
|
|
type : 'feature',
|
|
description : 'Enable tests using GTK',
|
|
)
|
|
option(
|
|
'libpng',
|
|
type : 'feature',
|
|
description : 'Use libpng'
|
|
)
|