cups: convert to autotargets

There's still custom autoreconf handling because of autoheader errors.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Peter Korsgaard 2012-05-01 08:20:24 +02:00
parent 29f656e081
commit f64a1b850f

View File

@ -3,13 +3,18 @@
# cups # cups
# #
################################################################################ ################################################################################
CUPS_VERSION = 1.3.9 CUPS_VERSION = 1.3.9
CUPS_NAME = cups-$(CUPS_VERSION) CUPS_SOURCE = cups-$(CUPS_VERSION)-source.tar.bz2
CUPS_DIR = $(BUILD_DIR)/$(CUPS_NAME)
CUPS_SITE = http://ftp.easysw.com/pub/cups/$(CUPS_VERSION) CUPS_SITE = http://ftp.easysw.com/pub/cups/$(CUPS_VERSION)
CUPS_SOURCE:=$(CUPS_NAME)-source.tar.bz2 CUPS_INSTALL_STAGING = YES
CUPS_DESTDIR = $(STAGING_DIR)/usr/lib CUPS_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) DSTROOT=$(STAGING_DIR) install
CUPS_CAT:=$(BZCAT) CUPS_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) DSTROOT=$(TARGET_DIR) install
CUPS_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) $(CUPS_CFLAGS)"
CUPS_CONF_OPT = --without-perl \
--without-java \
--disable-gnutls \
--disable-gssapi
ifeq ($(BR2_PACKAGE_DBUS),y) ifeq ($(BR2_PACKAGE_DBUS),y)
CUPS_CONF_OPT += --enable-dbus CUPS_CONF_OPT += --enable-dbus
@ -22,19 +27,6 @@ ifeq ($(BR2_PACKAGE_XORG7),y)
CUPS_DEPENDENCIES += xlib_libX11 CUPS_DEPENDENCIES += xlib_libX11
endif endif
CUPS_CONF_OPT += --disable-perl
CUPS_CONF_OPT += --disable-java
CUPS_CFLAGS = $(TARGET_CFLAGS)
ifeq ($(BR2_PACKAGE_PERL),disabled) # We do not provide perl (yet)
CUPS_CONF_ENV += ac_cv_path_perl=$(STAGING_DIR)/usr/bin/perl
CUPS_CONF_OPT += --with-perl
CUPS_DEPENDENCIES += microperl
else
CUPS_CONF_OPT += --disable-perl
endif
ifeq ($(BR2_PACKAGE_PHP),y) ifeq ($(BR2_PACKAGE_PHP),y)
CUPS_CFLAGS += -I$(STAGING_DIR)/usr/include/php CUPS_CFLAGS += -I$(STAGING_DIR)/usr/include/php
CUPS_CFLAGS += -I$(STAGING_DIR)/usr/include/php/main CUPS_CFLAGS += -I$(STAGING_DIR)/usr/include/php/main
@ -46,7 +38,7 @@ ifeq ($(BR2_PACKAGE_PHP),y)
CUPS_CONF_OPT += --with-php CUPS_CONF_OPT += --with-php
CUPS_DEPENDENCIES += php CUPS_DEPENDENCIES += php
else else
CUPS_CONF_OPT += --disable-php CUPS_CONF_OPT += --without-php
endif endif
ifeq ($(BR2_PACKAGE_PYTHON),y) ifeq ($(BR2_PACKAGE_PYTHON),y)
@ -55,7 +47,7 @@ ifeq ($(BR2_PACKAGE_PYTHON),y)
CUPS_CONF_OPT += --with-python CUPS_CONF_OPT += --with-python
CUPS_DEPENDENCIES += python CUPS_DEPENDENCIES += python
else else
CUPS_CONF_OPT += --disable-python CUPS_CONF_OPT += --without-python
endif endif
ifeq ($(BR2_PACKAGE_CUPS_PDFTOPS),y) ifeq ($(BR2_PACKAGE_CUPS_PDFTOPS),y)
@ -64,68 +56,27 @@ else
CUPS_CONF_OPT += --disable-pdftops CUPS_CONF_OPT += --disable-pdftops
endif endif
$(DL_DIR)/$(CUPS_SOURCE): # standard autoreconf fails with autoheader failures
$(call DOWNLOAD,$(CUPS_SITE)/$(CUPS_SOURCE)) define CUPS_FIXUP_AUTOCONF
cd $(@D) && $(AUTOCONF)
endef
CUPS_DEPENDENCIES += host-autoconf
$(CUPS_DIR)/.unpacked: $(DL_DIR)/$(CUPS_SOURCE) CUPS_PRE_CONFIGURE_HOOKS += CUPS_FIXUP_AUTOCONF
$(CUPS_CAT) $(DL_DIR)/$(CUPS_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
support/scripts/apply-patches.sh $(CUPS_DIR) package/cups/ \*.patch
$(call CONFIG_UPDATE,$(CUPS_DIR))
touch $@
$(CUPS_DIR)/.configured: $(CUPS_DIR)/.unpacked # Fixup prefix= and exec_prefix= in cups-config, and remove the
cd $(CUPS_DIR) && $(AUTOCONF) # -Wl,-rpath option.
(cd $(CUPS_DIR) && \ define CUPS_FIXUP_CUPS_CONFIG
$(TARGET_CONFIGURE_OPTS) \ $(SED) 's%prefix=/usr%prefix=$(STAGING_DIR)/usr%' \
$(TARGET_CONFIGURE_ARGS) \ $(STAGING_DIR)/usr/bin/cups-config
$(CUPS_CONF_ENV) \ $(SED) 's%exec_prefix=/usr%exec_prefix=$(STAGING_DIR)/usr%' \
CFLAGS="$(CUPS_CFLAGS)" \ $(STAGING_DIR)/usr/bin/cups-config
./configure $(QUIET) \ $(SED) "s%includedir=.*%includedir=$(STAGING_DIR)/usr/include%" \
--target=$(GNU_TARGET_NAME) \ $(STAGING_DIR)/usr/bin/cups-config
--host=$(GNU_TARGET_NAME) \ $(SED) 's%-Wl,-rpath,\$${libdir}%%' \
--build=$(GNU_HOST_NAME) \ $(STAGING_DIR)/usr/bin/cups-config
--prefix=/usr \ endef
--exec-prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--with-config-file-path=/etc \
--disable-gnutls \
--disable-gssapi \
$(CUPS_CONF_OPT) \
)
touch $@
$(CUPS_DIR)/.compiled: $(CUPS_DIR)/.configured CUPS_POST_INSTALL_STAGING_HOOKS += CUPS_FIXUP_CUPS_CONFIG
$(MAKE) CFLAGS="$(CUPS_CFLAGS)" -C $(CUPS_DIR) cups backend berkeley cgi-bin filter \
locale monitor notifier pdftops scheduler systemv scripting/php \
conf data doc fonts ppd templates
touch $@
$(CUPS_DIR)/.installed: $(CUPS_DIR)/.compiled
$(MAKE) -C $(CUPS_DIR) DESTDIR=$(STAGING_DIR) DSTROOT=$(STAGING_DIR) install
$(MAKE) -C $(CUPS_DIR) DESTDIR=$(TARGET_DIR) DSTROOT=$(TARGET_DIR) install
$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/cups-config
$(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/cups-config
$(SED) "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include\',g" $(STAGING_DIR)/usr/bin/cups-config
$(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/bin/cups-config
touch $@
cups: host-autoconf $(CUPS_DEPENDENCIES) $(CUPS_DIR)/.installed
cups-source: $(DL_DIR)/$(CUPS_SOURCE)
cups-clean:
-$(MAKE) -C $(CUPS_DIR) clean
cups-dirclean:
rm -fr $(CUPS_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_CUPS),y)
TARGETS+=cups
endif
$(eval $(call AUTOTARGETS))