2 # Copyright (C) 2010-2017 OpenWrt.org
3 # Copyright (C) 2010 Alfred E. Heggestad
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
15 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
16 PKG_SOURCE_URL
:=http
://www.creytiv.com
/pub
17 PKG_HASH
:=61710bd1bec406ae1faf167c5743bad8eef9ced5152a3943b94d7e1cf9597581
19 PKG_LICENSE
:=BSD-3-Clause
20 PKG_LICENSE_FILES
:=docs
/COPYING
21 PKG_MAINTAINER
:=Jiri Slachta
<jiri@slachta.eu
>
48 PKG_CONFIG_DEPENDS
:= \
49 $(patsubst %,CONFIG_PACKAGE_baresip-mod-
%,$(subst _
,-,$(baresip-mods
)))
51 include $(INCLUDE_DIR
)/package.mk
53 define Package
/$(PKG_NAME
)/config
54 source
"$(SOURCE)/Config.in"
57 define Package
/baresip
/Default
61 URL
:=http
://www.creytiv.com
64 define Package
/baresip
65 $(call Package
/baresip
/Default
)
66 TITLE
:=Portable and modular SIP User-Agent with A
/V support
67 DEPENDS
:=+libre
+librem
68 USERID
:=$(PKG_NAME
)=374:$(PKG_NAME
)=374
72 baresip-mod-alsa
:= USE_ALSA
73 baresip-mod-avcodec
:= USE_AVCODEC
74 baresip-mod-avformat
:= USE_AVFORMAT
75 baresip-mod-cons
:= USE_CONS
76 baresip-mod-evdev
:= USE_EVDEV
77 baresip-mod-g711
:= USE_G711
78 baresip-mod-g722
:= USE_G722
79 baresip-mod-g726
:= USE_G726
80 baresip-mod-opus
:= USE_OPUS
81 baresip-mod-oss
:= USE_OSS
82 baresip-mod-plc
:= USE_PLC
83 baresip-mod-portaudio
:= USE_PORTAUDIO
84 baresip-mod-pulse
:= USE_PULSE
85 baresip-mod-rtcpsummary
:= USE_RTCPSUMMARY
86 baresip-mod-sndfile
:= USE_SNDFILE
87 baresip-mod-srtp
:= USE_SRTP
88 baresip-mod-stdio
:= USE_STDIO
89 baresip-mod-vp8
:= USE_VPX
90 baresip-mod-vp9
:= USE_VPX
91 baresip-mod-v4l2
:= USE_V4L2
93 BARESIP_MOD_OPTIONS
:= \
95 EXTRA_MODULES
="dtmfio" \
96 $(foreach m
,$(baresip-mods
),$(baresip-mod-
$(m
))=$(if
$(CONFIG_PACKAGE_baresip-mod-
$(subst _
,-,$(m
))),1))
99 CROSS_COMPILE
="$(TARGET_CROSS)" \
100 EXTRA_LFLAGS
="$(TARGET_LDFLAGS)" \
102 LIBRE_MK
="$(STAGING_DIR)/usr/share/re/re.mk" \
103 LIBRE_INC
="$(STAGING_DIR)/usr/include/re" \
104 LIBRE_SO
="$(STAGING_DIR)/usr/lib" \
105 LIBREM_PATH
="$(STAGING_DIR)/usr" \
108 SYSROOT
="$(shell $(FIND) $(TOOLCHAIN_DIR) -path '*/include/pthread.h' | sed -ne '1s|/include/pthread.h||p')" \
109 SYSROOT_ALT
="$(STAGING_DIR)/usr" \
110 $(BARESIP_MOD_OPTIONS
)
112 TARGET_CFLAGS
+=-D_GNU_SOURCE
114 define Package
/baresip
/install
115 $(INSTALL_DIR
) $(1)/usr
/bin
116 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/baresip
$(1)/usr
/bin
117 $(INSTALL_DIR
) $(1)/usr
/lib
/baresip
/modules
119 $(PKG_INSTALL_DIR
)/usr
/lib
/baresip
/modules
/{account
,auloop
,contact
,ice
,menu
,stun
,turn
}.so \
120 $(1)/usr
/lib
/baresip
/modules
121 $(INSTALL_DIR
) $(1)/usr
/share
/baresip
122 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/baresip
/* $(1)/usr
/share
/baresip
123 $(INSTALL_DIR
) $(1)/etc
/baresip
124 $(SED
) '/^#/!s/^/#/' $(PKG_BUILD_DIR
)/docs
/examples
/accounts
125 $(SED
) '/^#module_path/s|^#||;s|/local||' $(PKG_BUILD_DIR
)/docs
/examples
/config
126 $(INSTALL_CONF
) $(PKG_BUILD_DIR
)/docs
/examples
/{accounts
,config
,contacts
} $(1)/etc
/baresip
127 $(INSTALL_DIR
) $(1)/etc
/default
128 $(INSTALL_CONF
) .
/files
/baresip.default
$(1)/etc
/default
/baresip
129 $(INSTALL_DIR
) $(1)/etc
/init.d
130 $(INSTALL_BIN
) .
/files
/baresip.init
$(1)/etc
/init.d
/baresip
133 define Package
/baresip
/conffiles
134 /etc
/baresip
/accounts
136 /etc
/baresip
/contacts
141 define Package
/baresip
/postinst
143 if
[ -z
"$${IPKG_INSTROOT}" ]; then
144 chown
$(PKG_NAME
):$(PKG_NAME
) \
145 /etc
/baresip
/accounts \
146 /etc
/baresip
/config \
147 /etc
/baresip
/contacts
162 define Package
/baresip-mod-
$(subst _
,-,$(1))
163 $$(call Package
/baresip
/Default
)
165 DEPENDS
:=baresip
$(patsubst +%,+PACKAGE_
$(PKG_NAME
)-mod-
$(subst _
,-,$(1)):%,$(4))
168 define Package
/baresip-mod-
$(subst _
,-,$(1))/install
169 [ -z
"$(3)" ] ||
$(INSTALL_DIR
) $$(1)/usr
/lib
/baresip
/modules
172 $(PKG_INSTALL_DIR
)/usr
/lib
/baresip
/modules
/$$$$$$$${f}.so \
173 $$(1)/usr
/lib
/baresip
/modules
; \
177 $$(eval
$$(call BuildPackage
,baresip-mod-
$(subst _
,-,$(1))))
180 $(eval
$(call BuildPackage
,baresip
))
182 $(eval
$(call BuildPlugin
,alsa
,ALSA audio driver
,alsa
,+alsa-lib
))
183 $(eval
$(call BuildPlugin
,aubridge
,Audio bridge module
,aubridge
,))
184 $(eval
$(call BuildPlugin
,aufile
,Audio module for using a WAV-file
as audio input
,aufile
,))
185 $(eval
$(call BuildPlugin
,avcodec
,Video codec using FFmpeg
,avcodec
,@BARESIP_WITH_FFMPEG
+libffmpeg-full
))
186 $(eval
$(call BuildPlugin
,avformat
,Video source using FFmpeg
,avformat
,baresip-mod-avcodec
))
187 $(eval
$(call BuildPlugin
,b2bua
,Back-to-Back User-Agent module
,b2bua
,))
188 $(eval
$(call BuildPlugin
,cons
,UDP
/TCP console UI driver
,cons
,))
189 $(eval
$(call BuildPlugin
,ctrl_tcp
,TCP control interface
,ctrl_tcp
,))
190 $(eval
$(call BuildPlugin
,debug_cmd
,Debug commands
,debug_cmd
,))
191 $(eval
$(call BuildPlugin
,dtls_srtp
,DTLS-SRTP end-to-end encryption
,dtls_srtp
,))
192 $(eval
$(call BuildPlugin
,dtmfio
,DTMF input
/output
,dtmfio
,))
193 $(eval
$(call BuildPlugin
,echo
,Echo server module
,echo
,))
194 $(eval
$(call BuildPlugin
,evdev
,Linux input driver
,evdev
,))
195 $(eval
$(call BuildPlugin
,fakevideo
,Fake video input
/output driver
,fakevideo
,))
196 $(eval
$(call BuildPlugin
,g711
,G
.711 audio codec
,g711
,))
197 $(eval
$(call BuildPlugin
,g722
,G
.722 audio codec
,g722
,+libspandsp
))
198 $(eval
$(call BuildPlugin
,g726
,G
.726 audio codec
,g726
,+libspandsp
))
199 $(eval
$(call BuildPlugin
,httpd
,HTTP webserver UI-module
,httpd
,))
200 $(eval
$(call BuildPlugin
,mwi
,Message Waiting Indication
,mwi
,))
201 $(eval
$(call BuildPlugin
,natpmp
,NAT Port Mapping Protocol module
,natpmp
,))
202 $(eval
$(call BuildPlugin
,opus
,OPUS Interactive audio codec
,opus
,+libopus
))
203 $(eval
$(call BuildPlugin
,oss
,OSS audio driver
,oss
,))
204 $(eval
$(call BuildPlugin
,plc
,Packet Loss Concealment
,plc
,+libspandsp
))
205 $(eval
$(call BuildPlugin
,portaudio
,Portaudio audio driver
,portaudio
,+portaudio
))
206 $(eval
$(call BuildPlugin
,presence
,Presence module
,presence
,))
207 $(eval
$(call BuildPlugin
,pulse
,Pulseaudio audio driver
,pulse
,PACKAGE_
$(PKG_NAME
)-mod-pulse
:pulseaudio
))
208 $(eval
$(call BuildPlugin
,rtcpsummary
,RTCP summary module
,rtcpsummary
,))
209 $(eval
$(call BuildPlugin
,selfview
,Video selfview module
,selfview
,))
210 $(eval
$(call BuildPlugin
,sndfile
,Audio dumper using libsndfile
,sndfile
,+libsndfile
))
211 $(eval
$(call BuildPlugin
,srtp
,Secure RTP module using libre
,srtp
,))
212 $(eval
$(call BuildPlugin
,stdio
,Standard input
/output UI driver
,stdio
,))
213 $(eval
$(call BuildPlugin
,uuid
,UUID generator and loader
,uuid
,))
214 $(eval
$(call BuildPlugin
,v4l2
,Video4Linux2 video source
,v4l2
,+libv4l
))
215 $(eval
$(call BuildPlugin
,v4l2_codec
,Video4Linux2 video codec module
,v4l2_codec
,))
216 $(eval
$(call BuildPlugin
,vidbridge
,Video bridge module
,vidbridge
,))
217 $(eval
$(call BuildPlugin
,vidloop
,Video-loop
test module
,vidloop
,))
218 $(eval
$(call BuildPlugin
,vumeter
,Display audio levels in console
,vumeter
,))
219 $(eval
$(call BuildPlugin
,vp8
,VP8 video codec
,vp8
,+libvpx
))
220 $(eval
$(call BuildPlugin
,vp9
,VP9 video codec
,vp9
,+libvpx
))