Home | History | Annotate | Line # | Download | only in pixman
Makefile revision 1.42
      1 #	$NetBSD: Makefile,v 1.42 2022/12/17 09:46:21 mrg Exp $
      2 
      3 NOLINT=	1	# defined
      4 
      5 .include <bsd.own.mk>
      6 
      7 LIB=		pixman-1
      8 
      9 DIST=	${X11SRCDIR.pixman}/pixman
     10 .PATH:	${DIST}
     11 
     12 SRCS=					\
     13 	pixman.c			\
     14 	pixman-access.c			\
     15 	pixman-access-accessors.c	\
     16 	pixman-bits-image.c		\
     17 	pixman-combine32.c		\
     18 	pixman-combine-float.c		\
     19 	pixman-conical-gradient.c	\
     20 	pixman-edge.c			\
     21 	pixman-edge-accessors.c		\
     22 	pixman-fast-path.c		\
     23 	pixman-filter.c			\
     24 	pixman-glyph.c			\
     25 	pixman-general.c		\
     26 	pixman-gradient-walker.c	\
     27 	pixman-image.c			\
     28 	pixman-implementation.c		\
     29 	pixman-linear-gradient.c	\
     30 	pixman-matrix.c			\
     31 	pixman-noop.c			\
     32 	pixman-radial-gradient.c	\
     33 	pixman-region16.c		\
     34 	pixman-region32.c		\
     35 	pixman-solid-fill.c		\
     36 	pixman-timer.c			\
     37 	pixman-trap.c			\
     38 	pixman-utils.c
     39 
     40 SRCS+=					\
     41 	pixman-x86.c			\
     42 	pixman-mips.c			\
     43 	pixman-arm.c			\
     44 	pixman-ppc.c
     45 
     46 # XXX
     47 
     48 # missing: HAVE_GCC_VECTOR_EXTENSIONS
     49 
     50 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
     51 . if ${MACHINE_ARCH} == "i386"
     52 SRCS+= pixman-mmx.c
     53 COPTS.pixman-mmx.c=	-mmmx -fvisibility=hidden
     54 .  if defined(HAVE_LLVM)
     55 COPTS.pixman-mmx.c+=	-Wno-error=attributes
     56 .  endif
     57 #CPPFLAGS+=		-DUSE_X86_MMX
     58 MKDEPFLAGS+=		-mmmx
     59 . endif
     60 SRCS+=	pixman-sse2.c pixman-ssse3.c
     61 COPTS.pixman-sse2.c=	-msse2 -fvisibility=hidden
     62 COPTS.pixman-ssse3.c=	-msse3 -mssse3 -fvisibility=hidden
     63 #CPPFLAGS+=		-DUSE_SSE2 -DUSE_SSSE3
     64 MKDEPFLAGS+=		-msse2 -msse3 -mssse3 -fvisibility=hidden
     65 .endif
     66 
     67 .if ${MACHINE_ARCH} == "powerpc"
     68 SRCS+=	pixman-vmx.c
     69 COPTS.pixman-vmx.c=	-maltivec
     70 #CPPFLAGS+=		-DUSE_VMX
     71 MKDEPFLAGS+=		-maltivec
     72 .endif
     73 
     74 .if !empty(MACHINE_ARCH:Mearm*)
     75 # ARM SIMD
     76 SRCS+=		pixman-arm-simd.c 		\
     77 		pixman-arm-simd-asm.S		\
     78 		pixman-arm-simd-asm-scaled.S
     79 # ARM NEON
     80 SRCS+=		pixman-arm-neon.c		\
     81 		pixman-arm-neon-asm.S		\
     82 		pixman-arm-neon-asm-bilinear.S
     83 
     84 AFLAGS+=	${${ACTIVE_CC} == "clang" :? -fno-integrated-as :}
     85 # ARM iwMMX
     86 #SRCS+=		pixman-mmx.c
     87 #COPTS.pixman-mmx.c=	-mcpu=iwmmxt
     88 .endif
     89 
     90 .if !empty(MACHINE_ARCH:Maarch64*)
     91 # XXX not yet; new pixman bad on arm64.
     92 # ARM64 NEON
     93 #SRCS+=		pixman-arm-neon.c			\
     94 #		pixman-arma64-neon-asm.S		\
     95 #		pixman-arma64-neon-asm-bilinear.S
     96 #CPPFLAGS+=	-DUSE_ARM_A64_NEON
     97 #
     98 # XXX: not sure if needed?
     99 #AFLAGS+=	${${ACTIVE_CC} == "clang" :? -fno-integrated-as :}
    100 .endif
    101 
    102 .if !empty(MACHINE_ARCH:Mmips*64el) && empty(COPTS:M-march=*)
    103 # Loongson MMI
    104 SRCS+=		pixman-mmx.c
    105 #CPPFLAGS+=	-DUSE_LOONGSON_MMI
    106 # SIMD instructions use floatpoint registers so we need to enable their use
    107 COPTS.pixman-mmx.c=	-march=loongson2f -mhard-float -Wa,-mhard-float
    108 .endif
    109 
    110 .if ${MACHINE_CPU} == "sh3"
    111 # XXX pixman-fast-path.c:1204:1: internal compiler error: Segmentation fault
    112 COPTS.pixman-fast-path.c+=	-O1
    113 .endif
    114 
    115 .include "Makefile.cflags"
    116 
    117 INCS=	pixman.h pixman-version.h
    118 INCSDIR=${X11INCDIR}/pixman-1
    119 
    120 # With pixman 0.28.3, HAVE_PTHREAD_SETSPECIFIC is much faster than TLS
    121 CPPFLAGS+=	-DHAVE_PTHREAD_SETSPECIFIC
    122 #CPPFLAGS+=	-DTLS=__thread
    123 
    124 LIBDPLIBS=	m	${.CURDIR}/../../../../../lib/libm
    125 
    126 PKGCONFIG=	pixman-1
    127 PKGDIST=	pixman
    128 
    129 .include <bsd.x11.mk>
    130 .include <bsd.lib.mk>
    131