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