1 1.14.8.2 tls # $NetBSD: Makefile,v 1.14.8.3 2014/08/20 00:00:14 tls 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.14.8.1 tls SRCS= \ 13 1.14.8.1 tls pixman.c \ 14 1.14.8.1 tls pixman-access.c \ 15 1.14.8.1 tls pixman-access-accessors.c \ 16 1.14.8.1 tls pixman-bits-image.c \ 17 1.14.8.1 tls pixman-combine32.c \ 18 1.14.8.1 tls pixman-combine-float.c \ 19 1.14.8.1 tls pixman-conical-gradient.c \ 20 1.14.8.1 tls pixman-edge.c \ 21 1.14.8.1 tls pixman-edge-accessors.c \ 22 1.14.8.1 tls pixman-fast-path.c \ 23 1.14.8.2 tls pixman-filter.c \ 24 1.14.8.1 tls pixman-glyph.c \ 25 1.14.8.1 tls pixman-general.c \ 26 1.14.8.1 tls pixman-gradient-walker.c \ 27 1.14.8.1 tls pixman-image.c \ 28 1.14.8.1 tls pixman-implementation.c \ 29 1.14.8.1 tls pixman-linear-gradient.c \ 30 1.14.8.1 tls pixman-matrix.c \ 31 1.14.8.1 tls pixman-noop.c \ 32 1.14.8.1 tls pixman-radial-gradient.c \ 33 1.14.8.1 tls pixman-region16.c \ 34 1.14.8.1 tls pixman-region32.c \ 35 1.14.8.1 tls pixman-solid-fill.c \ 36 1.14.8.1 tls pixman-timer.c \ 37 1.14.8.1 tls pixman-trap.c \ 38 1.14.8.1 tls pixman-utils.c 39 1.1 mrg 40 1.14.8.2 tls SRCS+= \ 41 1.14.8.2 tls pixman-x86.c \ 42 1.14.8.2 tls pixman-mips.c \ 43 1.14.8.2 tls pixman-arm.c \ 44 1.14.8.2 tls pixman-ppc.c \ 45 1.14.8.2 tls 46 1.1 mrg # XXX 47 1.1 mrg 48 1.14.8.3 tls # missing: HAVE_GCC_VECTOR_EXTENSIONS 49 1.14.8.3 tls 50 1.14.8.3 tls .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 51 1.14.8.3 tls . if ${MACHINE_ARCH} == "i386" 52 1.10 mrg SRCS+= pixman-mmx.c 53 1.10 mrg COPTS.pixman-mmx.c= -mmmx -fvisibility=hidden 54 1.14.8.3 tls . if defined(HAVE_LLVM) 55 1.14.8.3 tls COPTS.pixman-mmx.c+= -Wno-error=attributes 56 1.14.8.3 tls . endif 57 1.14.8.3 tls CPPFLAGS+= -DUSE_X86_MMX 58 1.14.8.3 tls MKDEPFLAGS+= -mmmx 59 1.14.8.3 tls . endif 60 1.14.8.3 tls SRCS+= pixman-sse2.c pixman-ssse3.c 61 1.14.8.1 tls COPTS.pixman-sse2.c= -msse2 -fvisibility=hidden 62 1.14.8.3 tls COPTS.pixman-ssse3.c= -msse3 -mssse3 -fvisibility=hidden 63 1.14.8.3 tls CPPFLAGS+= -DUSE_SSE2 -DUSE_SSSE3 64 1.14.8.3 tls MKDEPFLAGS+= -msse2 -mssse3 -mssse3 -fvisibility=hidden 65 1.14.8.1 tls .endif 66 1.14.8.1 tls 67 1.14.8.1 tls .if ${MACHINE_ARCH} == "powerpc" 68 1.14.8.1 tls SRCS+= pixman-vmx.c 69 1.14.8.1 tls COPTS.pixman-vmx.c= -maltivec 70 1.14.8.1 tls CPPFLAGS+= -DUSE_VMX 71 1.14.8.1 tls MKDEPFLAGS+= -maltivec 72 1.3 mrg .endif 73 1.1 mrg 74 1.14.8.3 tls .if !empty(MACHINE_ARCH:Mearm*) 75 1.14.8.1 tls # ARM SIMD 76 1.14.8.1 tls SRCS+= pixman-arm-simd.c \ 77 1.14.8.2 tls pixman-arm-simd-asm.S \ 78 1.14.8.2 tls pixman-arm-simd-asm-scaled.S 79 1.14.8.1 tls CPPFLAGS+= -DUSE_ARM_SIMD 80 1.14.8.1 tls # ARM NEON 81 1.14.8.1 tls SRCS+= pixman-arm-neon.c \ 82 1.14.8.1 tls pixman-arm-neon-asm.S \ 83 1.14.8.1 tls pixman-arm-neon-asm-bilinear.S 84 1.14.8.1 tls CPPFLAGS+= -DUSE_ARM_NEON 85 1.14.8.3 tls 86 1.14.8.3 tls AFLAGS+= ${${ACTIVE_CC} == "clang" :? -fno-integrated-as :} 87 1.14.8.1 tls # ARM iwMMX 88 1.14.8.2 tls #SRCS+= pixman-mmx.c 89 1.14.8.2 tls #COPTS.pixman-mmx.c= -mcpu=iwmmxt 90 1.14.8.2 tls #CPPFLAGS+= -DUSE_ARM_IWMMXT 91 1.14.8.2 tls .endif 92 1.14.8.2 tls 93 1.14.8.2 tls .if ${MACHINE} == "evbmips" 94 1.14.8.2 tls # Loongson MMI 95 1.14.8.1 tls SRCS+= pixman-mmx.c 96 1.14.8.2 tls CPPFLAGS+= -DUSE_LOONGSON_MMI 97 1.14.8.2 tls # SIMD instructions use floatpoint registers so we need to enable their use 98 1.14.8.2 tls COPTS.pixman-mmx.c= -march=loongson2f -mhard-float 99 1.14.8.1 tls .endif 100 1.1 mrg 101 1.1 mrg INCS= pixman.h pixman-version.h 102 1.1 mrg INCSDIR=${X11INCDIR}/pixman-1 103 1.1 mrg 104 1.11 mrg CPPFLAGS+= -DHAVE_CONFIG_H \ 105 1.1 mrg -I${X11SRCDIR.pixman}/../include \ 106 1.1 mrg -I${X11SRCDIR.pixman}/../combine \ 107 1.1 mrg -I${X11SRCDIR.pixman}/pixman 108 1.1 mrg 109 1.14.8.1 tls # With pixman 0.28.3, HAVE_PTHREAD_SETSPECIFIC is much faster than TLS 110 1.14.8.1 tls CPPFLAGS+= -DHAVE_PTHREAD_SETSPECIFIC 111 1.14.8.1 tls #CPPFLAGS+= -DTLS=__thread 112 1.12 mrg 113 1.7 veego LIBDPLIBS= m ${.CURDIR}/../../../../../lib/libm 114 1.7 veego 115 1.5 cube PKGCONFIG= pixman-1 116 1.5 cube PKGDIST= pixman 117 1.5 cube 118 1.1 mrg .include <bsd.x11.mk> 119 1.1 mrg .include <bsd.lib.mk> 120