pixman.mk 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. ################################################################################
  2. #
  3. # pixman
  4. #
  5. ################################################################################
  6. PIXMAN_VERSION = 0.42.2
  7. PIXMAN_SOURCE = pixman-$(PIXMAN_VERSION).tar.xz
  8. PIXMAN_SITE = https://xorg.freedesktop.org/releases/individual/lib
  9. PIXMAN_LICENSE = MIT
  10. PIXMAN_LICENSE_FILES = COPYING
  11. PIXMAN_CPE_ID_VENDOR = pixman
  12. PIXMAN_INSTALL_STAGING = YES
  13. PIXMAN_DEPENDENCIES = host-pkgconf
  14. HOST_PIXMAN_DEPENDENCIES = host-pkgconf
  15. # For 0001-Disable-tests.patch
  16. PIXMAN_AUTORECONF = YES
  17. # don't build gtk based demos
  18. PIXMAN_CONF_OPTS = \
  19. --disable-gtk \
  20. --disable-loongson-mmi \
  21. --disable-arm-iwmmxt
  22. # Affects only tests, and we don't build tests (see
  23. # 0001-Disable-tests.patch). See
  24. # https://gitlab.freedesktop.org/pixman/pixman/-/issues/76, which says
  25. # "not sure why NVD keeps assigning CVEs like this. This is just a
  26. # test executable".
  27. PIXMAN_IGNORE_CVES += CVE-2023-37769
  28. # The ARM SIMD code from pixman requires a recent enough ARM core, but
  29. # there is a runtime CPU check that makes sure it doesn't get used if
  30. # the HW doesn't support it. The only case where the ARM SIMD code
  31. # cannot be *built* at all is when the platform doesn't support ARM
  32. # instructions at all, so we have to disable that explicitly.
  33. ifeq ($(BR2_ARM_CPU_HAS_ARM),y)
  34. PIXMAN_CONF_OPTS += --enable-arm-simd
  35. else
  36. PIXMAN_CONF_OPTS += --disable-arm-simd
  37. endif
  38. ifeq ($(BR2_ARM_CPU_HAS_ARM)$(BR2_ARM_CPU_HAS_NEON),yy)
  39. PIXMAN_CONF_OPTS += --enable-arm-neon
  40. else
  41. PIXMAN_CONF_OPTS += --disable-arm-neon
  42. endif
  43. PIXMAN_CFLAGS = $(TARGET_CFLAGS)
  44. # toolchain gets confused about TLS access through GOT (PIC), so disable TLS
  45. # movhi r4, %got_hiadj(%tls_ldo(fast_path_cache))
  46. # {standard input}:172: Error: bad expression
  47. ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII),y)
  48. PIXMAN_CFLAGS += -DPIXMAN_NO_TLS
  49. endif
  50. ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_101737),y)
  51. PIXMAN_CFLAGS += -O0
  52. endif
  53. PIXMAN_CONF_OPTS += CFLAGS="$(PIXMAN_CFLAGS)"
  54. $(eval $(autotools-package))
  55. $(eval $(host-autotools-package))