asterisk-chan-dongle: add PKG_MIRROR_HASH
[feed/telephony.git] / net / asterisk-chan-dongle / Makefile
1 #
2 # Copyright (C) 2017 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=asterisk-chan-dongle
11 PKG_VERSION:=1.1-20170913
12 PKG_RELEASE:=2
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
15 PKG_SOURCE_URL:=https://github.com/wdoekes/asterisk-chan-dongle.git
16 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
17 PKG_SOURCE_VERSION:=4ef5ad7eea7245a031101875be08b924aa1e151b
18 PKG_MIRROR_HASH:=cbff4a4d9e78cc5ef91bd00d8e68cbe5f6e131dc568395085780c87d05a6cb1c
19 PKG_SOURCE_PROTO:=git
20
21 PKG_FIXUP:=autoreconf
22
23 PKG_LICENSE:=GPL-2.0
24 PKG_LICENSE_FILES:=COPYRIGHT.txt LICENSE.txt
25 PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
26
27 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
28
29 include $(INCLUDE_DIR)/package.mk
30
31 define Package/asterisk-chan-dongle/Default
32 SUBMENU:=Telephony
33 SECTION:=net
34 CATEGORY:=Network
35 URL:=https://github.com/wdoekes/asterisk-chan-dongle
36 DEPENDS:=+USE_UCLIBC:libiconv-full +kmod-usb-acm +kmod-usb-serial +kmod-usb-serial-option +libusb-1.0 +usb-modeswitch
37 TITLE:=Huawei UMTS 3G dongle support
38 endef
39
40 define Package/asterisk13-chan-dongle
41 $(call Package/asterisk-chan-dongle/Default)
42 DEPENDS+=asterisk13
43 VARIANT:=asterisk13
44 endef
45
46 define Package/asterisk15-chan-dongle
47 $(call Package/asterisk-chan-dongle/Default)
48 DEPENDS+=asterisk15
49 VARIANT:=asterisk15
50 endef
51
52 define Package/description/Default
53 Asterisk channel driver for Huawei UMTS 3G dongle.
54 endef
55
56 Package/asterisk13-chan-dongle/description = $(Package/description/Default)
57 Package/asterisk15-chan-dongle/description = $(Package/description/Default)
58
59 ifeq ($(BUILD_VARIANT),asterisk13)
60 CHAN_DONGLE_AST_HEADERS:=$(STAGING_DIR)/usr/include/asterisk-13/include
61 CONFIGURE_ARGS+= \
62 --with-astversion=13
63 endif
64
65 ifeq ($(BUILD_VARIANT),asterisk15)
66 CHAN_DONGLE_AST_HEADERS:=$(STAGING_DIR)/usr/include/asterisk-15/include
67 CONFIGURE_ARGS+= \
68 --with-astversion=15
69 endif
70
71 CONFIGURE_ARGS+= \
72 --with-asterisk=$(CHAN_DONGLE_AST_HEADERS)
73
74 TARGET_CFLAGS+= \
75 -I$(CHAN_DONGLE_AST_HEADERS)
76
77 # musl and glibc include their own iconv, but uclibc does not
78 ifneq ($(CONFIG_USE_UCLIBC),)
79 TARGET_CPPFLAGS+= \
80 -I$(STAGING_DIR)/usr/lib/libiconv-full/include
81 endif
82
83 # -DAST_MODULE_SELF_SYM=__internal_chan_dongle_self to fix Asterisk 14
84 # compile issues
85 CHAN_DONGLE_EXTRA_CFLAGS:= \
86 -Wno-old-style-declaration \
87 -I$(PKG_BUILD_DIR) \
88 -DAST_MODULE_SELF_SYM=__internal_chan_dongle_self \
89 $(TARGET_CPPFLAGS) \
90 -D_GNU_SOURCE \
91 -DHAVE_CONFIG_H \
92 $(FPIC)
93
94 MAKE_ARGS:= \
95 CC="$(TARGET_CC)" \
96 LD="$(TARGET_CC)" \
97 CFLAGS="$(TARGET_CFLAGS) $(CHAN_DONGLE_EXTRA_CFLAGS)" \
98 LDFLAGS="$(TARGET_LDFLAGS) $(if $(CONFIG_USE_UCLIBC),-L$(STAGING_DIR)/usr/lib/libiconv-full/lib -liconv)"
99
100 # $CHAN_DONGLE_ICONV_INC used by 200-fix-iconv-detection.patch
101 CONFIGURE_VARS += \
102 CHAN_DONGLE_ICONV_INC="$(TOOLCHAIN_DIR)/include $(STAGING_DIR)/usr/lib/libiconv-full/include" \
103 ac_cv_type_size_t=yes \
104 ac_cv_type_ssize_t=yes
105
106 define Build/Compile
107 $(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" $(MAKE_ARGS)
108 endef
109
110 define Package/conffiles/Default
111 /etc/asterisk/dongle.conf
112 endef
113
114 Package/asterisk13-chan-dongle/conffiles = $(Package/conffiles/Default)
115 Package/asterisk15-chan-dongle/conffiles = $(Package/conffiles/Default)
116
117 define Package/Install/Default
118 $(INSTALL_DIR) $(1)/etc/asterisk
119 $(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/dongle.conf $(1)/etc/asterisk
120 $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
121 $(INSTALL_BIN) $(PKG_BUILD_DIR)/chan_dongle.so $(1)/usr/lib/asterisk/modules
122 endef
123
124 Package/asterisk13-chan-dongle/install = $(Package/Install/Default)
125 Package/asterisk15-chan-dongle/install = $(Package/Install/Default)
126
127 $(eval $(call BuildPackage,asterisk13-chan-dongle))
128 $(eval $(call BuildPackage,asterisk15-chan-dongle))