freeswitch: revisit build setup

1. Upstream fixed the parallel build issue in
   90ea0b7a1fdd7d8c5adaac87d74ed1c3c74086d0, so no need to force it off
   anymore.

2. The same sed script for uncommenting modules in modules.conf is used
   multiple times. This commit puts the script into a define that can be
   reused.

3. Some ifdefs removed. They only clutter up the Makefile. The sed
   script can run a few extra times, it does not matter.

4. Add a few extra dependencies that came to light.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
Sebastian Kemper 2020-09-08 19:35:32 +02:00
parent 787ea81583
commit e8d5a49f05

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=freeswitch
PKG_VERSION:=1.10.5
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_SOURCE:=freeswitch-$(PKG_VERSION).-release.tar.xz
@ -24,8 +24,7 @@ PKG_BUILD_DEPENDS:=perl/host
PKG_FIXUP:=autoreconf
# With mod_ssml and mod_rayo enabled the parallel compiles always failed
PKG_BUILD_PARALLEL:=0
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_LICENSE:= \
@ -270,6 +269,10 @@ endef
$$(eval $$(call Download,$(1)))
endef
define Package/freeswitch/enable/plugin
$(SED) '/$(1)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
endef
define Package/freeswitch/install/bin
$(INSTALL_DIR) $(1)$(FS_BIN_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(FS_BIN_DIR)/$(2) \
@ -757,27 +760,36 @@ define Build/Configure
$(SED) '/^#/!s/^/#/' $(PKG_BUILD_DIR)/modules.conf
$(foreach m,$(FS_MOD_AVAILABLE),
$(if $(CONFIG_PACKAGE_freeswitch-mod-$(subst _,-,$(m))),
$(SED) '/mod_$(m)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf))
$(call Package/freeswitch/enable/plugin,mod_$(m))))
# Some of the dependencies that necessitate below hacks are documented in
# src/mod/Makefile.am.
# Hack for misc-grammar - needs mod_pocketsphinx to provide grammar files
ifneq ($(CONFIG_PACKAGE_freeswitch-misc-grammar),)
ifeq ($(CONFIG_PACKAGE_freeswitch-mod-pocketsphinx),)
$(SED) '/mod_pocketsphinx$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
endif
$(call Package/freeswitch/enable/plugin,mod_pocketsphinx)
endif
# Hack for mod_gsmopen - it has a build-time dep on mod_spandsp
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-gsmopen),)
ifeq ($(CONFIG_PACKAGE_freeswitch-mod-spandsp),)
$(SED) '/mod_spandsp$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
$(call Package/freeswitch/enable/plugin,mod_spandsp)
endif
# Hack for mod_rayo - it has a build-time dep on mod_dingaling
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-rayo),)
$(call Package/freeswitch/enable/plugin,mod_dingaling)
endif
# Hack for mod_ssml - it has a build-time dep on mod_rayo. And mod_rayo needs
# mod_dingaling :)
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-ssml),)
$(call Package/freeswitch/enable/plugin,mod_rayo)
$(call Package/freeswitch/enable/plugin,mod_dingaling)
endif
# Hack for mod_unimrcp - it has a build-time dep on mod_sofia
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-unimrcp),)
ifeq ($(CONFIG_PACKAGE_freeswitch-mod-sofia),)
$(SED) '/mod_sofia$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
endif
$(call Package/freeswitch/enable/plugin,mod_sofia)
endif
$(call Build/Configure/Default)