diff --git a/package/exim/exim.mk b/package/exim/exim.mk index 3e8404b616..bfb138e9f8 100644 --- a/package/exim/exim.mk +++ b/package/exim/exim.mk @@ -11,15 +11,42 @@ EXIM_LICENSE = GPLv2+ EXIM_LICENSE_FILES = LICENCE EXIM_DEPENDENCIES = pcre berkeleydb -# These echos seem to be the sanest way to feed CC and CFLAGS to exim +# Modify a variable value. It must already exist in the file, either +# commented or not. +define exim-config-change # variable-name, variable-value + $(SED) 's,^[#[:space:]]*$1[[:space:]]*=.*$$,$1=$2,' \ + $(@D)/Local/Makefile +endef + +# Comment-out a variable. Has no effect if it does not exits. +define exim-config-unset # variable-name + $(SED) 's,^\([[:space:]]*$1[[:space:]]*=.*$$\),# \1,' \ + $(@D)/Local/Makefile +endef + +# Add a variable definition. It must not already exist in the file, +# otherwise it would be defined twice with potentially different values. +define exim-config-add # variable-name, variable-value + echo "$1=$2" >>$(@D)/Local/Makefile +endef + define EXIM_CONFIGURE_CMDS - $(INSTALL) -m 0644 -D package/exim/Local-Makefile $(@D)/Local/Makefile - echo "CC=$(TARGET_CC)" >>$(@D)/Local/Makefile - echo "CFLAGS=$(TARGET_CFLAGS)" >>$(@D)/Local/Makefile - echo "AR=$(TARGET_AR) cq" >>$(@D)/Local/Makefile - echo "RANLIB=$(TARGET_RANLIB)" >>$(@D)/Local/Makefile - echo "HOSTCC=$(HOSTCC)" >>$(@D)/Local/Makefile - echo "HOSTCFLAGS=$(HOSTCFLAGS)" >>$(@D)/Local/Makefile + $(INSTALL) -m 0644 $(@D)/src/EDITME $(@D)/Local/Makefile + $(call exim-config-change,BIN_DIRECTORY,/usr/sbin) + $(call exim-config-change,CONFIGURE_FILE,/etc/exim/configure) + $(call exim-config-change,EXIM_USER,ref:exim) + $(call exim-config-change,EXIM_GROUP,mail) + $(call exim-config-change,TRANSPORT_LMTP,yes) + $(call exim-config-change,PCRE_LIBS,-lpcre) + $(call exim-config-change,PCRE_CONFIG,no) + $(call exim-config-change,HAVE_ICONV,no) + $(call exim-config-unset,EXIM_MONITOR) + $(call exim-config-add,CC,$(TARGET_CC)) + $(call exim-config-add,CFLAGS,$(TARGET_CFLAGS)) + $(call exim-config-add,AR,$(TARGET_AR) cq) + $(call exim-config-add,RANLIB,$(TARGET_RANLIB)) + $(call exim-config-add,HOSTCC,$(HOSTCC)) + $(call exim-config-add,HOSTCFLAGS,$(HOSTCFLAGS)) endef # "The -j (parallel) flag must not be used with make"