Home | History | Annotate | Line # | Download | only in pixman
Makefile revision 1.46
      1 #	$NetBSD: Makefile,v 1.46 2025/07/26 08:49:38 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-region64f.c		\
     36 	pixman-solid-fill.c		\
     37 	pixman-timer.c			\
     38 	pixman-trap.c			\
     39 	pixman-utils.c
     40 
     41 SRCS+=					\
     42 	pixman-arm.c			\
     43 	pixman-mips.c			\
     44 	pixman-ppc.c			\
     45 	pixman-riscv.c			\
     46 	pixman-x86.c
     47 
     48 # XXX
     49 
     50 # missing: HAVE_GCC_VECTOR_EXTENSIONS
     51 
     52 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
     53 . if ${MACHINE_ARCH} == "i386"
     54 SRCS+= pixman-mmx.c
     55 COPTS.pixman-mmx.c=	-mmmx -fvisibility=hidden
     56 .  if defined(HAVE_LLVM)
     57 COPTS.pixman-mmx.c+=	-Wno-error=attributes
     58 .  endif
     59 MKDEPFLAGS+=		-mmmx
     60 . endif
     61 SRCS+=	pixman-sse2.c pixman-ssse3.c
     62 COPTS.pixman-sse2.c=	-msse2 -fvisibility=hidden
     63 COPTS.pixman-ssse3.c=	-msse3 -mssse3 -fvisibility=hidden
     64 MKDEPFLAGS+=		-msse2 -msse3 -mssse3 -fvisibility=hidden
     65 .endif
     66 
     67 .if ${MACHINE_ARCH} == "powerpc"
     68 # This checks for machdep.altivec and then assumes POWER7.
     69 #SRCS+=	pixman-vmx.c
     70 #COPTS.pixman-vmx.c=	-maltivec -mvsx
     71 #MKDEPFLAGS+=		-maltivec -mvsx
     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 
     97 # XXX: not sure if needed?
     98 #AFLAGS+=	${${ACTIVE_CC} == "clang" :? -fno-integrated-as :}
     99 .endif
    100 
    101 .if !empty(MACHINE_ARCH:Mmips*64el) && empty(COPTS:M-march=*)
    102 # Loongson MMI
    103 SRCS+=		pixman-mmx.c
    104 #CPPFLAGS+=	-DUSE_LOONGSON_MMI
    105 # SIMD instructions use floatpoint registers so we need to enable their use
    106 COPTS.pixman-mmx.c=	-march=loongson2f -mhard-float -Wa,-mhard-float
    107 .endif
    108 
    109 .if ${MACHINE_CPU} == "sh3"
    110 # XXX pixman-fast-path.c:1204:1: internal compiler error: Segmentation fault
    111 COPTS.pixman-fast-path.c+=	-O1
    112 .endif
    113 
    114 .if !empty(MACHINE_ARCH:Mriscv*)
    115 # RISC-V RVV; Needs NetBSD porting.
    116 #SRCS+=	pixman-rvv.c
    117 .endif
    118 
    119 .include "Makefile.cflags"
    120 
    121 INCS=	pixman.h pixman-version.h
    122 INCSDIR=${X11INCDIR}/pixman-1
    123 
    124 LIBDPLIBS=	m	${.CURDIR}/../../../../../lib/libm
    125 
    126 PKGCONFIG=      pixman-1
    127 PKGDIST.pixman-1=       ${X11SRCDIR.pixman}/../include/pixman-1.pc
    128 .PATH: ${X11SRCDIR.pixman}/../include
    129 
    130 .include <bsd.x11.mk>
    131 .include <bsd.lib.mk>
    132