xref: /OK3568_Linux_fs/buildroot/package/pixman/pixman.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# pixman
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunPIXMAN_VERSION = 0.40.0
8*4882a593SmuzhiyunPIXMAN_SOURCE = pixman-$(PIXMAN_VERSION).tar.xz
9*4882a593SmuzhiyunPIXMAN_SITE = https://xorg.freedesktop.org/releases/individual/lib
10*4882a593SmuzhiyunPIXMAN_LICENSE = MIT
11*4882a593SmuzhiyunPIXMAN_LICENSE_FILES = COPYING
12*4882a593SmuzhiyunPIXMAN_CPE_ID_VENDOR = pixman
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunPIXMAN_INSTALL_STAGING = YES
15*4882a593SmuzhiyunPIXMAN_DEPENDENCIES = host-pkgconf
16*4882a593SmuzhiyunHOST_PIXMAN_DEPENDENCIES = host-pkgconf
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunifeq ($(BR2_PREFER_ROCKCHIP_RGA),y)
19*4882a593SmuzhiyunPIXMAN_DEPENDENCIES += rockchip-rga
20*4882a593Smuzhiyundefine PIXMAN_INSTALL_TARGET_ENV
21*4882a593Smuzhiyun	echo "export PIXMAN_USE_RGA=1" > $(@D)/pixman.sh
22*4882a593Smuzhiyun	$(INSTALL) -D -m 0644 $(@D)/pixman.sh \
23*4882a593Smuzhiyun		$(TARGET_DIR)/etc/profile.d/pixman.sh
24*4882a593Smuzhiyunendef
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunPIXMAN_POST_INSTALL_TARGET_HOOKS += PIXMAN_INSTALL_TARGET_ENV
27*4882a593Smuzhiyunendif
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun# For 0001-Disable-tests.patch
30*4882a593SmuzhiyunPIXMAN_AUTORECONF = YES
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun# don't build gtk based demos
33*4882a593SmuzhiyunPIXMAN_CONF_OPTS = --disable-gtk
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun# The ARM SIMD code from pixman requires a recent enough ARM core, but
36*4882a593Smuzhiyun# there is a runtime CPU check that makes sure it doesn't get used if
37*4882a593Smuzhiyun# the HW doesn't support it. The only case where the ARM SIMD code
38*4882a593Smuzhiyun# cannot be *built* at all is when the platform doesn't support ARM
39*4882a593Smuzhiyun# instructions at all, so we have to disable that explicitly.
40*4882a593Smuzhiyunifeq ($(BR2_ARM_CPU_HAS_ARM),y)
41*4882a593SmuzhiyunPIXMAN_CONF_OPTS += --enable-arm-simd
42*4882a593Smuzhiyunelse
43*4882a593SmuzhiyunPIXMAN_CONF_OPTS += --disable-arm-simd
44*4882a593Smuzhiyunendif
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunifeq ($(BR2_ARM_CPU_HAS_ARM)$(BR2_ARM_CPU_HAS_NEON),yy)
47*4882a593SmuzhiyunPIXMAN_CONF_OPTS += --enable-arm-neon
48*4882a593Smuzhiyunelse
49*4882a593SmuzhiyunPIXMAN_CONF_OPTS += --disable-arm-neon
50*4882a593Smuzhiyunendif
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun# disable iwmmxt support for CPU's that don't have
53*4882a593Smuzhiyun# this feature
54*4882a593Smuzhiyunifneq ($(BR2_iwmmxt),y)
55*4882a593SmuzhiyunPIXMAN_CONF_OPTS += --disable-arm-iwmmxt
56*4882a593Smuzhiyunendif
57*4882a593Smuzhiyun
58*4882a593SmuzhiyunPIXMAN_CFLAGS = $(TARGET_CFLAGS)
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun# toolchain gets confused about TLS access through GOT (PIC), so disable TLS
61*4882a593Smuzhiyun# movhi	r4, %got_hiadj(%tls_ldo(fast_path_cache))
62*4882a593Smuzhiyun# {standard input}:172: Error: bad expression
63*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y)
64*4882a593SmuzhiyunPIXMAN_CFLAGS += -DPIXMAN_NO_TLS
65*4882a593Smuzhiyunendif
66*4882a593Smuzhiyun
67*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y)
68*4882a593SmuzhiyunPIXMAN_CFLAGS += -O0
69*4882a593Smuzhiyunendif
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunPIXMAN_CONF_OPTS += CFLAGS="$(PIXMAN_CFLAGS)"
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun$(eval $(autotools-package))
74*4882a593Smuzhiyun$(eval $(host-autotools-package))
75