# $NetBSD: Makefile,v 1.42 2022/12/17 09:46:21 mrg Exp $ NOLINT= 1 # defined .include LIB= pixman-1 DIST= ${X11SRCDIR.pixman}/pixman .PATH: ${DIST} SRCS= \ pixman.c \ pixman-access.c \ pixman-access-accessors.c \ pixman-bits-image.c \ pixman-combine32.c \ pixman-combine-float.c \ pixman-conical-gradient.c \ pixman-edge.c \ pixman-edge-accessors.c \ pixman-fast-path.c \ pixman-filter.c \ pixman-glyph.c \ pixman-general.c \ pixman-gradient-walker.c \ pixman-image.c \ pixman-implementation.c \ pixman-linear-gradient.c \ pixman-matrix.c \ pixman-noop.c \ pixman-radial-gradient.c \ pixman-region16.c \ pixman-region32.c \ pixman-solid-fill.c \ pixman-timer.c \ pixman-trap.c \ pixman-utils.c SRCS+= \ pixman-x86.c \ pixman-mips.c \ pixman-arm.c \ pixman-ppc.c # XXX # missing: HAVE_GCC_VECTOR_EXTENSIONS .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" . if ${MACHINE_ARCH} == "i386" SRCS+= pixman-mmx.c COPTS.pixman-mmx.c= -mmmx -fvisibility=hidden . if defined(HAVE_LLVM) COPTS.pixman-mmx.c+= -Wno-error=attributes . endif #CPPFLAGS+= -DUSE_X86_MMX MKDEPFLAGS+= -mmmx . endif SRCS+= pixman-sse2.c pixman-ssse3.c COPTS.pixman-sse2.c= -msse2 -fvisibility=hidden COPTS.pixman-ssse3.c= -msse3 -mssse3 -fvisibility=hidden #CPPFLAGS+= -DUSE_SSE2 -DUSE_SSSE3 MKDEPFLAGS+= -msse2 -msse3 -mssse3 -fvisibility=hidden .endif .if ${MACHINE_ARCH} == "powerpc" SRCS+= pixman-vmx.c COPTS.pixman-vmx.c= -maltivec #CPPFLAGS+= -DUSE_VMX MKDEPFLAGS+= -maltivec .endif .if !empty(MACHINE_ARCH:Mearm*) # ARM SIMD SRCS+= pixman-arm-simd.c \ pixman-arm-simd-asm.S \ pixman-arm-simd-asm-scaled.S # ARM NEON SRCS+= pixman-arm-neon.c \ pixman-arm-neon-asm.S \ pixman-arm-neon-asm-bilinear.S AFLAGS+= ${${ACTIVE_CC} == "clang" :? -fno-integrated-as :} # ARM iwMMX #SRCS+= pixman-mmx.c #COPTS.pixman-mmx.c= -mcpu=iwmmxt .endif .if !empty(MACHINE_ARCH:Maarch64*) # XXX not yet; new pixman bad on arm64. # ARM64 NEON #SRCS+= pixman-arm-neon.c \ # pixman-arma64-neon-asm.S \ # pixman-arma64-neon-asm-bilinear.S #CPPFLAGS+= -DUSE_ARM_A64_NEON # # XXX: not sure if needed? #AFLAGS+= ${${ACTIVE_CC} == "clang" :? -fno-integrated-as :} .endif .if !empty(MACHINE_ARCH:Mmips*64el) && empty(COPTS:M-march=*) # Loongson MMI SRCS+= pixman-mmx.c #CPPFLAGS+= -DUSE_LOONGSON_MMI # SIMD instructions use floatpoint registers so we need to enable their use COPTS.pixman-mmx.c= -march=loongson2f -mhard-float -Wa,-mhard-float .endif .if ${MACHINE_CPU} == "sh3" # XXX pixman-fast-path.c:1204:1: internal compiler error: Segmentation fault COPTS.pixman-fast-path.c+= -O1 .endif .include "Makefile.cflags" INCS= pixman.h pixman-version.h INCSDIR=${X11INCDIR}/pixman-1 # With pixman 0.28.3, HAVE_PTHREAD_SETSPECIFIC is much faster than TLS CPPFLAGS+= -DHAVE_PTHREAD_SETSPECIFIC #CPPFLAGS+= -DTLS=__thread LIBDPLIBS= m ${.CURDIR}/../../../../../lib/libm PKGCONFIG= pixman-1 PKGDIST= pixman .include .include