FS_STABLE_TLS_DIR:=$(FS_STABLE_SYSCONF_DIR)/$(PRG_NAME)/tls
FS_STABLE_TZ_DIR:=$(FS_STABLE_DATA_DIR)/tz
-FS_STABLE_FTMOD_AVAILABLE:= \
+FTDM:=freetdm
+PKG_LIBFTDM:=lib$(FTDM)-stable
+
+LIBFTDM_FTMOD_AVAILABLE:= \
analog \
analog_em \
libpri \
expr \
fifo \
format_cdr \
- freetdm \
+ $(FTDM) \
fsk \
fsv \
g723_1 \
yaml \
yuv
-LIBFTDM:=libfreetdm
-
PKG_CONFIG_DEPENDS:= \
+ $(patsubst %,CONFIG_PACKAGE_$(PKG_LIBFTDM)-ftmod-%,$(LIBFTDM_FTMOD_AVAILABLE)) \
$(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-%,$(FS_STABLE_MISC_AVAILABLE)) \
- $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-ftmod-%,$(FS_STABLE_FTMOD_AVAILABLE)) \
$(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-mod-%,$(FS_STABLE_MOD_AVAILABLE)) \
CONFIG_FS_STABLE_WITH_DEBUG \
CONFIG_FS_STABLE_WITH_FREETYPE \
CONFIG_FS_STABLE_WITH_VPX \
CONFIG_FS_STABLE_WITH_ZRTP \
CONFIG_LIBC \
- CONFIG_PACKAGE_$(LIBFTDM) \
+ CONFIG_PACKAGE_$(PKG_LIBFTDM) \
CONFIG_SOFT_FLOAT
include $(INCLUDE_DIR)/package.mk
done
endef
-define Package/$(PKG_NAME)/install/ftmod
+define Package/$(PKG_LIBFTDM)/install/ftmod
$(INSTALL_DIR) $(1)$(FS_STABLE_MOD_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(FS_STABLE_MOD_DIR)/ftmod_$(2).so \
$(1)$(FS_STABLE_MOD_DIR)
$(1)$(FS_STABLE_MOD_DIR)
endef
-define Package/$(LIBFTDM)
- CATEGORY:=Libraries
- DEPENDS:=$(PKG_NAME)
+define Package/$(PKG_LIBFTDM)/Default
SECTION:=libs
+ CATEGORY:=Libraries
SUBMENU:=Telephony
+ URL:=https://www.$(PRG_NAME).org
+endef
+
+define Package/$(PKG_LIBFTDM)
+$(call Package/$(PKG_LIBFTDM)/Default)
+ DEPENDS:=
TITLE:=TDM signaling and media API
+ MENU:=1
URL:=https://www.$(PRG_NAME).org
endef
-define Package/$(LIBFTDM)/description
-Provides a unified interface to hardware TDM cards and ss7 stacks for
-FreeSWITCH.
+define Package/$(PKG_LIBFTDM)/description
+Provides a unified interface to hardware TDM cards and SS7 stacks.
endef
-define Package/$(LIBFTDM)/install
-$(call Package/$(PKG_NAME)/install/lib,$(1),$(LIBFTDM))
+define Package/$(PKG_LIBFTDM)/install
+$(call Package/$(PKG_NAME)/install/lib,$(1),lib$(FTDM))
+endef
+
+define Package/$(PKG_LIBFTDM)/FTModule
+define Package/$(PKG_LIBFTDM)-ftmod-$(1)
+$(call Package/$(PKG_LIBFTDM)/Default)
+ DEPENDS:=PACKAGE_$(PKG_LIBFTDM)-ftmod-$(1):$(PKG_LIBFTDM) \
+ $(patsubst +%,+PACKAGE_$(PKG_LIBFTDM)-ftmod-$(1):%,$(4))
+ TITLE:=$(2) FreeTDM module
+endef
+define Package/$(PKG_LIBFTDM)-ftmod-$(1)/description
+$(subst \n,$(newline),$(3))
+endef
+define Package/$(PKG_LIBFTDM)-ftmod-$(1)/install
+$(call Package/$(PKG_LIBFTDM)/install/ftmod,$$(1),$(1))
+endef
+$$(eval $$(call BuildPackage,$(PKG_LIBFTDM)-ftmod-$(1)))
endef
define Package/$(PKG_NAME)/config
$$(eval $$(call BuildPackage,$(PKG_NAME)-example-$(1)))
endef
-define Package/$(PKG_NAME)/FTModule
-define Package/$(PKG_NAME)-ftmod-$(1)
-$(call Package/$(PKG_NAME)/Default)
- DEPENDS := \
- $(PKG_NAME) \
- $(patsubst +%,+PACKAGE_$(PKG_NAME)-ftmod-$(1):%,$(4)) \
- +PACKAGE_$(PKG_NAME)-ftmod-$(1):$(LIBFTDM)
- TITLE:=$(2) FreeTDM module
-endef
-define Package/$(PKG_NAME)-ftmod-$(1)/description
-$(subst \n,$(newline),$(3))
-endef
-define Package/$(PKG_NAME)-ftmod-$(1)/install
-$(call Package/$(PKG_NAME)/install/ftmod,$$(1),$(1))
-endef
-$$(eval $$(call BuildPackage,$(PKG_NAME)-ftmod-$(1)))
-endef
-
define Package/$(PKG_NAME)/Language
define Package/$(PKG_NAME)-lang-$(1)
$(call Package/$(PKG_NAME)/Default)
$(if $(CONFIG_FS_STABLE_WITH_ODBC),--with-odbc="$(STAGING_DIR)/usr") \
$(if $(CONFIG_FS_STABLE_WITH_PGSQL),,--without-pgsql) \
$(if $(CONFIG_FS_STABLE_WITH_PNG),,--without-png) \
- $(if $(CONFIG_PACKAGE_$(PKG_NAME)-ftmod-libpri),--with-libpri="$(STAGING_DIR)/usr",--without-libpri) \
- $(if $(CONFIG_PACKAGE_$(PKG_NAME)-ftmod-pritap),--with-pritap,--without-pritap)
+ $(if $(CONFIG_PACKAGE_$(PKG_LIBFTDM)-ftmod-libpri),--with-libpri="$(STAGING_DIR)/usr",--without-libpri) \
+ $(if $(CONFIG_PACKAGE_$(PKG_LIBFTDM)-ftmod-pritap),--with-pritap,--without-pritap)
ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-misc-python-esl)$(CONFIG_PACKAGE_$(PKG_NAME)-mod-python),)
CONFIGURE_ARGS+= \
define Build/Compile
$(call Build/Compile/Default)
# FreeTDM is only compiled/installed automatically if mod_freetdm is selected
-ifneq ($(CONFIG_PACKAGE_$(LIBFTDM)),)
+ifneq ($(CONFIG_PACKAGE_$(PKG_LIBFTDM)),)
ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-freetdm),)
- $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/freetdm)
+ $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/$(FTDM))
endif
endif
ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-misc-perl-esl),)
define Build/Install
$(call Build/Install/Default)
-ifneq ($(CONFIG_PACKAGE_$(LIBFTDM)),)
+ifneq ($(CONFIG_PACKAGE_$(PKG_LIBFTDM)),)
ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-freetdm),)
- $(call Build/Install/Default,-C $(PKG_BUILD_DIR)/libs/freetdm install)
+ $(call Build/Install/Default,-C $(PKG_BUILD_DIR)/libs/$(FTDM) install)
endif
endif
ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-misc-perl-esl),)
$(INSTALL_DATA) \
$(PKG_INSTALL_DIR)$(FS_STABLE_PKGCONFIG_DIR)/$(PRG_NAME).pc \
$(1)$(FS_STABLE_PKGCONFIG_DIR)
-ifneq ($(CONFIG_PACKAGE_$(LIBFTDM)),)
+ifneq ($(CONFIG_PACKAGE_$(PKG_LIBFTDM)),)
$(INSTALL_DATA) \
- $(PKG_INSTALL_DIR)$(FS_STABLE_PKGCONFIG_DIR)/freetdm.pc \
+ $(PKG_INSTALL_DIR)$(FS_STABLE_PKGCONFIG_DIR)/$(FTDM).pc \
$(1)$(FS_STABLE_PKGCONFIG_DIR)
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include
endif
endef
-$(eval $(call BuildPackage,$(LIBFTDM)))
+$(eval $(call BuildPackage,$(PKG_LIBFTDM)))
$(eval $(call BuildPackage,$(PKG_NAME)))
$(eval $(call BuildPackage,$(PKG_NAME)-misc-hotplug))
$(eval $(call BuildPackage,$(PKG_NAME)-misc-perl-esl))
# 4 - Module dependencies
################################
-$(eval $(call Package/$(PKG_NAME)/FTModule,analog,Analog,Offers generic FXO/FXS support for any type of card supported by FreeTDM.,))
-$(eval $(call Package/$(PKG_NAME)/FTModule,analog_em,Analog EM,Offers generic E&M signaling for any type of card supported by FreeTDM.,))
-$(eval $(call Package/$(PKG_NAME)/FTModule,libpri,LibPRI,Offers support for PRI lines using the open source libpri stack for any\ntype of card supported by FreeTDM. Supports both PRI and BRI signalling.,+libpri @!aarch64))
-$(eval $(call Package/$(PKG_NAME)/FTModule,pritap,PRI tapping,This module is used to tap PRI lines.,+$(PKG_NAME)-ftmod-libpri))
-$(eval $(call Package/$(PKG_NAME)/FTModule,skel,Skeleton,ftmod_skel is an example module.,))
-$(eval $(call Package/$(PKG_NAME)/FTModule,zt,DAHDI I/O,This module supports the DAHDI interface. The DAHDI interface is used by\nseveral hardware vendors.,))
+$(eval $(call Package/$(PKG_LIBFTDM)/FTModule,analog,Analog,Offers generic FXO/FXS support for any type of card supported by FreeTDM.,))
+$(eval $(call Package/$(PKG_LIBFTDM)/FTModule,analog_em,Analog EM,Offers generic E&M signaling for any type of card supported by FreeTDM.,))
+$(eval $(call Package/$(PKG_LIBFTDM)/FTModule,libpri,LibPRI,Offers support for PRI lines using the open source libpri stack for any\ntype of card supported by FreeTDM. Supports both PRI and BRI signalling.,+libpri @!aarch64))
+$(eval $(call Package/$(PKG_LIBFTDM)/FTModule,pritap,PRI tapping,This module is used to tap PRI lines.,+$(PKG_LIBFTDM)-ftmod-libpri))
+$(eval $(call Package/$(PKG_LIBFTDM)/FTModule,skel,Skeleton,ftmod_skel is an example module.,))
+$(eval $(call Package/$(PKG_LIBFTDM)/FTModule,zt,DAHDI I/O,This module supports the DAHDI interface. The DAHDI interface is used by\nseveral hardware vendors.,))
################################
# FreeSWITCH language files
$(eval $(call Package/$(PKG_NAME)/Module,expr,Expr,This module adds expr support for expression evaluation.,))
$(eval $(call Package/$(PKG_NAME)/Module,fifo,FIFO,This module adds a first-in first-out queue system.,))
$(eval $(call Package/$(PKG_NAME)/Module,format_cdr,Multiformat CDR,A superset of mod_json_cdr and mod_xml_cdr.,))
-$(eval $(call Package/$(PKG_NAME)/Module,freetdm,FreeTDM endpoint,This module is the glue between FreeSWITCH and FreeTDM.,+$(LIBFTDM)))
+$(eval $(call Package/$(PKG_NAME)/Module,$(FTDM),FreeTDM endpoint,This module is the glue between FreeSWITCH and FreeTDM.,+$(PKG_LIBFTDM)))
$(eval $(call Package/$(PKG_NAME)/Module,fsk,FSK,This module adds frequency-shift keying support which can be used to\nsend and receive caller ID.,))
$(eval $(call Package/$(PKG_NAME)/Module,fsv,FSV,This module provides dialplan applications for recording and playing\nvideos.,))
$(eval $(call Package/$(PKG_NAME)/Module,g723_1,G.723.1 passthrough,G.723.1 codec passthrough.,))