ghostscript.mk 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. ################################################################################
  2. #
  3. # ghostscript
  4. #
  5. ################################################################################
  6. GHOSTSCRIPT_VERSION = 10.05.1
  7. GHOSTSCRIPT_SOURCE = ghostscript-$(GHOSTSCRIPT_VERSION).tar.xz
  8. GHOSTSCRIPT_SITE = https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs$(subst .,,$(GHOSTSCRIPT_VERSION))
  9. GHOSTSCRIPT_LICENSE = AGPL-3.0
  10. GHOSTSCRIPT_LICENSE_FILES = LICENSE
  11. GHOSTSCRIPT_CPE_ID_VENDOR = artifex
  12. GHOSTSCRIPT_DEPENDENCIES = \
  13. host-lcms2 \
  14. host-libjpeg \
  15. host-pkgconf \
  16. host-zlib \
  17. fontconfig \
  18. ghostscript-fonts \
  19. jpeg \
  20. lcms2 \
  21. libpng \
  22. tiff
  23. # Ghostscript includes (old) copies of several libraries, delete them.
  24. # Inspired by linuxfromscratch:
  25. # http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html
  26. define GHOSTSCRIPT_REMOVE_LIBS
  27. rm -rf $(@D)/freetype $(@D)/ijs $(@D)/jbig2dec $(@D)/jpeg \
  28. $(@D)/lcms2mt $(@D)/libpng $(@D)/openjpeg $(@D)/tiff \
  29. $(@D)/zlib
  30. endef
  31. GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS
  32. GHOSTSCRIPT_CONF_ENV = \
  33. CCAUX="$(HOSTCC)" \
  34. CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)" \
  35. PKGCONFIG="$(PKG_CONFIG_HOST_BINARY)"
  36. GHOSTSCRIPT_CONF_OPTS = \
  37. --disable-compile-inits \
  38. --enable-fontconfig \
  39. --with-fontpath=/usr/share/fonts \
  40. --enable-freetype \
  41. --disable-gtk \
  42. --without-libpaper \
  43. --with-system-libtiff
  44. ifeq ($(BR2_PACKAGE_JBIG2DEC),y)
  45. GHOSTSCRIPT_DEPENDENCIES += jbig2dec
  46. GHOSTSCRIPT_CONF_OPTS += --with-jbig2dec
  47. else
  48. GHOSTSCRIPT_CONF_OPTS += --without-jbig2dec
  49. endif
  50. ifeq ($(BR2_PACKAGE_LIBIDN),y)
  51. GHOSTSCRIPT_DEPENDENCIES += libidn
  52. GHOSTSCRIPT_CONF_OPTS += --with-libidn
  53. else
  54. GHOSTSCRIPT_CONF_OPTS += --without-libidn
  55. endif
  56. ifeq ($(BR2_PACKAGE_OPENJPEG),y)
  57. GHOSTSCRIPT_DEPENDENCIES += openjpeg
  58. GHOSTSCRIPT_CONF_OPTS += --enable-openjpeg
  59. else
  60. GHOSTSCRIPT_CONF_OPTS += --disable-openjpeg
  61. endif
  62. ifeq ($(BR2_PACKAGE_OPENJPEG)$(BR2_PACKAGE_JBIG2DEC),yy)
  63. # Dependencies already handle on per-package basis above,
  64. # but duplicated here for consistency.
  65. GHOSTSCRIPT_DEPENDENCIES += openjpeg jbig2dec
  66. GHOSTSCRIPT_CONF_OPTS += --with-pdf
  67. else
  68. GHOSTSCRIPT_CONF_OPTS += --without-pdf
  69. endif
  70. ifeq ($(BR2_PACKAGE_CUPS),y)
  71. GHOSTSCRIPT_DEPENDENCIES += cups
  72. GHOSTSCRIPT_CONF_OPTS += \
  73. CUPSCONFIG=$(STAGING_DIR)/usr/bin/cups-config \
  74. --enable-cups
  75. else
  76. GHOSTSCRIPT_CONF_OPTS += --disable-cups
  77. endif
  78. ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
  79. GHOSTSCRIPT_DEPENDENCIES += xlib_libX11
  80. GHOSTSCRIPT_CONF_OPTS += --with-x
  81. else
  82. GHOSTSCRIPT_CONF_OPTS += --without-x
  83. endif
  84. ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
  85. GHOSTSCRIPT_CONF_OPTS += --without-tesseract
  86. endif
  87. $(eval $(autotools-package))