baresip: add symbol to prevent FFmpeg dependency by default 226/head
authorSebastian Kemper <sebastian_ml@gmx.net>
Wed, 13 Dec 2017 18:37:11 +0000 (19:37 +0100)
committerSebastian Kemper <sebastian_ml@gmx.net>
Wed, 13 Dec 2017 18:37:13 +0000 (19:37 +0100)
Currently baresip often fails to build because the FFmpeg compile was
not successful:

  CC [M]  build-mipsel/modules/avcodec/avcodec.o
modules/avcodec/avcodec.c:9:32: fatal error: libavcodec/avcodec.h: No such file or directory
compilation terminated.

Address this by adding a configuration symbol that prevents the
FFmpeg-depending modules from being selected by default, except on i386
and x86_64.

It is better having baresip packages without these video modules than
not having baresip packages at all.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
net/baresip/Config.in [new file with mode: 0644]
net/baresip/Makefile

diff --git a/net/baresip/Config.in b/net/baresip/Config.in
new file mode 100644 (file)
index 0000000..cb1c606
--- /dev/null
@@ -0,0 +1,16 @@
+menu "bareSIP configuration"
+       depends on PACKAGE_baresip
+
+config BARESIP_WITH_FFMPEG
+       bool "Compile with FFmpeg support"
+       default y if (i386||x86_64)
+       help
+         The sole purpose of this symbol is to prevent that the bareSIP
+         video modules, the ones which depend on FFmpeg, are built by
+         default. The reason is that FFmpeg often fails to compile for
+         some targets, causing the bareSIP compile to fail as well.
+
+         If you want the modules which depend on FFmpeg to become
+         available, select 'y'.
+
+endmenu
index 65d199b1036e71d54e66b31af10b73f1a3f15189..958f12471edd88b0d9bc7bbb9b457a35227b01ea 100644 (file)
@@ -50,6 +50,10 @@ PKG_CONFIG_DEPENDS:= \
 
 include $(INCLUDE_DIR)/package.mk
 
+define Package/$(PKG_NAME)/config
+       source "$(SOURCE)/Config.in"
+endef
+
 define Package/baresip/Default
   SECTION:=net
   CATEGORY:=Network
@@ -151,8 +155,8 @@ $(eval $(call BuildPackage,baresip))
 $(eval $(call BuildPlugin,alsa,ALSA audio driver,alsa,+alsa-lib))
 $(eval $(call BuildPlugin,aubridge,Audio bridge module,aubridge,))
 $(eval $(call BuildPlugin,aufile,Audio module for using a WAV-file as audio input,aufile,))
-$(eval $(call BuildPlugin,avcodec,Video codec using FFmpeg,avcodec,+libffmpeg-full +libx264))
-$(eval $(call BuildPlugin,avformat,Video source using FFmpeg,avformat,+libffmpeg-full))
+$(eval $(call BuildPlugin,avcodec,Video codec using FFmpeg,avcodec,@BARESIP_WITH_FFMPEG +libffmpeg-full +libx264))
+$(eval $(call BuildPlugin,avformat,Video source using FFmpeg,avformat,@BARESIP_WITH_FFMPEG +libffmpeg-full))
 $(eval $(call BuildPlugin,cons,UDP/TCP console UI driver,cons,))
 $(eval $(call BuildPlugin,debug_cmd,Debug commands,debug_cmd,))
 $(eval $(call BuildPlugin,dtls_srtp,DTLS-SRTP end-to-end encryption,dtls_srtp,))