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