1 1.42.2.1 perseant # $NetBSD: Makefile,v 1.42.2.1 2025/08/02 05:50:44 perseant Exp $ 2 1.2 rtr 3 1.2 rtr NOLINT= 1 # defined 4 1.1 mrg 5 1.1 mrg .include <bsd.own.mk> 6 1.1 mrg 7 1.1 mrg LIB= pixman-1 8 1.1 mrg 9 1.1 mrg DIST= ${X11SRCDIR.pixman}/pixman 10 1.6 veego .PATH: ${DIST} 11 1.1 mrg 12 1.15 jmcneill SRCS= \ 13 1.15 jmcneill pixman.c \ 14 1.15 jmcneill pixman-access.c \ 15 1.15 jmcneill pixman-access-accessors.c \ 16 1.15 jmcneill pixman-bits-image.c \ 17 1.15 jmcneill pixman-combine32.c \ 18 1.15 jmcneill pixman-combine-float.c \ 19 1.15 jmcneill pixman-conical-gradient.c \ 20 1.15 jmcneill pixman-edge.c \ 21 1.15 jmcneill pixman-edge-accessors.c \ 22 1.15 jmcneill pixman-fast-path.c \ 23 1.24 mrg pixman-filter.c \ 24 1.15 jmcneill pixman-glyph.c \ 25 1.15 jmcneill pixman-general.c \ 26 1.15 jmcneill pixman-gradient-walker.c \ 27 1.15 jmcneill pixman-image.c \ 28 1.15 jmcneill pixman-implementation.c \ 29 1.15 jmcneill pixman-linear-gradient.c \ 30 1.15 jmcneill pixman-matrix.c \ 31 1.15 jmcneill pixman-noop.c \ 32 1.15 jmcneill pixman-radial-gradient.c \ 33 1.15 jmcneill pixman-region16.c \ 34 1.15 jmcneill pixman-region32.c \ 35 1.42.2.1 perseant pixman-region64f.c \ 36 1.15 jmcneill pixman-solid-fill.c \ 37 1.15 jmcneill pixman-timer.c \ 38 1.15 jmcneill pixman-trap.c \ 39 1.15 jmcneill pixman-utils.c 40 1.1 mrg 41 1.24 mrg SRCS+= \ 42 1.24 mrg pixman-arm.c \ 43 1.42.2.1 perseant pixman-mips.c \ 44 1.42.2.1 perseant pixman-ppc.c \ 45 1.42.2.1 perseant pixman-riscv.c \ 46 1.42.2.1 perseant pixman-x86.c 47 1.24 mrg 48 1.1 mrg # XXX 49 1.1 mrg 50 1.29 mrg # missing: HAVE_GCC_VECTOR_EXTENSIONS 51 1.29 mrg 52 1.28 mrg .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 53 1.28 mrg . if ${MACHINE_ARCH} == "i386" 54 1.10 mrg SRCS+= pixman-mmx.c 55 1.10 mrg COPTS.pixman-mmx.c= -mmmx -fvisibility=hidden 56 1.28 mrg . if defined(HAVE_LLVM) 57 1.27 riz COPTS.pixman-mmx.c+= -Wno-error=attributes 58 1.28 mrg . endif 59 1.28 mrg MKDEPFLAGS+= -mmmx 60 1.27 riz . endif 61 1.28 mrg SRCS+= pixman-sse2.c pixman-ssse3.c 62 1.23 martin COPTS.pixman-sse2.c= -msse2 -fvisibility=hidden 63 1.28 mrg COPTS.pixman-ssse3.c= -msse3 -mssse3 -fvisibility=hidden 64 1.34 szptvlfn MKDEPFLAGS+= -msse2 -msse3 -mssse3 -fvisibility=hidden 65 1.3 mrg .endif 66 1.1 mrg 67 1.19 macallan .if ${MACHINE_ARCH} == "powerpc" 68 1.42.2.1 perseant # This checks for machdep.altivec and then assumes POWER7. 69 1.42.2.1 perseant #SRCS+= pixman-vmx.c 70 1.42.2.1 perseant #COPTS.pixman-vmx.c= -maltivec -mvsx 71 1.42.2.1 perseant #MKDEPFLAGS+= -maltivec -mvsx 72 1.19 macallan .endif 73 1.19 macallan 74 1.26 skrll .if !empty(MACHINE_ARCH:Mearm*) 75 1.15 jmcneill # ARM SIMD 76 1.26 skrll SRCS+= pixman-arm-simd.c \ 77 1.26 skrll pixman-arm-simd-asm.S \ 78 1.26 skrll pixman-arm-simd-asm-scaled.S 79 1.15 jmcneill # ARM NEON 80 1.15 jmcneill SRCS+= pixman-arm-neon.c \ 81 1.15 jmcneill pixman-arm-neon-asm.S \ 82 1.15 jmcneill pixman-arm-neon-asm-bilinear.S 83 1.31 joerg 84 1.31 joerg AFLAGS+= ${${ACTIVE_CC} == "clang" :? -fno-integrated-as :} 85 1.15 jmcneill # ARM iwMMX 86 1.22 skrll #SRCS+= pixman-mmx.c 87 1.22 skrll #COPTS.pixman-mmx.c= -mcpu=iwmmxt 88 1.15 jmcneill .endif 89 1.15 jmcneill 90 1.41 mrg .if !empty(MACHINE_ARCH:Maarch64*) 91 1.42 mrg # XXX not yet; new pixman bad on arm64. 92 1.39 mrg # ARM64 NEON 93 1.42.2.1 perseant SRCS+= pixman-arm-neon.c \ 94 1.42.2.1 perseant pixman-arma64-neon-asm.S \ 95 1.42.2.1 perseant pixman-arma64-neon-asm-bilinear.S 96 1.42.2.1 perseant 97 1.42.2.1 perseant AFLAGS+= ${${ACTIVE_CC} == "clang" :? -fno-integrated-as :} 98 1.39 mrg .endif 99 1.39 mrg 100 1.38 christos .if !empty(MACHINE_ARCH:Mmips*64el) && empty(COPTS:M-march=*) 101 1.21 macallan # Loongson MMI 102 1.21 macallan SRCS+= pixman-mmx.c 103 1.41 mrg #CPPFLAGS+= -DUSE_LOONGSON_MMI 104 1.21 macallan # SIMD instructions use floatpoint registers so we need to enable their use 105 1.35 macallan COPTS.pixman-mmx.c= -march=loongson2f -mhard-float -Wa,-mhard-float 106 1.21 macallan .endif 107 1.21 macallan 108 1.36 mrg .if ${MACHINE_CPU} == "sh3" 109 1.36 mrg # XXX pixman-fast-path.c:1204:1: internal compiler error: Segmentation fault 110 1.36 mrg COPTS.pixman-fast-path.c+= -O1 111 1.36 mrg .endif 112 1.36 mrg 113 1.42.2.1 perseant .if !empty(MACHINE_ARCH:Mriscv*) 114 1.42.2.1 perseant # RISC-V RVV; Needs NetBSD porting. 115 1.42.2.1 perseant #SRCS+= pixman-rvv.c 116 1.42.2.1 perseant .endif 117 1.42.2.1 perseant 118 1.41 mrg .include "Makefile.cflags" 119 1.41 mrg 120 1.1 mrg INCS= pixman.h pixman-version.h 121 1.1 mrg INCSDIR=${X11INCDIR}/pixman-1 122 1.1 mrg 123 1.7 veego LIBDPLIBS= m ${.CURDIR}/../../../../../lib/libm 124 1.7 veego 125 1.42.2.1 perseant PKGCONFIG= pixman-1 126 1.42.2.1 perseant PKGDIST.pixman-1= ${X11SRCDIR.pixman}/../include/pixman-1.pc 127 1.42.2.1 perseant .PATH: ${X11SRCDIR.pixman}/../include 128 1.5 cube 129 1.1 mrg .include <bsd.x11.mk> 130 1.1 mrg .include <bsd.lib.mk> 131